diff --git a/dist/melonjs.mjs/_virtual/_commonjsHelpers.js b/dist/melonjs.mjs/_virtual/_commonjsHelpers.js index 475f1c271f..20a09d77b5 100644 --- a/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +++ b/dist/melonjs.mjs/_virtual/_commonjsHelpers.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/_virtual/earcut.js b/dist/melonjs.mjs/_virtual/earcut.js index 847aa6c215..9700f7e7e8 100644 --- a/dist/melonjs.mjs/_virtual/earcut.js +++ b/dist/melonjs.mjs/_virtual/earcut.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/_virtual/howler.js b/dist/melonjs.mjs/_virtual/howler.js index c5be4bd8d7..27234c0344 100644 --- a/dist/melonjs.mjs/_virtual/howler.js +++ b/dist/melonjs.mjs/_virtual/howler.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/_virtual/index.js b/dist/melonjs.mjs/_virtual/index.js index 30a2654210..94530c9d1f 100644 --- a/dist/melonjs.mjs/_virtual/index.js +++ b/dist/melonjs.mjs/_virtual/index.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/_virtual/re.js b/dist/melonjs.mjs/_virtual/re.js new file mode 100644 index 0000000000..281236ed24 --- /dev/null +++ b/dist/melonjs.mjs/_virtual/re.js @@ -0,0 +1,10 @@ +/*! + * melonJS Game Engine - v16.1.2 + * http://www.melonjs.org + * melonjs is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license + * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd) + */ +var re = {exports: {}}; + +export { re as __module }; diff --git a/dist/melonjs.mjs/application/application.js b/dist/melonjs.mjs/application/application.js index 963e2094a5..9e0204b224 100644 --- a/dist/melonjs.mjs/application/application.js +++ b/dist/melonjs.mjs/application/application.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/application/header.js b/dist/melonjs.mjs/application/header.js index c8753b1175..ba35b99cf9 100644 --- a/dist/melonjs.mjs/application/header.js +++ b/dist/melonjs.mjs/application/header.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/application/resize.js b/dist/melonjs.mjs/application/resize.js index 32ff8ce06d..3ed4abf46a 100644 --- a/dist/melonjs.mjs/application/resize.js +++ b/dist/melonjs.mjs/application/resize.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/application/settings.js b/dist/melonjs.mjs/application/settings.js index 197fda2453..61ffe8e3d1 100644 --- a/dist/melonjs.mjs/application/settings.js +++ b/dist/melonjs.mjs/application/settings.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/audio/audio.js b/dist/melonjs.mjs/audio/audio.js index 316e379595..972ebb08be 100644 --- a/dist/melonjs.mjs/audio/audio.js +++ b/dist/melonjs.mjs/audio/audio.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/camera/camera2d.js b/dist/melonjs.mjs/camera/camera2d.js index 025ece5e6f..2eca47b019 100644 --- a/dist/melonjs.mjs/camera/camera2d.js +++ b/dist/melonjs.mjs/camera/camera2d.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/const.js b/dist/melonjs.mjs/const.js index e58d389da7..efe8b61fc5 100644 --- a/dist/melonjs.mjs/const.js +++ b/dist/melonjs.mjs/const.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/ellipse.js b/dist/melonjs.mjs/geometries/ellipse.js index 85e5651eae..2308386181 100644 --- a/dist/melonjs.mjs/geometries/ellipse.js +++ b/dist/melonjs.mjs/geometries/ellipse.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/line.js b/dist/melonjs.mjs/geometries/line.js index b25c32b44c..4cbd13bb95 100644 --- a/dist/melonjs.mjs/geometries/line.js +++ b/dist/melonjs.mjs/geometries/line.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/path2d.js b/dist/melonjs.mjs/geometries/path2d.js index 1d493301e2..2dec6c60fd 100644 --- a/dist/melonjs.mjs/geometries/path2d.js +++ b/dist/melonjs.mjs/geometries/path2d.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/point.js b/dist/melonjs.mjs/geometries/point.js index 0a601a1e7e..a5bf61e61a 100644 --- a/dist/melonjs.mjs/geometries/point.js +++ b/dist/melonjs.mjs/geometries/point.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/poly.js b/dist/melonjs.mjs/geometries/poly.js index ecc8c8ccea..3efba2bea9 100644 --- a/dist/melonjs.mjs/geometries/poly.js +++ b/dist/melonjs.mjs/geometries/poly.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/rectangle.js b/dist/melonjs.mjs/geometries/rectangle.js index ef5c1f9a60..fb26506b44 100644 --- a/dist/melonjs.mjs/geometries/rectangle.js +++ b/dist/melonjs.mjs/geometries/rectangle.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/roundrect.js b/dist/melonjs.mjs/geometries/roundrect.js index 9168b67ff4..0c1ca10f56 100644 --- a/dist/melonjs.mjs/geometries/roundrect.js +++ b/dist/melonjs.mjs/geometries/roundrect.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/geometries/toarccanvas.js b/dist/melonjs.mjs/geometries/toarccanvas.js index a8463a443a..02c6879b2d 100644 --- a/dist/melonjs.mjs/geometries/toarccanvas.js +++ b/dist/melonjs.mjs/geometries/toarccanvas.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/index.js b/dist/melonjs.mjs/index.js index c214c4b863..9221bb1ea0 100644 --- a/dist/melonjs.mjs/index.js +++ b/dist/melonjs.mjs/index.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -112,7 +112,7 @@ import { initKeyboardEvent } from './input/keyboard.js'; * @name version * @type {string} */ -const version = "16.1.1"; +const version = "16.1.2"; /** * a flag indicating that melonJS is fully initialized diff --git a/dist/melonjs.mjs/input/gamepad.js b/dist/melonjs.mjs/input/gamepad.js index 3fe56e848f..bac70943c7 100644 --- a/dist/melonjs.mjs/input/gamepad.js +++ b/dist/melonjs.mjs/input/gamepad.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/input/input.js b/dist/melonjs.mjs/input/input.js index 46b2cf7eb8..923481a3ce 100644 --- a/dist/melonjs.mjs/input/input.js +++ b/dist/melonjs.mjs/input/input.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/input/keyboard.js b/dist/melonjs.mjs/input/keyboard.js index 044abcab58..8e2cb1114f 100644 --- a/dist/melonjs.mjs/input/keyboard.js +++ b/dist/melonjs.mjs/input/keyboard.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/input/pointer.js b/dist/melonjs.mjs/input/pointer.js index cddbca4bb9..21eaa201df 100644 --- a/dist/melonjs.mjs/input/pointer.js +++ b/dist/melonjs.mjs/input/pointer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/input/pointerevent.js b/dist/melonjs.mjs/input/pointerevent.js index 89ffd1fa16..5396108ed5 100644 --- a/dist/melonjs.mjs/input/pointerevent.js +++ b/dist/melonjs.mjs/input/pointerevent.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/lang/console.js b/dist/melonjs.mjs/lang/console.js index 6043353322..d9985ab875 100644 --- a/dist/melonjs.mjs/lang/console.js +++ b/dist/melonjs.mjs/lang/console.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/lang/deprecated.js b/dist/melonjs.mjs/lang/deprecated.js index ccbeba110e..7b5a764a3d 100644 --- a/dist/melonjs.mjs/lang/deprecated.js +++ b/dist/melonjs.mjs/lang/deprecated.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/level.js b/dist/melonjs.mjs/level/level.js index 8f873926ba..00704c1057 100644 --- a/dist/melonjs.mjs/level/level.js +++ b/dist/melonjs.mjs/level/level.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXGroup.js b/dist/melonjs.mjs/level/tiled/TMXGroup.js index 8f3f0ea60c..64cfbcf337 100644 --- a/dist/melonjs.mjs/level/tiled/TMXGroup.js +++ b/dist/melonjs.mjs/level/tiled/TMXGroup.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXLayer.js b/dist/melonjs.mjs/level/tiled/TMXLayer.js index 921dce83c0..4105a83294 100644 --- a/dist/melonjs.mjs/level/tiled/TMXLayer.js +++ b/dist/melonjs.mjs/level/tiled/TMXLayer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXObject.js b/dist/melonjs.mjs/level/tiled/TMXObject.js index 4fb590cca1..a30dde4210 100644 --- a/dist/melonjs.mjs/level/tiled/TMXObject.js +++ b/dist/melonjs.mjs/level/tiled/TMXObject.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXTile.js b/dist/melonjs.mjs/level/tiled/TMXTile.js index d8ac1a150b..a2fde7fada 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTile.js +++ b/dist/melonjs.mjs/level/tiled/TMXTile.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXTileMap.js b/dist/melonjs.mjs/level/tiled/TMXTileMap.js index 3059ce95ce..3863dff243 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTileMap.js +++ b/dist/melonjs.mjs/level/tiled/TMXTileMap.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXTileset.js b/dist/melonjs.mjs/level/tiled/TMXTileset.js index 8ed4e3d6c8..3129fc6936 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTileset.js +++ b/dist/melonjs.mjs/level/tiled/TMXTileset.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js b/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js index fc9c3c2ada..cfbad387c6 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +++ b/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/TMXUtils.js b/dist/melonjs.mjs/level/tiled/TMXUtils.js index 890b681295..410884babe 100644 --- a/dist/melonjs.mjs/level/tiled/TMXUtils.js +++ b/dist/melonjs.mjs/level/tiled/TMXUtils.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/constants.js b/dist/melonjs.mjs/level/tiled/constants.js index d755fd0da7..bf7b038cd1 100644 --- a/dist/melonjs.mjs/level/tiled/constants.js +++ b/dist/melonjs.mjs/level/tiled/constants.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js b/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js index 9d3c97ac48..7504a5abde 100644 --- a/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +++ b/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js b/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js index 8621b8df79..68cab54f75 100644 --- a/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +++ b/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js b/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js index 1cf0b7858c..96ee2040c2 100644 --- a/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +++ b/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js b/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js index 3b1b8f5dca..75c5d220bb 100644 --- a/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +++ b/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js b/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js index 4180225df0..647f1e3d30 100644 --- a/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +++ b/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/level/tiled/renderer/autodetect.js b/dist/melonjs.mjs/level/tiled/renderer/autodetect.js index 4f8413e2fb..77cea84e2c 100644 --- a/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +++ b/dist/melonjs.mjs/level/tiled/renderer/autodetect.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/cache.js b/dist/melonjs.mjs/loader/cache.js index 802bf4e444..6589ae1872 100644 --- a/dist/melonjs.mjs/loader/cache.js +++ b/dist/melonjs.mjs/loader/cache.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/loader.js b/dist/melonjs.mjs/loader/loader.js index 84791489ce..44517508c4 100644 --- a/dist/melonjs.mjs/loader/loader.js +++ b/dist/melonjs.mjs/loader/loader.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/loadingscreen.js b/dist/melonjs.mjs/loader/loadingscreen.js index 349ab1bb0f..928539753d 100644 --- a/dist/melonjs.mjs/loader/loadingscreen.js +++ b/dist/melonjs.mjs/loader/loadingscreen.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/melonjs_logo.png.js b/dist/melonjs.mjs/loader/melonjs_logo.png.js index a1f45aa5b6..eea6b501b6 100644 --- a/dist/melonjs.mjs/loader/melonjs_logo.png.js +++ b/dist/melonjs.mjs/loader/melonjs_logo.png.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/binary.js b/dist/melonjs.mjs/loader/parsers/binary.js index b4fdf87010..0abf46dcb9 100644 --- a/dist/melonjs.mjs/loader/parsers/binary.js +++ b/dist/melonjs.mjs/loader/parsers/binary.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/fetchdata.js b/dist/melonjs.mjs/loader/parsers/fetchdata.js index 2cc9118b16..5888c34305 100644 --- a/dist/melonjs.mjs/loader/parsers/fetchdata.js +++ b/dist/melonjs.mjs/loader/parsers/fetchdata.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/fontface.js b/dist/melonjs.mjs/loader/parsers/fontface.js index 6d3457279b..6455669f40 100644 --- a/dist/melonjs.mjs/loader/parsers/fontface.js +++ b/dist/melonjs.mjs/loader/parsers/fontface.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/image.js b/dist/melonjs.mjs/loader/parsers/image.js index 9721e708ff..b2c9d1cf76 100644 --- a/dist/melonjs.mjs/loader/parsers/image.js +++ b/dist/melonjs.mjs/loader/parsers/image.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/json.js b/dist/melonjs.mjs/loader/parsers/json.js index 0066eaf6f1..f2f5c97562 100644 --- a/dist/melonjs.mjs/loader/parsers/json.js +++ b/dist/melonjs.mjs/loader/parsers/json.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/script.js b/dist/melonjs.mjs/loader/parsers/script.js index e4e4b08dab..17a7ace14e 100644 --- a/dist/melonjs.mjs/loader/parsers/script.js +++ b/dist/melonjs.mjs/loader/parsers/script.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/tmx.js b/dist/melonjs.mjs/loader/parsers/tmx.js index f6e36334b0..53764131f4 100644 --- a/dist/melonjs.mjs/loader/parsers/tmx.js +++ b/dist/melonjs.mjs/loader/parsers/tmx.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/parsers/video.js b/dist/melonjs.mjs/loader/parsers/video.js index 47bcfb8f16..f8c3cbb496 100644 --- a/dist/melonjs.mjs/loader/parsers/video.js +++ b/dist/melonjs.mjs/loader/parsers/video.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/loader/settings.js b/dist/melonjs.mjs/loader/settings.js index eb8767edf1..0748dd0622 100644 --- a/dist/melonjs.mjs/loader/settings.js +++ b/dist/melonjs.mjs/loader/settings.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/color.js b/dist/melonjs.mjs/math/color.js index 818725ae88..83bb155359 100644 --- a/dist/melonjs.mjs/math/color.js +++ b/dist/melonjs.mjs/math/color.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/math.js b/dist/melonjs.mjs/math/math.js index 68f0230ce0..2a7361fe86 100644 --- a/dist/melonjs.mjs/math/math.js +++ b/dist/melonjs.mjs/math/math.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/matrix2.js b/dist/melonjs.mjs/math/matrix2.js index 57fdaa1975..be4c50a828 100644 --- a/dist/melonjs.mjs/math/matrix2.js +++ b/dist/melonjs.mjs/math/matrix2.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/matrix3.js b/dist/melonjs.mjs/math/matrix3.js index d97eec76db..acbc662201 100644 --- a/dist/melonjs.mjs/math/matrix3.js +++ b/dist/melonjs.mjs/math/matrix3.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/observable_vector2.js b/dist/melonjs.mjs/math/observable_vector2.js index 09f867f7d0..4c5b961561 100644 --- a/dist/melonjs.mjs/math/observable_vector2.js +++ b/dist/melonjs.mjs/math/observable_vector2.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/observable_vector3.js b/dist/melonjs.mjs/math/observable_vector3.js index 4533d70301..632618a52d 100644 --- a/dist/melonjs.mjs/math/observable_vector3.js +++ b/dist/melonjs.mjs/math/observable_vector3.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/vector2.js b/dist/melonjs.mjs/math/vector2.js index c372d94088..5ab0f799d9 100644 --- a/dist/melonjs.mjs/math/vector2.js +++ b/dist/melonjs.mjs/math/vector2.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/math/vector3.js b/dist/melonjs.mjs/math/vector3.js index caa64e6e15..7aaa0cc497 100644 --- a/dist/melonjs.mjs/math/vector3.js +++ b/dist/melonjs.mjs/math/vector3.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/particles/emitter.js b/dist/melonjs.mjs/particles/emitter.js index 5255eec5e7..a9c01418f1 100644 --- a/dist/melonjs.mjs/particles/emitter.js +++ b/dist/melonjs.mjs/particles/emitter.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/particles/particle.js b/dist/melonjs.mjs/particles/particle.js index 8f6bf6ff67..76d7c2ae2d 100644 --- a/dist/melonjs.mjs/particles/particle.js +++ b/dist/melonjs.mjs/particles/particle.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/particles/settings.js b/dist/melonjs.mjs/particles/settings.js index 2a04c5c4d8..59d10e7f90 100644 --- a/dist/melonjs.mjs/particles/settings.js +++ b/dist/melonjs.mjs/particles/settings.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/body.js b/dist/melonjs.mjs/physics/body.js index 212230f70e..036fbbe9ff 100644 --- a/dist/melonjs.mjs/physics/body.js +++ b/dist/melonjs.mjs/physics/body.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/bounds.js b/dist/melonjs.mjs/physics/bounds.js index 0e8300a566..9b9c3baf1e 100644 --- a/dist/melonjs.mjs/physics/bounds.js +++ b/dist/melonjs.mjs/physics/bounds.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/collision.js b/dist/melonjs.mjs/physics/collision.js index 7f5f1e2b20..3acf05a01b 100644 --- a/dist/melonjs.mjs/physics/collision.js +++ b/dist/melonjs.mjs/physics/collision.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/detector.js b/dist/melonjs.mjs/physics/detector.js index 6deb1436d2..db3a70d7ef 100644 --- a/dist/melonjs.mjs/physics/detector.js +++ b/dist/melonjs.mjs/physics/detector.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/quadtree.js b/dist/melonjs.mjs/physics/quadtree.js index ce01614e11..51a8799be4 100644 --- a/dist/melonjs.mjs/physics/quadtree.js +++ b/dist/melonjs.mjs/physics/quadtree.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/response.js b/dist/melonjs.mjs/physics/response.js index 20ef488e9c..b14bd60f66 100644 --- a/dist/melonjs.mjs/physics/response.js +++ b/dist/melonjs.mjs/physics/response.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/sat.js b/dist/melonjs.mjs/physics/sat.js index aeea364514..002fe04bea 100644 --- a/dist/melonjs.mjs/physics/sat.js +++ b/dist/melonjs.mjs/physics/sat.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/physics/world.js b/dist/melonjs.mjs/physics/world.js index 3c9ed79728..c2e404063a 100644 --- a/dist/melonjs.mjs/physics/world.js +++ b/dist/melonjs.mjs/physics/world.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/plugin/plugin.js b/dist/melonjs.mjs/plugin/plugin.js index 9cdc3d2979..f61200ec02 100644 --- a/dist/melonjs.mjs/plugin/plugin.js +++ b/dist/melonjs.mjs/plugin/plugin.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -37,9 +37,9 @@ class BasePlugin { * define the minimum required version of melonJS
* this can be overridden by the plugin * @type {string} - * @default "16.1.1" + * @default "16.1.2" */ - this.version = "16.1.1"; + this.version = "16.1.2"; /** * a reference to the app/game that registered this plugin @@ -142,7 +142,7 @@ function register(plugin, name = plugin.toString().match(/ (\w+)/)[1]) { } // compatibility testing - if (checkVersion(instance.version, version) < 0) { + if (checkVersion(instance.version, version) > 0) { throw new Error("Plugin version mismatch, expected: " + instance.version + ", got: " + version); } diff --git a/dist/melonjs.mjs/renderable/collectable.js b/dist/melonjs.mjs/renderable/collectable.js index ab6c5b161b..899dac5fee 100644 --- a/dist/melonjs.mjs/renderable/collectable.js +++ b/dist/melonjs.mjs/renderable/collectable.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/colorlayer.js b/dist/melonjs.mjs/renderable/colorlayer.js index d22ad624c1..545f6d1215 100644 --- a/dist/melonjs.mjs/renderable/colorlayer.js +++ b/dist/melonjs.mjs/renderable/colorlayer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/container.js b/dist/melonjs.mjs/renderable/container.js index fad251d1cd..daf50fb397 100644 --- a/dist/melonjs.mjs/renderable/container.js +++ b/dist/melonjs.mjs/renderable/container.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/draggable.js b/dist/melonjs.mjs/renderable/draggable.js index 62ad1b5b54..b7d4b5f448 100644 --- a/dist/melonjs.mjs/renderable/draggable.js +++ b/dist/melonjs.mjs/renderable/draggable.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/dragndrop.js b/dist/melonjs.mjs/renderable/dragndrop.js index 75ebe7aa06..3a92181ac1 100644 --- a/dist/melonjs.mjs/renderable/dragndrop.js +++ b/dist/melonjs.mjs/renderable/dragndrop.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/entity/entity.js b/dist/melonjs.mjs/renderable/entity/entity.js index a86fcdc3e7..95279ef708 100644 --- a/dist/melonjs.mjs/renderable/entity/entity.js +++ b/dist/melonjs.mjs/renderable/entity/entity.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/imagelayer.js b/dist/melonjs.mjs/renderable/imagelayer.js index d2b0477933..86c9766968 100644 --- a/dist/melonjs.mjs/renderable/imagelayer.js +++ b/dist/melonjs.mjs/renderable/imagelayer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/light2d.js b/dist/melonjs.mjs/renderable/light2d.js index 5391581712..e82317b4f0 100644 --- a/dist/melonjs.mjs/renderable/light2d.js +++ b/dist/melonjs.mjs/renderable/light2d.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -125,6 +125,15 @@ class Light2d extends Renderable { return this.visibleArea.setShape(this.getBounds().centerX, this.getBounds().centerY, this.width, this.height); } + /** + * update function + * @param {number} dt - time since the last update in milliseconds. + * @returns {boolean} true if dirty + */ + update(dt) { // eslint-disable-line no-unused-vars + return true; + } + /** * draw this Light2d (automatically called by melonJS) * @name draw diff --git a/dist/melonjs.mjs/renderable/nineslicesprite.js b/dist/melonjs.mjs/renderable/nineslicesprite.js index e9c744515d..0998658bcf 100644 --- a/dist/melonjs.mjs/renderable/nineslicesprite.js +++ b/dist/melonjs.mjs/renderable/nineslicesprite.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/renderable.js b/dist/melonjs.mjs/renderable/renderable.js index 4c94eecfb3..0989fba4b1 100644 --- a/dist/melonjs.mjs/renderable/renderable.js +++ b/dist/melonjs.mjs/renderable/renderable.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/sprite.js b/dist/melonjs.mjs/renderable/sprite.js index 846b5abfcd..120c985184 100644 --- a/dist/melonjs.mjs/renderable/sprite.js +++ b/dist/melonjs.mjs/renderable/sprite.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/text/bitmaptext.js b/dist/melonjs.mjs/renderable/text/bitmaptext.js index e90a3e8eaa..3cbe05cd6d 100644 --- a/dist/melonjs.mjs/renderable/text/bitmaptext.js +++ b/dist/melonjs.mjs/renderable/text/bitmaptext.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/text/bitmaptextdata.js b/dist/melonjs.mjs/renderable/text/bitmaptextdata.js index 6d60d220d2..a65078c3f6 100644 --- a/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +++ b/dist/melonjs.mjs/renderable/text/bitmaptextdata.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/text/glyph.js b/dist/melonjs.mjs/renderable/text/glyph.js index b78e9bdbc8..0f21b1368d 100644 --- a/dist/melonjs.mjs/renderable/text/glyph.js +++ b/dist/melonjs.mjs/renderable/text/glyph.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/text/text.js b/dist/melonjs.mjs/renderable/text/text.js index 61d3e0a240..45cee83eb1 100644 --- a/dist/melonjs.mjs/renderable/text/text.js +++ b/dist/melonjs.mjs/renderable/text/text.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/text/textmetrics.js b/dist/melonjs.mjs/renderable/text/textmetrics.js index 441a71ec7e..07440dadcf 100644 --- a/dist/melonjs.mjs/renderable/text/textmetrics.js +++ b/dist/melonjs.mjs/renderable/text/textmetrics.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/text/textstyle.js b/dist/melonjs.mjs/renderable/text/textstyle.js index d863d738ae..712d842f98 100644 --- a/dist/melonjs.mjs/renderable/text/textstyle.js +++ b/dist/melonjs.mjs/renderable/text/textstyle.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/trigger.js b/dist/melonjs.mjs/renderable/trigger.js index 1d1ad1b6ca..2b107b3db9 100644 --- a/dist/melonjs.mjs/renderable/trigger.js +++ b/dist/melonjs.mjs/renderable/trigger.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/ui/uibaseelement.js b/dist/melonjs.mjs/renderable/ui/uibaseelement.js index 29291e4c40..d76ddac827 100644 --- a/dist/melonjs.mjs/renderable/ui/uibaseelement.js +++ b/dist/melonjs.mjs/renderable/ui/uibaseelement.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/ui/uispriteelement.js b/dist/melonjs.mjs/renderable/ui/uispriteelement.js index 06bc291e4c..3bf3720179 100644 --- a/dist/melonjs.mjs/renderable/ui/uispriteelement.js +++ b/dist/melonjs.mjs/renderable/ui/uispriteelement.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/renderable/ui/uitextbutton.js b/dist/melonjs.mjs/renderable/ui/uitextbutton.js index 32d68d7baa..f4519f4f48 100644 --- a/dist/melonjs.mjs/renderable/ui/uitextbutton.js +++ b/dist/melonjs.mjs/renderable/ui/uitextbutton.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/state/stage.js b/dist/melonjs.mjs/state/stage.js index 31cc0986ef..fa66d3a69f 100644 --- a/dist/melonjs.mjs/state/stage.js +++ b/dist/melonjs.mjs/state/stage.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/state/state.js b/dist/melonjs.mjs/state/state.js index 7a08acda99..2a686740d8 100644 --- a/dist/melonjs.mjs/state/state.js +++ b/dist/melonjs.mjs/state/state.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/system/device.js b/dist/melonjs.mjs/system/device.js index 0aa657b771..6ac98af227 100644 --- a/dist/melonjs.mjs/system/device.js +++ b/dist/melonjs.mjs/system/device.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/system/dom.js b/dist/melonjs.mjs/system/dom.js index 1b2fd45c95..b609719d54 100644 --- a/dist/melonjs.mjs/system/dom.js +++ b/dist/melonjs.mjs/system/dom.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/system/event.js b/dist/melonjs.mjs/system/event.js index 563cc63aaf..af74fee1ec 100644 --- a/dist/melonjs.mjs/system/event.js +++ b/dist/melonjs.mjs/system/event.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/system/platform.js b/dist/melonjs.mjs/system/platform.js index 3aa7c3e6e1..4174952819 100644 --- a/dist/melonjs.mjs/system/platform.js +++ b/dist/melonjs.mjs/system/platform.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/system/pooling.js b/dist/melonjs.mjs/system/pooling.js index cf0b60ccc7..3489012462 100644 --- a/dist/melonjs.mjs/system/pooling.js +++ b/dist/melonjs.mjs/system/pooling.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/system/save.js b/dist/melonjs.mjs/system/save.js index 9c5021293f..a0b82bf17d 100644 --- a/dist/melonjs.mjs/system/save.js +++ b/dist/melonjs.mjs/system/save.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/system/timer.js b/dist/melonjs.mjs/system/timer.js index ee679226b4..50b273949a 100644 --- a/dist/melonjs.mjs/system/timer.js +++ b/dist/melonjs.mjs/system/timer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/tweens/easing.js b/dist/melonjs.mjs/tweens/easing.js index a152a11cda..a156546891 100644 --- a/dist/melonjs.mjs/tweens/easing.js +++ b/dist/melonjs.mjs/tweens/easing.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/tweens/interpolation.js b/dist/melonjs.mjs/tweens/interpolation.js index 6820b50b5c..43279911a7 100644 --- a/dist/melonjs.mjs/tweens/interpolation.js +++ b/dist/melonjs.mjs/tweens/interpolation.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/tweens/tween.js b/dist/melonjs.mjs/tweens/tween.js index ee2309eb95..2bc6283a65 100644 --- a/dist/melonjs.mjs/tweens/tween.js +++ b/dist/melonjs.mjs/tweens/tween.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/utils/agent.js b/dist/melonjs.mjs/utils/agent.js index 7691a32ffd..4f4d6205e2 100644 --- a/dist/melonjs.mjs/utils/agent.js +++ b/dist/melonjs.mjs/utils/agent.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/utils/array.js b/dist/melonjs.mjs/utils/array.js index d481f3ec81..2a0137a09d 100644 --- a/dist/melonjs.mjs/utils/array.js +++ b/dist/melonjs.mjs/utils/array.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/utils/file.js b/dist/melonjs.mjs/utils/file.js index 33f22f6402..de2e2ee108 100644 --- a/dist/melonjs.mjs/utils/file.js +++ b/dist/melonjs.mjs/utils/file.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/utils/function.js b/dist/melonjs.mjs/utils/function.js index f79e70b661..0e2fdce45d 100644 --- a/dist/melonjs.mjs/utils/function.js +++ b/dist/melonjs.mjs/utils/function.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/utils/string.js b/dist/melonjs.mjs/utils/string.js index 2ec71c41fd..e2eeae3d77 100644 --- a/dist/melonjs.mjs/utils/string.js +++ b/dist/melonjs.mjs/utils/string.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/utils/utils.js b/dist/melonjs.mjs/utils/utils.js index c3929c46e1..977cf46631 100644 --- a/dist/melonjs.mjs/utils/utils.js +++ b/dist/melonjs.mjs/utils/utils.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -16,6 +16,7 @@ import * as file from './file.js'; export { file }; import * as _function from './function.js'; export { _function as function }; +import { s as semver } from '../node_modules/semver/index.js'; /** * a collection of utility functions @@ -31,11 +32,9 @@ let GUID_index = 0; * @public * @memberof utils * @name checkVersion - * @param {string} first - First version string to compare - * @param {string} second - second version string to compare - * @returns {number} comparison result
< 0 : first < second
- * 0 : first == second
- * > 0 : first > second + * @param {string} v1 - First version string to compare + * @param {string} v2 - second version string to compare + * @returns {number} Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater * @example * if (me.utils.checkVersion("7.0.0") > 0) { * console.error( @@ -43,19 +42,8 @@ let GUID_index = 0; * ); * } */ -function checkVersion(first, second) { - let a = first.split("."); - let b = second.split("."); - let len = Math.min(a.length, b.length); - let result = 0; - - for (let i = 0; i < len; i++) { - if ((result = +a[i] - +b[i])) { - break; - } - } - - return result ? result : a.length - b.length; +function checkVersion(v1, v2) { + return semver.compare(v1, v2); } /** diff --git a/dist/melonjs.mjs/video/canvas/canvas_renderer.js b/dist/melonjs.mjs/video/canvas/canvas_renderer.js index c7279273c7..f08afe717e 100644 --- a/dist/melonjs.mjs/video/canvas/canvas_renderer.js +++ b/dist/melonjs.mjs/video/canvas/canvas_renderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/renderer.js b/dist/melonjs.mjs/video/renderer.js index 6dc96a5378..bf607300a1 100644 --- a/dist/melonjs.mjs/video/renderer.js +++ b/dist/melonjs.mjs/video/renderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/texture/atlas.js b/dist/melonjs.mjs/video/texture/atlas.js index 721a3b3483..5180f0fcc7 100644 --- a/dist/melonjs.mjs/video/texture/atlas.js +++ b/dist/melonjs.mjs/video/texture/atlas.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/texture/cache.js b/dist/melonjs.mjs/video/texture/cache.js index a89226e612..bd69a43108 100644 --- a/dist/melonjs.mjs/video/texture/cache.js +++ b/dist/melonjs.mjs/video/texture/cache.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/texture/canvas_texture.js b/dist/melonjs.mjs/video/texture/canvas_texture.js index 1db2b58fc9..2432803b73 100644 --- a/dist/melonjs.mjs/video/texture/canvas_texture.js +++ b/dist/melonjs.mjs/video/texture/canvas_texture.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/utils/autodetect.js b/dist/melonjs.mjs/video/utils/autodetect.js index 11f6e14f91..9b582b4963 100644 --- a/dist/melonjs.mjs/video/utils/autodetect.js +++ b/dist/melonjs.mjs/video/utils/autodetect.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/video.js b/dist/melonjs.mjs/video/video.js index a79c20edf9..7907e1861a 100644 --- a/dist/melonjs.mjs/video/video.js +++ b/dist/melonjs.mjs/video/video.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/buffer/vertex.js b/dist/melonjs.mjs/video/webgl/buffer/vertex.js index 187c90b2d6..f079605a7e 100644 --- a/dist/melonjs.mjs/video/webgl/buffer/vertex.js +++ b/dist/melonjs.mjs/video/webgl/buffer/vertex.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/compositors/compositor.js b/dist/melonjs.mjs/video/webgl/compositors/compositor.js index 63ace25a0d..70c086b1ba 100644 --- a/dist/melonjs.mjs/video/webgl/compositors/compositor.js +++ b/dist/melonjs.mjs/video/webgl/compositors/compositor.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js b/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js index 1bf8ed04ab..f21ebaf383 100644 --- a/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +++ b/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js b/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js index 7c39b1c7cf..6fed7a76ef 100644 --- a/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +++ b/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/glshader.js b/dist/melonjs.mjs/video/webgl/glshader.js index a446aaba92..230ab26ae8 100644 --- a/dist/melonjs.mjs/video/webgl/glshader.js +++ b/dist/melonjs.mjs/video/webgl/glshader.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js b/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js index a3891f50a6..43123f5137 100644 --- a/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +++ b/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js b/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js index 9eb8437b90..b4baf2eca1 100644 --- a/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +++ b/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js b/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js index a5135f462d..624602a04c 100644 --- a/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +++ b/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js b/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js index 7256629a77..791b35cf12 100644 --- a/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +++ b/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/utils/attributes.js b/dist/melonjs.mjs/video/webgl/utils/attributes.js index 51c1fb9c6a..9e3c71f065 100644 --- a/dist/melonjs.mjs/video/webgl/utils/attributes.js +++ b/dist/melonjs.mjs/video/webgl/utils/attributes.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/utils/precision.js b/dist/melonjs.mjs/video/webgl/utils/precision.js index 48ff68cdb2..eadb7de980 100644 --- a/dist/melonjs.mjs/video/webgl/utils/precision.js +++ b/dist/melonjs.mjs/video/webgl/utils/precision.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/utils/program.js b/dist/melonjs.mjs/video/webgl/utils/program.js index ed5f29f191..c2c869faac 100644 --- a/dist/melonjs.mjs/video/webgl/utils/program.js +++ b/dist/melonjs.mjs/video/webgl/utils/program.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/utils/string.js b/dist/melonjs.mjs/video/webgl/utils/string.js index 8303b0b55b..45abaad5ee 100644 --- a/dist/melonjs.mjs/video/webgl/utils/string.js +++ b/dist/melonjs.mjs/video/webgl/utils/string.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/utils/uniforms.js b/dist/melonjs.mjs/video/webgl/utils/uniforms.js index 3c575a4483..8e30002eb5 100644 --- a/dist/melonjs.mjs/video/webgl/utils/uniforms.js +++ b/dist/melonjs.mjs/video/webgl/utils/uniforms.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.mjs/video/webgl/webgl_renderer.js b/dist/melonjs.mjs/video/webgl/webgl_renderer.js index 983d1fb1a8..dc867e46ee 100644 --- a/dist/melonjs.mjs/video/webgl/webgl_renderer.js +++ b/dist/melonjs.mjs/video/webgl/webgl_renderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license diff --git a/dist/melonjs.module.js b/dist/melonjs.module.js index a965d9dff6..c1a21fb462 100644 --- a/dist/melonjs.module.js +++ b/dist/melonjs.module.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v16.1.1 + * melonJS Game Engine - v16.1.2 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -277,9 +277,9 @@ var engineUserAgent$1 = /*@__PURE__*/getDefaultExportFromCjs(engineUserAgent); var global$c = global$e; var userAgent = engineUserAgent; -var process = global$c.process; +var process$1 = global$c.process; var Deno = global$c.Deno; -var versions = process && process.versions || Deno && Deno.version; +var versions = process$1 && process$1.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version$1; @@ -6608,7 +6608,7 @@ function cureLocalIntersections(start, triangles, dim) { var a = p.prev, b = p.next.next; - if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) { + if (!equals(a, b) && intersects$3(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) { triangles.push(a.i / dim | 0); triangles.push(p.i / dim | 0); @@ -6879,7 +6879,7 @@ function equals(p1, p2) { } // check if two segments intersect -function intersects(p1, q1, p2, q2) { +function intersects$3(p1, q1, p2, q2) { var o1 = sign(area(p1, q1, p2)); var o2 = sign(area(p1, q1, q2)); var o3 = sign(area(p2, q2, p1)); @@ -6909,7 +6909,7 @@ function intersectsPolygon(a, b) { var p = a; do { if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && - intersects(p, p.next, a, b)) return true; + intersects$3(p, p.next, a, b)) return true; p = p.next; } while (p !== a); @@ -20034,6 +20034,3131 @@ function preloadFontFace(data, onload, onerror) { return 1; } +var re$3 = {exports: {}}; + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0'; + +const MAX_LENGTH$1 = 256; +const MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ 9007199254740991; + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16; + +// Max safe length for a build identifier. The max length minus 6 characters for +// the shortest version with a build 0.0.0+BUILD. +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH$1 - 6; + +const RELEASE_TYPES = [ + 'major', + 'premajor', + 'minor', + 'preminor', + 'patch', + 'prepatch', + 'prerelease', +]; + +var constants$1 = { + MAX_LENGTH: MAX_LENGTH$1, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 0b001, + FLAG_LOOSE: 0b010, +}; + +var constants$2 = /*@__PURE__*/getDefaultExportFromCjs(constants$1); + +const debug$1 = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {}; + +var debug_1 = debug$1; + +var debug$2 = /*@__PURE__*/getDefaultExportFromCjs(debug_1); + +var re_1 = re$3.exports; + +(function (module, exports) { + const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, + } = constants$1; + const debug = debug_1; + exports = module.exports = {}; + + // The actual regexps go on exports.re + const re = exports.re = []; + const safeRe = exports.safeRe = []; + const src = exports.src = []; + const t = exports.t = {}; + let R = 0; + + const LETTERDASHNUMBER = '[a-zA-Z0-9-]'; + + // Replace some greedy regex tokens to prevent regex dos issues. These regex are + // used internally via the safeRe object since all inputs in this library get + // normalized first to trim and collapse all extra whitespace. The original + // regexes are exported for userland consumption and lower level usage. A + // future breaking change could export the safer regex only with a note that + // all input should have extra whitespace removed. + const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], + ]; + + const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`); + } + return value + }; + + const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value); + const index = R++; + debug(name, index, value); + t[name] = index; + src[index] = value; + re[index] = new RegExp(value, isGlobal ? 'g' : undefined); + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined); + }; + + // The following Regular Expressions can be used for tokenizing, + // validating, and parsing SemVer version strings. + + // ## Numeric Identifier + // A single `0`, or a non-zero digit followed by zero or more digits. + + createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*'); + createToken('NUMERICIDENTIFIERLOOSE', '\\d+'); + + // ## Non-numeric Identifier + // Zero or more digits, followed by a letter or hyphen, and then zero or + // more letters, digits, or hyphens. + + createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`); + + // ## Main Version + // Three dot-separated numeric identifiers. + + createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`); + + createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`); + + // ## Pre-release Version Identifier + // A numeric identifier, or a non-numeric identifier. + + createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] + }|${src[t.NONNUMERICIDENTIFIER]})`); + + createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] + }|${src[t.NONNUMERICIDENTIFIER]})`); + + // ## Pre-release Version + // Hyphen, followed by one or more dot-separated pre-release version + // identifiers. + + createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] + }(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); + + createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] + }(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); + + // ## Build Metadata Identifier + // Any combination of digits, letters, or hyphens. + + createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`); + + // ## Build Metadata + // Plus sign, followed by one or more period-separated build metadata + // identifiers. + + createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] + }(?:\\.${src[t.BUILDIDENTIFIER]})*))`); + + // ## Full Version String + // A main version, followed optionally by a pre-release version and + // build metadata. + + // Note that the only major, minor, patch, and pre-release sections of + // the version string are capturing groups. The build metadata is not a + // capturing group, because it should not ever be used in version + // comparison. + + createToken('FULLPLAIN', `v?${src[t.MAINVERSION] + }${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`); + + createToken('FULL', `^${src[t.FULLPLAIN]}$`); + + // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. + // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty + // common in the npm registry. + createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] + }${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`); + + createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`); + + createToken('GTLT', '((?:<|>)?=?)'); + + // Something like "2.*" or "1.2.x". + // Note that "x.x" is a valid xRange identifer, meaning "any version" + // Only the first item is strictly required. + createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); + createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); + + createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`); + + createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`); + + createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); + createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); + + // Coercion. + // Extract anything that could conceivably be a part of a valid semver + createToken('COERCEPLAIN', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`); + createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`); + createToken('COERCEFULL', src[t.COERCEPLAIN] + + `(?:${src[t.PRERELEASE]})?` + + `(?:${src[t.BUILD]})?` + + `(?:$|[^\\d])`); + createToken('COERCERTL', src[t.COERCE], true); + createToken('COERCERTLFULL', src[t.COERCEFULL], true); + + // Tilde ranges. + // Meaning is "reasonably at or greater than" + createToken('LONETILDE', '(?:~>?)'); + + createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true); + exports.tildeTrimReplace = '$1~'; + + createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); + createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); + + // Caret ranges. + // Meaning is "at least and backwards compatible with" + createToken('LONECARET', '(?:\\^)'); + + createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true); + exports.caretTrimReplace = '$1^'; + + createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); + createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); + + // A simple gt/lt/eq thing, or just "" to indicate "any version" + createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); + createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); + + // An expression to strip any whitespace between the gtlt and the thing + // it modifies, so that `> 1.2.3` ==> `>1.2.3` + createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] + }\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); + exports.comparatorTrimReplace = '$1$2$3'; + + // Something like `1.2.3 - 1.2.4` + // Note that these all use the loose form, because they'll be + // checked against either the strict or loose comparator form + // later. + createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`); + + createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`); + + // Star ranges basically just allow anything at all. + createToken('STAR', '(<|>)?=?\\s*\\*'); + // >=0.0.0 is like a star + createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$'); + createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$'); +} (re$3, re$3.exports)); + +var reExports = re$3.exports; +var re$2 = /*@__PURE__*/getDefaultExportFromCjs(reExports); + +// parse out just the options we care about +const looseOption = Object.freeze({ loose: true }); +const emptyOpts = Object.freeze({ }); +const parseOptions$1 = options => { + if (!options) { + return emptyOpts + } + + if (typeof options !== 'object') { + return looseOption + } + + return options +}; +var parseOptions_1 = parseOptions$1; + +var parseOptions$2 = /*@__PURE__*/getDefaultExportFromCjs(parseOptions_1); + +const numeric = /^[0-9]+$/; +const compareIdentifiers$1 = (a, b) => { + const anum = numeric.test(a); + const bnum = numeric.test(b); + + if (anum && bnum) { + a = +a; + b = +b; + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +}; + +const rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a); + +var identifiers$1 = { + compareIdentifiers: compareIdentifiers$1, + rcompareIdentifiers, +}; + +var identifiers$2 = /*@__PURE__*/getDefaultExportFromCjs(identifiers$1); + +const debug = debug_1; +const { MAX_LENGTH, MAX_SAFE_INTEGER } = constants$1; +const { safeRe: re$1, t: t$1 } = reExports; + +const parseOptions = parseOptions_1; +const { compareIdentifiers } = identifiers$1; +let SemVer$d = class SemVer { + constructor (version, options) { + options = parseOptions(options); + + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version; + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options); + this.options = options; + this.loose = !!options.loose; + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease; + + const m = version.trim().match(options.loose ? re$1[t$1.LOOSE] : re$1[t$1.FULL]); + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version; + + // these are actually numbers + this.major = +m[1]; + this.minor = +m[2]; + this.patch = +m[3]; + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = []; + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id; + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }); + } + + this.build = m[5] ? m[5].split('.') : []; + this.format(); + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}`; + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}`; + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other); + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options); + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + + return ( + compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) + ) + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0; + do { + const a = this.prerelease[i]; + const b = other.prerelease[i]; + debug('prerelease compare', i, a, b); + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + + let i = 0; + do { + const a = this.build[i]; + const b = other.build[i]; + debug('prerelease compare', i, a, b); + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier, identifierBase) { + switch (release) { + case 'premajor': + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc('pre', identifier, identifierBase); + break + case 'preminor': + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc('pre', identifier, identifierBase); + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0; + this.inc('patch', identifier, identifierBase); + this.inc('pre', identifier, identifierBase); + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier, identifierBase); + } + this.inc('pre', identifier, identifierBase); + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++; + } + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++; + } + this.patch = 0; + this.prerelease = []; + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++; + } + this.prerelease = []; + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': { + const base = Number(identifierBase) ? 1 : 0; + + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + + if (this.prerelease.length === 0) { + this.prerelease = [base]; + } else { + let i = this.prerelease.length; + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++; + i = -2; + } + } + if (i === -1) { + // didn't increment anything + if (identifier === this.prerelease.join('.') && identifierBase === false) { + throw new Error('invalid increment argument: identifier already exists') + } + this.prerelease.push(base); + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + let prerelease = [identifier, base]; + if (identifierBase === false) { + prerelease = [identifier]; + } + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { + if (isNaN(this.prerelease[1])) { + this.prerelease = prerelease; + } + } else { + this.prerelease = prerelease; + } + } + break + } + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.raw = this.format(); + if (this.build.length) { + this.raw += `+${this.build.join('.')}`; + } + return this + } +}; + +var semver$1 = SemVer$d; + +var semver$2 = /*@__PURE__*/getDefaultExportFromCjs(semver$1); + +const SemVer$c = semver$1; +const parse$7 = (version, options, throwErrors = false) => { + if (version instanceof SemVer$c) { + return version + } + try { + return new SemVer$c(version, options) + } catch (er) { + if (!throwErrors) { + return null + } + throw er + } +}; + +var parse_1 = parse$7; + +var parse$8 = /*@__PURE__*/getDefaultExportFromCjs(parse_1); + +const parse$6 = parse_1; +const valid$3 = (version, options) => { + const v = parse$6(version, options); + return v ? v.version : null +}; +var valid_1 = valid$3; + +var valid$4 = /*@__PURE__*/getDefaultExportFromCjs(valid_1); + +const parse$5 = parse_1; +const clean$1 = (version, options) => { + const s = parse$5(version.trim().replace(/^[=v]+/, ''), options); + return s ? s.version : null +}; +var clean_1 = clean$1; + +var clean$2 = /*@__PURE__*/getDefaultExportFromCjs(clean_1); + +const SemVer$b = semver$1; + +const inc$1 = (version, release, options, identifier, identifierBase) => { + if (typeof (options) === 'string') { + identifierBase = identifier; + identifier = options; + options = undefined; + } + + try { + return new SemVer$b( + version instanceof SemVer$b ? version.version : version, + options + ).inc(release, identifier, identifierBase).version + } catch (er) { + return null + } +}; +var inc_1 = inc$1; + +var inc$2 = /*@__PURE__*/getDefaultExportFromCjs(inc_1); + +const parse$4 = parse_1; + +const diff$1 = (version1, version2) => { + const v1 = parse$4(version1, null, true); + const v2 = parse$4(version2, null, true); + const comparison = v1.compare(v2); + + if (comparison === 0) { + return null + } + + const v1Higher = comparison > 0; + const highVersion = v1Higher ? v1 : v2; + const lowVersion = v1Higher ? v2 : v1; + const highHasPre = !!highVersion.prerelease.length; + const lowHasPre = !!lowVersion.prerelease.length; + + if (lowHasPre && !highHasPre) { + // Going from prerelease -> no prerelease requires some special casing + + // If the low version has only a major, then it will always be a major + // Some examples: + // 1.0.0-1 -> 1.0.0 + // 1.0.0-1 -> 1.1.1 + // 1.0.0-1 -> 2.0.0 + if (!lowVersion.patch && !lowVersion.minor) { + return 'major' + } + + // Otherwise it can be determined by checking the high version + + if (highVersion.patch) { + // anything higher than a patch bump would result in the wrong version + return 'patch' + } + + if (highVersion.minor) { + // anything higher than a minor bump would result in the wrong version + return 'minor' + } + + // bumping major/minor/patch all have same result + return 'major' + } + + // add the `pre` prefix if we are going to a prerelease version + const prefix = highHasPre ? 'pre' : ''; + + if (v1.major !== v2.major) { + return prefix + 'major' + } + + if (v1.minor !== v2.minor) { + return prefix + 'minor' + } + + if (v1.patch !== v2.patch) { + return prefix + 'patch' + } + + // high and low are preleases + return 'prerelease' +}; + +var diff_1 = diff$1; + +var diff$2 = /*@__PURE__*/getDefaultExportFromCjs(diff_1); + +const SemVer$a = semver$1; +const major$1 = (a, loose) => new SemVer$a(a, loose).major; +var major_1 = major$1; + +var major$2 = /*@__PURE__*/getDefaultExportFromCjs(major_1); + +const SemVer$9 = semver$1; +const minor$1 = (a, loose) => new SemVer$9(a, loose).minor; +var minor_1 = minor$1; + +var minor$2 = /*@__PURE__*/getDefaultExportFromCjs(minor_1); + +const SemVer$8 = semver$1; +const patch$2 = (a, loose) => new SemVer$8(a, loose).patch; +var patch_1 = patch$2; + +var patch$3 = /*@__PURE__*/getDefaultExportFromCjs(patch_1); + +const parse$3 = parse_1; +const prerelease$1 = (version, options) => { + const parsed = parse$3(version, options); + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +}; +var prerelease_1 = prerelease$1; + +var prerelease$2 = /*@__PURE__*/getDefaultExportFromCjs(prerelease_1); + +const SemVer$7 = semver$1; +const compare$b = (a, b, loose) => + new SemVer$7(a, loose).compare(new SemVer$7(b, loose)); + +var compare_1 = compare$b; + +var compare$c = /*@__PURE__*/getDefaultExportFromCjs(compare_1); + +const compare$a = compare_1; +const rcompare$1 = (a, b, loose) => compare$a(b, a, loose); +var rcompare_1 = rcompare$1; + +var rcompare$2 = /*@__PURE__*/getDefaultExportFromCjs(rcompare_1); + +const compare$9 = compare_1; +const compareLoose$1 = (a, b) => compare$9(a, b, true); +var compareLoose_1 = compareLoose$1; + +var compareLoose$2 = /*@__PURE__*/getDefaultExportFromCjs(compareLoose_1); + +const SemVer$6 = semver$1; +const compareBuild$3 = (a, b, loose) => { + const versionA = new SemVer$6(a, loose); + const versionB = new SemVer$6(b, loose); + return versionA.compare(versionB) || versionA.compareBuild(versionB) +}; +var compareBuild_1 = compareBuild$3; + +var compareBuild$4 = /*@__PURE__*/getDefaultExportFromCjs(compareBuild_1); + +const compareBuild$2 = compareBuild_1; +const sort$1 = (list, loose) => list.sort((a, b) => compareBuild$2(a, b, loose)); +var sort_1 = sort$1; + +var sort$2 = /*@__PURE__*/getDefaultExportFromCjs(sort_1); + +const compareBuild$1 = compareBuild_1; +const rsort$1 = (list, loose) => list.sort((a, b) => compareBuild$1(b, a, loose)); +var rsort_1 = rsort$1; + +var rsort$2 = /*@__PURE__*/getDefaultExportFromCjs(rsort_1); + +const compare$8 = compare_1; +const gt$4 = (a, b, loose) => compare$8(a, b, loose) > 0; +var gt_1 = gt$4; + +var gt$5 = /*@__PURE__*/getDefaultExportFromCjs(gt_1); + +const compare$7 = compare_1; +const lt$3 = (a, b, loose) => compare$7(a, b, loose) < 0; +var lt_1 = lt$3; + +var lt$4 = /*@__PURE__*/getDefaultExportFromCjs(lt_1); + +const compare$6 = compare_1; +const eq$2 = (a, b, loose) => compare$6(a, b, loose) === 0; +var eq_1 = eq$2; + +var eq$3 = /*@__PURE__*/getDefaultExportFromCjs(eq_1); + +const compare$5 = compare_1; +const neq$2 = (a, b, loose) => compare$5(a, b, loose) !== 0; +var neq_1 = neq$2; + +var neq$3 = /*@__PURE__*/getDefaultExportFromCjs(neq_1); + +const compare$4 = compare_1; +const gte$3 = (a, b, loose) => compare$4(a, b, loose) >= 0; +var gte_1 = gte$3; + +var gte$4 = /*@__PURE__*/getDefaultExportFromCjs(gte_1); + +const compare$3 = compare_1; +const lte$3 = (a, b, loose) => compare$3(a, b, loose) <= 0; +var lte_1 = lte$3; + +var lte$4 = /*@__PURE__*/getDefaultExportFromCjs(lte_1); + +const eq$1 = eq_1; +const neq$1 = neq_1; +const gt$3 = gt_1; +const gte$2 = gte_1; +const lt$2 = lt_1; +const lte$2 = lte_1; + +const cmp$1 = (a, op, b, loose) => { + switch (op) { + case '===': + if (typeof a === 'object') { + a = a.version; + } + if (typeof b === 'object') { + b = b.version; + } + return a === b + + case '!==': + if (typeof a === 'object') { + a = a.version; + } + if (typeof b === 'object') { + b = b.version; + } + return a !== b + + case '': + case '=': + case '==': + return eq$1(a, b, loose) + + case '!=': + return neq$1(a, b, loose) + + case '>': + return gt$3(a, b, loose) + + case '>=': + return gte$2(a, b, loose) + + case '<': + return lt$2(a, b, loose) + + case '<=': + return lte$2(a, b, loose) + + default: + throw new TypeError(`Invalid operator: ${op}`) + } +}; +var cmp_1 = cmp$1; + +var cmp$2 = /*@__PURE__*/getDefaultExportFromCjs(cmp_1); + +const SemVer$5 = semver$1; +const parse$2 = parse_1; +const { safeRe: re, t } = reExports; + +const coerce$1 = (version, options) => { + if (version instanceof SemVer$5) { + return version + } + + if (typeof version === 'number') { + version = String(version); + } + + if (typeof version !== 'string') { + return null + } + + options = options || {}; + + let match = null; + if (!options.rtl) { + match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]; + let next; + while ((next = coerceRtlRegex.exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next; + } + coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length; + } + // leave it in a clean state + coerceRtlRegex.lastIndex = -1; + } + + if (match === null) { + return null + } + + const major = match[2]; + const minor = match[3] || '0'; + const patch = match[4] || '0'; + const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''; + const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''; + + return parse$2(`${major}.${minor}.${patch}${prerelease}${build}`, options) +}; +var coerce_1 = coerce$1; + +var coerce$2 = /*@__PURE__*/getDefaultExportFromCjs(coerce_1); + +var iterator; +var hasRequiredIterator; + +function requireIterator () { + if (hasRequiredIterator) return iterator; + hasRequiredIterator = 1; + 'use strict'; + iterator = function (Yallist) { + Yallist.prototype[Symbol.iterator] = function* () { + for (let walker = this.head; walker; walker = walker.next) { + yield walker.value; + } + }; + }; + return iterator; +} + +var yallist; +var hasRequiredYallist; + +function requireYallist () { + if (hasRequiredYallist) return yallist; + hasRequiredYallist = 1; + 'use strict'; + yallist = Yallist; + + Yallist.Node = Node; + Yallist.create = Yallist; + + function Yallist (list) { + var self = this; + if (!(self instanceof Yallist)) { + self = new Yallist(); + } + + self.tail = null; + self.head = null; + self.length = 0; + + if (list && typeof list.forEach === 'function') { + list.forEach(function (item) { + self.push(item); + }); + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self.push(arguments[i]); + } + } + + return self + } + + Yallist.prototype.removeNode = function (node) { + if (node.list !== this) { + throw new Error('removing node which does not belong to this list') + } + + var next = node.next; + var prev = node.prev; + + if (next) { + next.prev = prev; + } + + if (prev) { + prev.next = next; + } + + if (node === this.head) { + this.head = next; + } + if (node === this.tail) { + this.tail = prev; + } + + node.list.length--; + node.next = null; + node.prev = null; + node.list = null; + + return next + }; + + Yallist.prototype.unshiftNode = function (node) { + if (node === this.head) { + return + } + + if (node.list) { + node.list.removeNode(node); + } + + var head = this.head; + node.list = this; + node.next = head; + if (head) { + head.prev = node; + } + + this.head = node; + if (!this.tail) { + this.tail = node; + } + this.length++; + }; + + Yallist.prototype.pushNode = function (node) { + if (node === this.tail) { + return + } + + if (node.list) { + node.list.removeNode(node); + } + + var tail = this.tail; + node.list = this; + node.prev = tail; + if (tail) { + tail.next = node; + } + + this.tail = node; + if (!this.head) { + this.head = node; + } + this.length++; + }; + + Yallist.prototype.push = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]); + } + return this.length + }; + + Yallist.prototype.unshift = function () { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]); + } + return this.length + }; + + Yallist.prototype.pop = function () { + if (!this.tail) { + return undefined + } + + var res = this.tail.value; + this.tail = this.tail.prev; + if (this.tail) { + this.tail.next = null; + } else { + this.head = null; + } + this.length--; + return res + }; + + Yallist.prototype.shift = function () { + if (!this.head) { + return undefined + } + + var res = this.head.value; + this.head = this.head.next; + if (this.head) { + this.head.prev = null; + } else { + this.tail = null; + } + this.length--; + return res + }; + + Yallist.prototype.forEach = function (fn, thisp) { + thisp = thisp || this; + for (var walker = this.head, i = 0; walker !== null; i++) { + fn.call(thisp, walker.value, i, this); + walker = walker.next; + } + }; + + Yallist.prototype.forEachReverse = function (fn, thisp) { + thisp = thisp || this; + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn.call(thisp, walker.value, i, this); + walker = walker.prev; + } + }; + + Yallist.prototype.get = function (n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.next; + } + if (i === n && walker !== null) { + return walker.value + } + }; + + Yallist.prototype.getReverse = function (n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + // abort out of the list early if we hit a cycle + walker = walker.prev; + } + if (i === n && walker !== null) { + return walker.value + } + }; + + Yallist.prototype.map = function (fn, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.head; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)); + walker = walker.next; + } + return res + }; + + Yallist.prototype.mapReverse = function (fn, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.tail; walker !== null;) { + res.push(fn.call(thisp, walker.value, this)); + walker = walker.prev; + } + return res + }; + + Yallist.prototype.reduce = function (fn, initial) { + var acc; + var walker = this.head; + if (arguments.length > 1) { + acc = initial; + } else if (this.head) { + walker = this.head.next; + acc = this.head.value; + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = 0; walker !== null; i++) { + acc = fn(acc, walker.value, i); + walker = walker.next; + } + + return acc + }; + + Yallist.prototype.reduceReverse = function (fn, initial) { + var acc; + var walker = this.tail; + if (arguments.length > 1) { + acc = initial; + } else if (this.tail) { + walker = this.tail.prev; + acc = this.tail.value; + } else { + throw new TypeError('Reduce of empty list with no initial value') + } + + for (var i = this.length - 1; walker !== null; i--) { + acc = fn(acc, walker.value, i); + walker = walker.prev; + } + + return acc + }; + + Yallist.prototype.toArray = function () { + var arr = new Array(this.length); + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.next; + } + return arr + }; + + Yallist.prototype.toArrayReverse = function () { + var arr = new Array(this.length); + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.prev; + } + return arr + }; + + Yallist.prototype.slice = function (from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; + } + from = from || 0; + if (from < 0) { + from += this.length; + } + var ret = new Yallist(); + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0; + } + if (to > this.length) { + to = this.length; + } + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next; + } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value); + } + return ret + }; + + Yallist.prototype.sliceReverse = function (from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; + } + from = from || 0; + if (from < 0) { + from += this.length; + } + var ret = new Yallist(); + if (to < from || to < 0) { + return ret + } + if (from < 0) { + from = 0; + } + if (to > this.length) { + to = this.length; + } + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev; + } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value); + } + return ret + }; + + Yallist.prototype.splice = function (start, deleteCount, ...nodes) { + if (start > this.length) { + start = this.length - 1; + } + if (start < 0) { + start = this.length + start; + } + + for (var i = 0, walker = this.head; walker !== null && i < start; i++) { + walker = walker.next; + } + + var ret = []; + for (var i = 0; walker && i < deleteCount; i++) { + ret.push(walker.value); + walker = this.removeNode(walker); + } + if (walker === null) { + walker = this.tail; + } + + if (walker !== this.head && walker !== this.tail) { + walker = walker.prev; + } + + for (var i = 0; i < nodes.length; i++) { + walker = insert(this, walker, nodes[i]); + } + return ret; + }; + + Yallist.prototype.reverse = function () { + var head = this.head; + var tail = this.tail; + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev; + walker.prev = walker.next; + walker.next = p; + } + this.head = tail; + this.tail = head; + return this + }; + + function insert (self, node, value) { + var inserted = node === self.head ? + new Node(value, null, node, self) : + new Node(value, node, node.next, self); + + if (inserted.next === null) { + self.tail = inserted; + } + if (inserted.prev === null) { + self.head = inserted; + } + + self.length++; + + return inserted + } + + function push (self, item) { + self.tail = new Node(item, self.tail, null, self); + if (!self.head) { + self.head = self.tail; + } + self.length++; + } + + function unshift (self, item) { + self.head = new Node(item, null, self.head, self); + if (!self.tail) { + self.tail = self.head; + } + self.length++; + } + + function Node (value, prev, next, list) { + if (!(this instanceof Node)) { + return new Node(value, prev, next, list) + } + + this.list = list; + this.value = value; + + if (prev) { + prev.next = this; + this.prev = prev; + } else { + this.prev = null; + } + + if (next) { + next.prev = this; + this.next = next; + } else { + this.next = null; + } + } + + try { + // add if support for Symbol.iterator is present + requireIterator()(Yallist); + } catch (er) {} + return yallist; +} + +var lruCache; +var hasRequiredLruCache; + +function requireLruCache () { + if (hasRequiredLruCache) return lruCache; + hasRequiredLruCache = 1; + 'use strict'; + + // A linked list to keep track of recently-used-ness + const Yallist = requireYallist(); + + const MAX = Symbol('max'); + const LENGTH = Symbol('length'); + const LENGTH_CALCULATOR = Symbol('lengthCalculator'); + const ALLOW_STALE = Symbol('allowStale'); + const MAX_AGE = Symbol('maxAge'); + const DISPOSE = Symbol('dispose'); + const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet'); + const LRU_LIST = Symbol('lruList'); + const CACHE = Symbol('cache'); + const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet'); + + const naiveLength = () => 1; + + // lruList is a yallist where the head is the youngest + // item, and the tail is the oldest. the list contains the Hit + // objects as the entries. + // Each Hit object has a reference to its Yallist.Node. This + // never changes. + // + // cache is a Map (or PseudoMap) that matches the keys to + // the Yallist.Node object. + class LRUCache { + constructor (options) { + if (typeof options === 'number') + options = { max: options }; + + if (!options) + options = {}; + + if (options.max && (typeof options.max !== 'number' || options.max < 0)) + throw new TypeError('max must be a non-negative number') + // Kind of weird to have a default max of Infinity, but oh well. + const max = this[MAX] = options.max || Infinity; + + const lc = options.length || naiveLength; + this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc; + this[ALLOW_STALE] = options.stale || false; + if (options.maxAge && typeof options.maxAge !== 'number') + throw new TypeError('maxAge must be a number') + this[MAX_AGE] = options.maxAge || 0; + this[DISPOSE] = options.dispose; + this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; + this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; + this.reset(); + } + + // resize the cache when the max changes. + set max (mL) { + if (typeof mL !== 'number' || mL < 0) + throw new TypeError('max must be a non-negative number') + + this[MAX] = mL || Infinity; + trim(this); + } + get max () { + return this[MAX] + } + + set allowStale (allowStale) { + this[ALLOW_STALE] = !!allowStale; + } + get allowStale () { + return this[ALLOW_STALE] + } + + set maxAge (mA) { + if (typeof mA !== 'number') + throw new TypeError('maxAge must be a non-negative number') + + this[MAX_AGE] = mA; + trim(this); + } + get maxAge () { + return this[MAX_AGE] + } + + // resize the cache when the lengthCalculator changes. + set lengthCalculator (lC) { + if (typeof lC !== 'function') + lC = naiveLength; + + if (lC !== this[LENGTH_CALCULATOR]) { + this[LENGTH_CALCULATOR] = lC; + this[LENGTH] = 0; + this[LRU_LIST].forEach(hit => { + hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); + this[LENGTH] += hit.length; + }); + } + trim(this); + } + get lengthCalculator () { return this[LENGTH_CALCULATOR] } + + get length () { return this[LENGTH] } + get itemCount () { return this[LRU_LIST].length } + + rforEach (fn, thisp) { + thisp = thisp || this; + for (let walker = this[LRU_LIST].tail; walker !== null;) { + const prev = walker.prev; + forEachStep(this, fn, walker, thisp); + walker = prev; + } + } + + forEach (fn, thisp) { + thisp = thisp || this; + for (let walker = this[LRU_LIST].head; walker !== null;) { + const next = walker.next; + forEachStep(this, fn, walker, thisp); + walker = next; + } + } + + keys () { + return this[LRU_LIST].toArray().map(k => k.key) + } + + values () { + return this[LRU_LIST].toArray().map(k => k.value) + } + + reset () { + if (this[DISPOSE] && + this[LRU_LIST] && + this[LRU_LIST].length) { + this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value)); + } + + this[CACHE] = new Map(); // hash of items by key + this[LRU_LIST] = new Yallist(); // list of items in order of use recency + this[LENGTH] = 0; // length of items in the list + } + + dump () { + return this[LRU_LIST].map(hit => + isStale(this, hit) ? false : { + k: hit.key, + v: hit.value, + e: hit.now + (hit.maxAge || 0) + }).toArray().filter(h => h) + } + + dumpLru () { + return this[LRU_LIST] + } + + set (key, value, maxAge) { + maxAge = maxAge || this[MAX_AGE]; + + if (maxAge && typeof maxAge !== 'number') + throw new TypeError('maxAge must be a number') + + const now = maxAge ? Date.now() : 0; + const len = this[LENGTH_CALCULATOR](value, key); + + if (this[CACHE].has(key)) { + if (len > this[MAX]) { + del(this, this[CACHE].get(key)); + return false + } + + const node = this[CACHE].get(key); + const item = node.value; + + // dispose of the old one before overwriting + // split out into 2 ifs for better coverage tracking + if (this[DISPOSE]) { + if (!this[NO_DISPOSE_ON_SET]) + this[DISPOSE](key, item.value); + } + + item.now = now; + item.maxAge = maxAge; + item.value = value; + this[LENGTH] += len - item.length; + item.length = len; + this.get(key); + trim(this); + return true + } + + const hit = new Entry(key, value, len, now, maxAge); + + // oversized objects fall out of cache automatically. + if (hit.length > this[MAX]) { + if (this[DISPOSE]) + this[DISPOSE](key, value); + + return false + } + + this[LENGTH] += hit.length; + this[LRU_LIST].unshift(hit); + this[CACHE].set(key, this[LRU_LIST].head); + trim(this); + return true + } + + has (key) { + if (!this[CACHE].has(key)) return false + const hit = this[CACHE].get(key).value; + return !isStale(this, hit) + } + + get (key) { + return get(this, key, true) + } + + peek (key) { + return get(this, key, false) + } + + pop () { + const node = this[LRU_LIST].tail; + if (!node) + return null + + del(this, node); + return node.value + } + + del (key) { + del(this, this[CACHE].get(key)); + } + + load (arr) { + // reset the cache + this.reset(); + + const now = Date.now(); + // A previous serialized cache has the most recent items first + for (let l = arr.length - 1; l >= 0; l--) { + const hit = arr[l]; + const expiresAt = hit.e || 0; + if (expiresAt === 0) + // the item was created without expiration in a non aged cache + this.set(hit.k, hit.v); + else { + const maxAge = expiresAt - now; + // dont add already expired items + if (maxAge > 0) { + this.set(hit.k, hit.v, maxAge); + } + } + } + } + + prune () { + this[CACHE].forEach((value, key) => get(this, key, false)); + } + } + + const get = (self, key, doUse) => { + const node = self[CACHE].get(key); + if (node) { + const hit = node.value; + if (isStale(self, hit)) { + del(self, node); + if (!self[ALLOW_STALE]) + return undefined + } else { + if (doUse) { + if (self[UPDATE_AGE_ON_GET]) + node.value.now = Date.now(); + self[LRU_LIST].unshiftNode(node); + } + } + return hit.value + } + }; + + const isStale = (self, hit) => { + if (!hit || (!hit.maxAge && !self[MAX_AGE])) + return false + + const diff = Date.now() - hit.now; + return hit.maxAge ? diff > hit.maxAge + : self[MAX_AGE] && (diff > self[MAX_AGE]) + }; + + const trim = self => { + if (self[LENGTH] > self[MAX]) { + for (let walker = self[LRU_LIST].tail; + self[LENGTH] > self[MAX] && walker !== null;) { + // We know that we're about to delete this one, and also + // what the next least recently used key will be, so just + // go ahead and set it now. + const prev = walker.prev; + del(self, walker); + walker = prev; + } + } + }; + + const del = (self, node) => { + if (node) { + const hit = node.value; + if (self[DISPOSE]) + self[DISPOSE](hit.key, hit.value); + + self[LENGTH] -= hit.length; + self[CACHE].delete(hit.key); + self[LRU_LIST].removeNode(node); + } + }; + + class Entry { + constructor (key, value, length, now, maxAge) { + this.key = key; + this.value = value; + this.length = length; + this.now = now; + this.maxAge = maxAge || 0; + } + } + + const forEachStep = (self, fn, node, thisp) => { + let hit = node.value; + if (isStale(self, hit)) { + del(self, node); + if (!self[ALLOW_STALE]) + hit = undefined; + } + if (hit) + fn.call(thisp, hit.value, hit.key, self); + }; + + lruCache = LRUCache; + return lruCache; +} + +var range; +var hasRequiredRange; + +function requireRange () { + if (hasRequiredRange) return range; + hasRequiredRange = 1; + // hoisted class for cyclic dependency + class Range { + constructor (range, options) { + options = parseOptions(options); + + if (range instanceof Range) { + if ( + range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease + ) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + // just put it in the set and return + this.raw = range.value; + this.set = [[range]]; + this.format(); + return this + } + + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease; + + // First reduce all whitespace as much as possible so we do not have to rely + // on potentially slow regexes like \s*. This is then stored and used for + // future error messages as well. + this.raw = range + .trim() + .split(/\s+/) + .join(' '); + + // First, split on || + this.set = this.raw + .split('||') + // map the range to a 2d array of comparators + .map(r => this.parseRange(r.trim())) + // throw out any comparator lists that are empty + // this generally means that it was not a valid range, which is allowed + // in loose mode, but will still throw if the WHOLE range is invalid. + .filter(c => c.length); + + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${this.raw}`) + } + + // if we have any that are not the null set, throw out null sets. + if (this.set.length > 1) { + // keep the first one, in case they're all null sets + const first = this.set[0]; + this.set = this.set.filter(c => !isNullSet(c[0])); + if (this.set.length === 0) { + this.set = [first]; + } else if (this.set.length > 1) { + // if we have any that are *, then the range is just * + for (const c of this.set) { + if (c.length === 1 && isAny(c[0])) { + this.set = [c]; + break + } + } + } + } + + this.format(); + } + + format () { + this.range = this.set + .map((comps) => comps.join(' ').trim()) + .join('||') + .trim(); + return this.range + } + + toString () { + return this.range + } + + parseRange (range) { + // memoize range parsing for performance. + // this is a very hot path, and fully deterministic. + const memoOpts = + (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | + (this.options.loose && FLAG_LOOSE); + const memoKey = memoOpts + ':' + range; + const cached = cache.get(memoKey); + if (cached) { + return cached + } + + const loose = this.options.loose; + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); + debug('hyphen replace', range); + + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + debug('comparator trim', range); + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace); + debug('tilde trim', range); + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace); + debug('caret trim', range); + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + let rangeList = range + .split(' ') + .map(comp => parseComparator(comp, this.options)) + .join(' ') + .split(/\s+/) + // >=0.0.0 is equivalent to * + .map(comp => replaceGTE0(comp, this.options)); + + if (loose) { + // in loose mode, throw out any that are not valid comparators + rangeList = rangeList.filter(comp => { + debug('loose invalid filter', comp, this.options); + return !!comp.match(re[t.COMPARATORLOOSE]) + }); + } + debug('range list', rangeList); + + // if any comparators are the null set, then replace with JUST null set + // if more than one comparator, remove any * comparators + // also, don't include the same comparator more than once + const rangeMap = new Map(); + const comparators = rangeList.map(comp => new Comparator(comp, this.options)); + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp] + } + rangeMap.set(comp.value, comp); + } + if (rangeMap.size > 1 && rangeMap.has('')) { + rangeMap.delete(''); + } + + const result = [...rangeMap.values()]; + cache.set(memoKey, result); + return result + } + + intersects (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some((thisComparators) => { + return ( + isSatisfiable(thisComparators, options) && + range.set.some((rangeComparators) => { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) + } + + // if ANY of the sets match ALL of its comparators, then pass + test (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options); + } catch (er) { + return false + } + } + + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false + } + } + + range = Range; + + const LRU = requireLruCache(); + const cache = new LRU({ max: 1000 }); + + const parseOptions = parseOptions_1; + const Comparator = requireComparator(); + const debug = debug_1; + const SemVer = semver$1; + const { + safeRe: re, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace, + } = reExports; + const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = constants$1; + + const isNullSet = c => c.value === '<0.0.0-0'; + const isAny = c => c.value === ''; + + // take a set of comparators and determine whether there + // exists a version which can satisfy it + const isSatisfiable = (comparators, options) => { + let result = true; + const remainingComparators = comparators.slice(); + let testComparator = remainingComparators.pop(); + + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options) + }); + + testComparator = remainingComparators.pop(); + } + + return result + }; + + // comprised of xranges, tildes, stars, and gtlt's at this point. + // already replaced the hyphen ranges + // turn into a set of JUST comparators. + const parseComparator = (comp, options) => { + debug('comp', comp, options); + comp = replaceCarets(comp, options); + debug('caret', comp); + comp = replaceTildes(comp, options); + debug('tildes', comp); + comp = replaceXRanges(comp, options); + debug('xrange', comp); + comp = replaceStars(comp, options); + debug('stars', comp); + return comp + }; + + const isX = id => !id || id.toLowerCase() === 'x' || id === '*'; + + // ~, ~> --> * (any, kinda silly) + // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 + // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 + // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 + // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 + // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 + // ~0.0.1 --> >=0.0.1 <0.1.0-0 + const replaceTildes = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceTilde(c, options)) + .join(' ') + }; + + const replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; + return comp.replace(r, (_, M, m, p, pr) => { + debug('tilde', comp, _, M, m, p, pr); + let ret; + + if (isX(M)) { + ret = ''; + } else if (isX(m)) { + ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0-0 + ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; + } else if (pr) { + debug('replaceTilde pr', pr); + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0`; + } else { + // ~1.2.3 == >=1.2.3 <1.3.0-0 + ret = `>=${M}.${m}.${p + } <${M}.${+m + 1}.0-0`; + } + + debug('tilde return', ret); + return ret + }) + }; + + // ^ --> * (any, kinda silly) + // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 + // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 + // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 + // ^1.2.3 --> >=1.2.3 <2.0.0-0 + // ^1.2.0 --> >=1.2.0 <2.0.0-0 + // ^0.0.1 --> >=0.0.1 <0.0.2-0 + // ^0.1.0 --> >=0.1.0 <0.2.0-0 + const replaceCarets = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceCaret(c, options)) + .join(' ') + }; + + const replaceCaret = (comp, options) => { + debug('caret', comp, options); + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; + const z = options.includePrerelease ? '-0' : ''; + return comp.replace(r, (_, M, m, p, pr) => { + debug('caret', comp, _, M, m, p, pr); + let ret; + + if (isX(M)) { + ret = ''; + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; + } else if (isX(p)) { + if (M === '0') { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; + } + } else if (pr) { + debug('replaceCaret pr', pr); + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${m}.${+p + 1}-0`; + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0`; + } + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${+M + 1}.0.0-0`; + } + } else { + debug('no pr'); + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p + }${z} <${M}.${m}.${+p + 1}-0`; + } else { + ret = `>=${M}.${m}.${p + }${z} <${M}.${+m + 1}.0-0`; + } + } else { + ret = `>=${M}.${m}.${p + } <${+M + 1}.0.0-0`; + } + } + + debug('caret return', ret); + return ret + }) + }; + + const replaceXRanges = (comp, options) => { + debug('replaceXRanges', comp, options); + return comp + .split(/\s+/) + .map((c) => replaceXRange(c, options)) + .join(' ') + }; + + const replaceXRange = (comp, options) => { + comp = comp.trim(); + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug('xRange', comp, ret, gtlt, M, m, p, pr); + const xM = isX(M); + const xm = xM || isX(m); + const xp = xm || isX(p); + const anyX = xp; + + if (gtlt === '=' && anyX) { + gtlt = ''; + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : ''; + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0'; + } else { + // nothing is forbidden + ret = '*'; + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0; + } + p = 0; + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + gtlt = '>='; + if (xm) { + M = +M + 1; + m = 0; + p = 0; + } else { + m = +m + 1; + p = 0; + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<'; + if (xm) { + M = +M + 1; + } else { + m = +m + 1; + } + } + + if (gtlt === '<') { + pr = '-0'; + } + + ret = `${gtlt + M}.${m}.${p}${pr}`; + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; + } else if (xp) { + ret = `>=${M}.${m}.0${pr + } <${M}.${+m + 1}.0-0`; + } + + debug('xRange return', ret); + + return ret + }) + }; + + // Because * is AND-ed with everything else in the comparator, + // and '' means "any version", just remove the *s entirely. + const replaceStars = (comp, options) => { + debug('replaceStars', comp, options); + // Looseness is ignored here. star is always as loose as it gets! + return comp + .trim() + .replace(re[t.STAR], '') + }; + + const replaceGTE0 = (comp, options) => { + debug('replaceGTE0', comp, options); + return comp + .trim() + .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '') + }; + + // This function is passed to string.replace(re[t.HYPHENRANGE]) + // M, m, patch, prerelease, build + // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 + // 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do + // 1.2 - 3.4 => >=1.2.0 <3.5.0-0 + const hyphenReplace = incPr => ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) => { + if (isX(fM)) { + from = ''; + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? '-0' : ''}`; + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`; + } else if (fpr) { + from = `>=${from}`; + } else { + from = `>=${from}${incPr ? '-0' : ''}`; + } + + if (isX(tM)) { + to = ''; + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0`; + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0`; + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}`; + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0`; + } else { + to = `<=${to}`; + } + + return `${from} ${to}`.trim() + }; + + const testSet = (set, version, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (let i = 0; i < set.length; i++) { + debug(set[i].semver); + if (set[i].semver === Comparator.ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver; + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true + }; + return range; +} + +var comparator; +var hasRequiredComparator; + +function requireComparator () { + if (hasRequiredComparator) return comparator; + hasRequiredComparator = 1; + const ANY = Symbol('SemVer ANY'); + // hoisted class for cyclic dependency + class Comparator { + static get ANY () { + return ANY + } + + constructor (comp, options) { + options = parseOptions(options); + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value; + } + } + + comp = comp.trim().split(/\s+/).join(' '); + debug('comparator', comp, options); + this.options = options; + this.loose = !!options.loose; + this.parse(comp); + + if (this.semver === ANY) { + this.value = ''; + } else { + this.value = this.operator + this.semver.version; + } + + debug('comp', this); + } + + parse (comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; + const m = comp.match(r); + + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`) + } + + this.operator = m[1] !== undefined ? m[1] : ''; + if (this.operator === '=') { + this.operator = ''; + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY; + } else { + this.semver = new SemVer(m[2], this.options.loose); + } + } + + toString () { + return this.value + } + + test (version) { + debug('Comparator.test', version, this.options.loose); + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options); + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) + } + + intersects (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (this.operator === '') { + if (this.value === '') { + return true + } + return new Range(comp.value, options).test(this.value) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + return new Range(this.value, options).test(comp.semver) + } + + options = parseOptions(options); + + // Special cases where nothing can possibly be lower + if (options.includePrerelease && + (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) { + return false + } + if (!options.includePrerelease && + (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) { + return false + } + + // Same direction increasing (> or >=) + if (this.operator.startsWith('>') && comp.operator.startsWith('>')) { + return true + } + // Same direction decreasing (< or <=) + if (this.operator.startsWith('<') && comp.operator.startsWith('<')) { + return true + } + // same SemVer and both sides are inclusive (<= or >=) + if ( + (this.semver.version === comp.semver.version) && + this.operator.includes('=') && comp.operator.includes('=')) { + return true + } + // opposite directions less than + if (cmp(this.semver, '<', comp.semver, options) && + this.operator.startsWith('>') && comp.operator.startsWith('<')) { + return true + } + // opposite directions greater than + if (cmp(this.semver, '>', comp.semver, options) && + this.operator.startsWith('<') && comp.operator.startsWith('>')) { + return true + } + return false + } + } + + comparator = Comparator; + + const parseOptions = parseOptions_1; + const { safeRe: re, t } = reExports; + const cmp = cmp_1; + const debug = debug_1; + const SemVer = semver$1; + const Range = requireRange(); + return comparator; +} + +const Range$9 = requireRange(); +const satisfies$4 = (version, range, options) => { + try { + range = new Range$9(range, options); + } catch (er) { + return false + } + return range.test(version) +}; +var satisfies_1 = satisfies$4; + +var satisfies$5 = /*@__PURE__*/getDefaultExportFromCjs(satisfies_1); + +const Range$8 = requireRange(); + +// Mostly just for testing and legacy API reasons +const toComparators$1 = (range, options) => + new Range$8(range, options).set + .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')); + +var toComparators_1 = toComparators$1; + +var toComparators$2 = /*@__PURE__*/getDefaultExportFromCjs(toComparators_1); + +const SemVer$4 = semver$1; +const Range$7 = requireRange(); + +const maxSatisfying$1 = (versions, range, options) => { + let max = null; + let maxSV = null; + let rangeObj = null; + try { + rangeObj = new Range$7(range, options); + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v; + maxSV = new SemVer$4(max, options); + } + } + }); + return max +}; +var maxSatisfying_1 = maxSatisfying$1; + +var maxSatisfying$2 = /*@__PURE__*/getDefaultExportFromCjs(maxSatisfying_1); + +const SemVer$3 = semver$1; +const Range$6 = requireRange(); +const minSatisfying$1 = (versions, range, options) => { + let min = null; + let minSV = null; + let rangeObj = null; + try { + rangeObj = new Range$6(range, options); + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v; + minSV = new SemVer$3(min, options); + } + } + }); + return min +}; +var minSatisfying_1 = minSatisfying$1; + +var minSatisfying$2 = /*@__PURE__*/getDefaultExportFromCjs(minSatisfying_1); + +const SemVer$2 = semver$1; +const Range$5 = requireRange(); +const gt$2 = gt_1; + +const minVersion$1 = (range, loose) => { + range = new Range$5(range, loose); + + let minver = new SemVer$2('0.0.0'); + if (range.test(minver)) { + return minver + } + + minver = new SemVer$2('0.0.0-0'); + if (range.test(minver)) { + return minver + } + + minver = null; + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i]; + + let setMin = null; + comparators.forEach((comparator) => { + // Clone to avoid manipulating the comparator's semver object. + const compver = new SemVer$2(comparator.semver.version); + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++; + } else { + compver.prerelease.push(0); + } + compver.raw = compver.format(); + /* fallthrough */ + case '': + case '>=': + if (!setMin || gt$2(compver, setMin)) { + setMin = compver; + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error(`Unexpected operation: ${comparator.operator}`) + } + }); + if (setMin && (!minver || gt$2(minver, setMin))) { + minver = setMin; + } + } + + if (minver && range.test(minver)) { + return minver + } + + return null +}; +var minVersion_1 = minVersion$1; + +var minVersion$2 = /*@__PURE__*/getDefaultExportFromCjs(minVersion_1); + +const Range$4 = requireRange(); +const validRange$1 = (range, options) => { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range$4(range, options).range || '*' + } catch (er) { + return null + } +}; +var valid$1 = validRange$1; + +var valid$2 = /*@__PURE__*/getDefaultExportFromCjs(valid$1); + +const SemVer$1 = semver$1; +const Comparator$2 = requireComparator(); +const { ANY: ANY$1 } = Comparator$2; +const Range$3 = requireRange(); +const satisfies$3 = satisfies_1; +const gt$1 = gt_1; +const lt$1 = lt_1; +const lte$1 = lte_1; +const gte$1 = gte_1; + +const outside$3 = (version, range, hilo, options) => { + version = new SemVer$1(version, options); + range = new Range$3(range, options); + + let gtfn, ltefn, ltfn, comp, ecomp; + switch (hilo) { + case '>': + gtfn = gt$1; + ltefn = lte$1; + ltfn = lt$1; + comp = '>'; + ecomp = '>='; + break + case '<': + gtfn = lt$1; + ltefn = gte$1; + ltfn = gt$1; + comp = '<'; + ecomp = '<='; + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisfies the range it is not outside + if (satisfies$3(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i]; + + let high = null; + let low = null; + + comparators.forEach((comparator) => { + if (comparator.semver === ANY$1) { + comparator = new Comparator$2('>=0.0.0'); + } + high = high || comparator; + low = low || comparator; + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator; + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator; + } + }); + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +}; + +var outside_1 = outside$3; + +var outside$4 = /*@__PURE__*/getDefaultExportFromCjs(outside_1); + +// Determine if version is greater than all the versions possible in the range. +const outside$2 = outside_1; +const gtr$1 = (version, range, options) => outside$2(version, range, '>', options); +var gtr_1 = gtr$1; + +var gtr$2 = /*@__PURE__*/getDefaultExportFromCjs(gtr_1); + +const outside$1 = outside_1; +// Determine if version is less than all the versions possible in the range +const ltr$1 = (version, range, options) => outside$1(version, range, '<', options); +var ltr_1 = ltr$1; + +var ltr$2 = /*@__PURE__*/getDefaultExportFromCjs(ltr_1); + +const Range$2 = requireRange(); +const intersects$1 = (r1, r2, options) => { + r1 = new Range$2(r1, options); + r2 = new Range$2(r2, options); + return r1.intersects(r2, options) +}; +var intersects_1 = intersects$1; + +var intersects$2 = /*@__PURE__*/getDefaultExportFromCjs(intersects_1); + +// given a set of versions and a range, create a "simplified" range +// that includes the same versions that the original range does +// If the original range is shorter than the simplified one, return that. +const satisfies$2 = satisfies_1; +const compare$2 = compare_1; +var simplify = (versions, range, options) => { + const set = []; + let first = null; + let prev = null; + const v = versions.sort((a, b) => compare$2(a, b, options)); + for (const version of v) { + const included = satisfies$2(version, range, options); + if (included) { + prev = version; + if (!first) { + first = version; + } + } else { + if (prev) { + set.push([first, prev]); + } + prev = null; + first = null; + } + } + if (first) { + set.push([first, null]); + } + + const ranges = []; + for (const [min, max] of set) { + if (min === max) { + ranges.push(min); + } else if (!max && min === v[0]) { + ranges.push('*'); + } else if (!max) { + ranges.push(`>=${min}`); + } else if (min === v[0]) { + ranges.push(`<=${max}`); + } else { + ranges.push(`${min} - ${max}`); + } + } + const simplified = ranges.join(' || '); + const original = typeof range.raw === 'string' ? range.raw : String(range); + return simplified.length < original.length ? simplified : range +}; + +var simplify$1 = /*@__PURE__*/getDefaultExportFromCjs(simplify); + +const Range$1 = requireRange(); +const Comparator$1 = requireComparator(); +const { ANY } = Comparator$1; +const satisfies$1 = satisfies_1; +const compare$1 = compare_1; + +// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff: +// - Every simple range `r1, r2, ...` is a null set, OR +// - Every simple range `r1, r2, ...` which is not a null set is a subset of +// some `R1, R2, ...` +// +// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff: +// - If c is only the ANY comparator +// - If C is only the ANY comparator, return true +// - Else if in prerelease mode, return false +// - else replace c with `[>=0.0.0]` +// - If C is only the ANY comparator +// - if in prerelease mode, return true +// - else replace C with `[>=0.0.0]` +// - Let EQ be the set of = comparators in c +// - If EQ is more than one, return true (null set) +// - Let GT be the highest > or >= comparator in c +// - Let LT be the lowest < or <= comparator in c +// - If GT and LT, and GT.semver > LT.semver, return true (null set) +// - If any C is a = range, and GT or LT are set, return false +// - If EQ +// - If GT, and EQ does not satisfy GT, return true (null set) +// - If LT, and EQ does not satisfy LT, return true (null set) +// - If EQ satisfies every C, return true +// - Else return false +// - If GT +// - If GT.semver is lower than any > or >= comp in C, return false +// - If GT is >=, and GT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the GT.semver tuple, return false +// - If LT +// - If LT.semver is greater than any < or <= comp in C, return false +// - If LT is <=, and LT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the LT.semver tuple, return false +// - Else return true + +const subset$1 = (sub, dom, options = {}) => { + if (sub === dom) { + return true + } + + sub = new Range$1(sub, options); + dom = new Range$1(dom, options); + let sawNonNull = false; + + OUTER: for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options); + sawNonNull = sawNonNull || isSub !== null; + if (isSub) { + continue OUTER + } + } + // the null set is a subset of everything, but null simple ranges in + // a complex range should be ignored. so if we saw a non-null range, + // then we know this isn't a subset, but if EVERY simple range was null, + // then it is a subset. + if (sawNonNull) { + return false + } + } + return true +}; + +const minimumVersionWithPreRelease = [new Comparator$1('>=0.0.0-0')]; +const minimumVersion = [new Comparator$1('>=0.0.0')]; + +const simpleSubset = (sub, dom, options) => { + if (sub === dom) { + return true + } + + if (sub.length === 1 && sub[0].semver === ANY) { + if (dom.length === 1 && dom[0].semver === ANY) { + return true + } else if (options.includePrerelease) { + sub = minimumVersionWithPreRelease; + } else { + sub = minimumVersion; + } + } + + if (dom.length === 1 && dom[0].semver === ANY) { + if (options.includePrerelease) { + return true + } else { + dom = minimumVersion; + } + } + + const eqSet = new Set(); + let gt, lt; + for (const c of sub) { + if (c.operator === '>' || c.operator === '>=') { + gt = higherGT(gt, c, options); + } else if (c.operator === '<' || c.operator === '<=') { + lt = lowerLT(lt, c, options); + } else { + eqSet.add(c.semver); + } + } + + if (eqSet.size > 1) { + return null + } + + let gtltComp; + if (gt && lt) { + gtltComp = compare$1(gt.semver, lt.semver, options); + if (gtltComp > 0) { + return null + } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { + return null + } + } + + // will iterate one or zero times + for (const eq of eqSet) { + if (gt && !satisfies$1(eq, String(gt), options)) { + return null + } + + if (lt && !satisfies$1(eq, String(lt), options)) { + return null + } + + for (const c of dom) { + if (!satisfies$1(eq, String(c), options)) { + return false + } + } + + return true + } + + let higher, lower; + let hasDomLT, hasDomGT; + // if the subset has a prerelease, we need a comparator in the superset + // with the same tuple and a prerelease, or it's not a subset + let needDomLTPre = lt && + !options.includePrerelease && + lt.semver.prerelease.length ? lt.semver : false; + let needDomGTPre = gt && + !options.includePrerelease && + gt.semver.prerelease.length ? gt.semver : false; + // exception: <1.2.3-0 is the same as <1.2.3 + if (needDomLTPre && needDomLTPre.prerelease.length === 1 && + lt.operator === '<' && needDomLTPre.prerelease[0] === 0) { + needDomLTPre = false; + } + + for (const c of dom) { + hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='; + hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='; + if (gt) { + if (needDomGTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomGTPre.major && + c.semver.minor === needDomGTPre.minor && + c.semver.patch === needDomGTPre.patch) { + needDomGTPre = false; + } + } + if (c.operator === '>' || c.operator === '>=') { + higher = higherGT(gt, c, options); + if (higher === c && higher !== gt) { + return false + } + } else if (gt.operator === '>=' && !satisfies$1(gt.semver, String(c), options)) { + return false + } + } + if (lt) { + if (needDomLTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomLTPre.major && + c.semver.minor === needDomLTPre.minor && + c.semver.patch === needDomLTPre.patch) { + needDomLTPre = false; + } + } + if (c.operator === '<' || c.operator === '<=') { + lower = lowerLT(lt, c, options); + if (lower === c && lower !== lt) { + return false + } + } else if (lt.operator === '<=' && !satisfies$1(lt.semver, String(c), options)) { + return false + } + } + if (!c.operator && (lt || gt) && gtltComp !== 0) { + return false + } + } + + // if there was a < or >, and nothing in the dom, then must be false + // UNLESS it was limited by another range in the other direction. + // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 + if (gt && hasDomLT && !lt && gtltComp !== 0) { + return false + } + + if (lt && hasDomGT && !gt && gtltComp !== 0) { + return false + } + + // we needed a prerelease range in a specific tuple, but didn't get one + // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0, + // because it includes prereleases in the 1.2.3 tuple + if (needDomGTPre || needDomLTPre) { + return false + } + + return true +}; + +// >=1.2.3 is lower than >1.2.3 +const higherGT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare$1(a.semver, b.semver, options); + return comp > 0 ? a + : comp < 0 ? b + : b.operator === '>' && a.operator === '>=' ? b + : a +}; + +// <=1.2.3 is higher than <1.2.3 +const lowerLT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare$1(a.semver, b.semver, options); + return comp < 0 ? a + : comp > 0 ? b + : b.operator === '<' && a.operator === '<=' ? b + : a +}; + +var subset_1 = subset$1; + +var subset$2 = /*@__PURE__*/getDefaultExportFromCjs(subset_1); + +// just pre-load all the stuff that index.js lazily exports +const internalRe = reExports; +const constants = constants$1; +const SemVer = semver$1; +const identifiers = identifiers$1; +const parse$1 = parse_1; +const valid = valid_1; +const clean = clean_1; +const inc = inc_1; +const diff = diff_1; +const major = major_1; +const minor = minor_1; +const patch$1 = patch_1; +const prerelease = prerelease_1; +const compare = compare_1; +const rcompare = rcompare_1; +const compareLoose = compareLoose_1; +const compareBuild = compareBuild_1; +const sort = sort_1; +const rsort = rsort_1; +const gt = gt_1; +const lt = lt_1; +const eq = eq_1; +const neq = neq_1; +const gte = gte_1; +const lte = lte_1; +const cmp = cmp_1; +const coerce = coerce_1; +const Comparator = requireComparator(); +const Range = requireRange(); +const satisfies = satisfies_1; +const toComparators = toComparators_1; +const maxSatisfying = maxSatisfying_1; +const minSatisfying = minSatisfying_1; +const minVersion = minVersion_1; +const validRange = valid$1; +const outside = outside_1; +const gtr = gtr_1; +const ltr = ltr_1; +const intersects = intersects_1; +const simplifyRange = simplify; +const subset = subset_1; +var semver = { + parse: parse$1, + valid, + clean, + inc, + diff, + major, + minor, + patch: patch$1, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + RELEASE_TYPES: constants.RELEASE_TYPES, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers, +}; + +var index = /*@__PURE__*/getDefaultExportFromCjs(semver); + /** * a collection of utility functions * @namespace utils @@ -20048,11 +23173,9 @@ let GUID_index = 0; * @public * @memberof utils * @name checkVersion - * @param {string} first - First version string to compare - * @param {string} second - second version string to compare - * @returns {number} comparison result
< 0 : first < second
- * 0 : first == second
- * > 0 : first > second + * @param {string} v1 - First version string to compare + * @param {string} v2 - second version string to compare + * @returns {number} Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater * @example * if (me.utils.checkVersion("7.0.0") > 0) { * console.error( @@ -20060,19 +23183,8 @@ let GUID_index = 0; * ); * } */ -function checkVersion(first, second) { - let a = first.split("."); - let b = second.split("."); - let len = Math.min(a.length, b.length); - let result = 0; - - for (let i = 0; i < len; i++) { - if ((result = +a[i] - +b[i])) { - break; - } - } - - return result ? result : a.length - b.length; +function checkVersion(v1, v2) { + return semver.compare(v1, v2); } /** @@ -36482,6 +39594,15 @@ class Light2d extends Renderable { return this.visibleArea.setShape(this.getBounds().centerX, this.getBounds().centerY, this.width, this.height); } + /** + * update function + * @param {number} dt - time since the last update in milliseconds. + * @returns {boolean} true if dirty + */ + update(dt) { // eslint-disable-line no-unused-vars + return true; + } + /** * draw this Light2d (automatically called by melonJS) * @name draw @@ -39534,9 +42655,9 @@ class BasePlugin { * define the minimum required version of melonJS
* this can be overridden by the plugin * @type {string} - * @default "16.1.1" + * @default "16.1.2" */ - this.version = "16.1.1"; + this.version = "16.1.2"; /** * a reference to the app/game that registered this plugin @@ -39639,7 +42760,7 @@ function register(plugin, name = plugin.toString().match(/ (\w+)/)[1]) { } // compatibility testing - if (checkVersion(instance.version, version) < 0) { + if (checkVersion(instance.version, version) > 0) { throw new Error("Plugin version mismatch, expected: " + instance.version + ", got: " + version); } @@ -39818,7 +42939,7 @@ Renderer.prototype.getHeight = function() { * @name version * @type {string} */ -const version = "16.1.1"; +const version = "16.1.2"; /** * a flag indicating that melonJS is fully initialized diff --git a/dist/types/utils/utils.d.ts b/dist/types/utils/utils.d.ts index 8ca2e7ceab..26387c83f4 100644 --- a/dist/types/utils/utils.d.ts +++ b/dist/types/utils/utils.d.ts @@ -3,11 +3,9 @@ * @public * @memberof utils * @name checkVersion - * @param {string} first - First version string to compare - * @param {string} second - second version string to compare - * @returns {number} comparison result
< 0 : first < second
- * 0 : first == second
- * > 0 : first > second + * @param {string} v1 - First version string to compare + * @param {string} v2 - second version string to compare + * @returns {number} Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater * @example * if (me.utils.checkVersion("7.0.0") > 0) { * console.error( @@ -15,7 +13,7 @@ * ); * } */ -export function checkVersion(first: string, second: string): number; +export function checkVersion(v1: string, v2: string): number; /** * parse the fragment (hash) from a URL and returns them into * @public diff --git a/docs/docs/Class-Index.html b/docs/docs/Class-Index.html index 759b5267fa..b04397dcc7 100644 --- a/docs/docs/Class-Index.html +++ b/docs/docs/Class-Index.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/index.html b/docs/docs/index.html index fe34c3cac3..acf9f45a3f 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs.api.json b/docs/docs/melonjs.api.json index 71d0fbd021..7a1a3f21f3 100644 --- a/docs/docs/melonjs.api.json +++ b/docs/docs/melonjs.api.json @@ -1 +1 @@ -{"version":"1.0.0","metadata":{"linker":"(unsigned)","siteRoot":"melonJS/docs"},"root":{"id":"root-Y8IP5-qwyVwKq9MYIB626","name":"","type":"RootDoc","members":[{"id":"liMI_6KYTLpP_0KjOvsEU","name":"audio","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"3sZIPjFeRt3KxZ98ZNyuw","name":"stopOnAudioError","brief":"","defaultValue":"true","type":"PropertyDoc","description":"

Specify either to stop on audio loading error or not
\nif true, melonJS will throw an exception and stop loading
\nif ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qoDWnPKlAMt_9eK9mo96h","name":"disable","brief":"","scope":"static","type":"FunctionDoc","description":"

disable audio output

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CCRR5pepQ-i9IDFnfvZ5u","name":"enable","brief":"","scope":"static","see":["audio.disable"],"type":"FunctionDoc","description":"

enable audio output
\nonly useful if audio supported and previously disabled through

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3z2z9ig55xFILKN3JN60Y","name":"fade","brief":"","scope":"static","type":"FunctionDoc","description":"

Fade a currently playing sound between two volumee.

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"from","optional":false,"description":"

Volume to fade from (0.0 to 1.0).

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"to","optional":false,"description":"

Volume to fade to (0.0 to 1.0).

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"duration","optional":false,"description":"

Time in milliseconds to fade.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will fade.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qRIAWT4k2Ed6tSSTqKalG","name":"getCurrentTrack","brief":"","scope":"static","type":"FunctionDoc","description":"

returns the current track Id

","params":[],"returns":[{"description":"

audio track name

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"IPTYTrTUne3LP8SexUYYY","name":"getVolume","brief":"","scope":"static","type":"FunctionDoc","description":"

get the default global volume

","params":[],"returns":[{"description":"

current volume value in Float [0.0 - 1.0] .

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZfI7x0iFmOM_zZzxk9CLO","name":"hasAudio","brief":"","scope":"static","type":"FunctionDoc","description":"

check if audio (HTML5 or WebAudio) is supported

","params":[],"returns":[{"description":"

return true if audio (HTML5 or WebAudio) is supported

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"aPevG6Ys35LTaUnFJRIed","name":"hasFormat","brief":"","scope":"static","type":"FunctionDoc","description":"

check if the given audio format is supported

","params":[{"identifier":"codec","optional":false,"description":"

the audio format to check for support

","dataType":{"tokens":[{"value":"\"mp3\" | \"mpeg\" | \"opus\" | \"ogg\" | \"oga\" | \"wav\" | \"aac\" | \"caf\" | \"m4a\" | \"m4b\" | \"mp4\" | \"weba\" | \"webm\" | \"dolby\" | \"flac\"","kind":"canonical"},{"value":"\"mp3\"","kind":"canonical"},{"value":"\"mpeg\"","kind":"canonical"},{"value":"\"opus\"","kind":"canonical"},{"value":"\"ogg\"","kind":"canonical"},{"value":"\"oga\"","kind":"canonical"},{"value":"\"wav\"","kind":"canonical"},{"value":"\"aac\"","kind":"canonical"},{"value":"\"caf\"","kind":"canonical"},{"value":"\"m4a\"","kind":"canonical"},{"value":"\"m4b\"","kind":"canonical"},{"value":"\"mp4\"","kind":"canonical"},{"value":"\"weba\"","kind":"canonical"},{"value":"\"webm\"","kind":"canonical"},{"value":"\"dolby\"","kind":"canonical"},{"value":"\"flac\"","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}}],"returns":[{"description":"

return true if the given audio format is supported

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2ziPTowmn17aO_OctSXov","name":"init","brief":"","examples":[{"caption":"","code":"// initialize the \"sound engine\", giving \"webm\" as default desired audio format, and \"mp3\" as a fallback\nif (!me.audio.init(\"webm,mp3\")) {\n alert(\"Sorry but your browser does not support html 5 audio !\");\n return;\n}"}],"scope":"static","type":"FunctionDoc","description":"

Initialize and configure the audio support.
\nFor a maximum browser coverage the recommendation is to use at least two o...","params":[{"identifier":"format","optional":true,"default":"\"mp3\"","description":"

audio format to prioritize ("mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav&qu...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

Indicates whether audio initialization was successful

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"uL4H9vIOQhmIG9GIrH1xN","name":"load","brief":"","scope":"static","type":"FunctionDoc","description":"

Load an audio file

","params":[{"identifier":"sound","optional":false,"dataType":{"tokens":[{"value":"loader.Asset","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1"}},{"identifier":"onloadcb","optional":true,"description":"

function to be called when the resource is loaded

","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"onerrorcb","optional":true,"description":"

function to be called in case of error

","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

the amount of asset loaded (always 1 if successfull)

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sva77drwXuH_LpKVZtN2O","name":"mute","brief":"","examples":[{"caption":"","code":"// mute the background music\nme.audio.mute(\"awesome_music\");"}],"scope":"static","type":"FunctionDoc","description":"

mute or unmute the specified sound, but does not pause the playback.

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will mute.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"mute","optional":true,"default":"true","description":"

True to mute and false to unmute

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"4rm5z2iprde7D8cwXhwEC","name":"muteAll","brief":"","scope":"static","type":"FunctionDoc","description":"

mute all audio

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zZgnqxIx95hNB5IVRHPEe","name":"muted","brief":"","scope":"static","type":"FunctionDoc","description":"

Returns true if audio is muted globally.

","params":[],"returns":[{"description":"

true if audio is muted globally

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"kz2iqNYA8wXrAFE5w26CY","name":"pause","brief":"","examples":[{"caption":"","code":"me.audio.pause(\"cling\");"}],"scope":"static","type":"FunctionDoc","description":"

pause the specified sound on all channels
\nthis function does not reset the currentTime property

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will pause.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"N93M_RXJLxXgRz_yp4SNc","name":"pauseTrack","brief":"","examples":[{"caption":"","code":"me.audio.pauseTrack();"}],"scope":"static","type":"FunctionDoc","description":"

pause the current audio track

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mwTogKLjNil5HL3V_TL1_","name":"play","brief":"","examples":[{"caption":"","code":"// play the \"cling\" audio clip\nme.audio.play(\"cling\");\n// play & repeat the \"engine\" audio clip\nme.audio.play(\"engine\", true);\n// play the \"gameover_sfx\" audio clip and call myFunc when finished\nme.audio.play(\"gameover_sfx\", false, myFunc);\n// play the \"gameover_sfx\" audio clip with a lower volume level\nme.audio.play(\"gameover_sfx\", false, null, 0.5);"}],"scope":"static","type":"FunctionDoc","description":"

play the specified sound

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"loop","optional":true,"default":"false","description":"

loop audio

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"onend","optional":true,"description":"

Function to call when sound instance ends playing.

","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"volume","optional":true,"default":"default","description":"

Float specifying volume (0.0 - 1.0 values accepted).

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

the sound instance ID.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Tdj8TWsv-MNAXeiZwRUg-","name":"playTrack","brief":"","examples":[{"caption":"","code":"me.audio.playTrack(\"awesome_music\");"}],"scope":"static","type":"FunctionDoc","description":"

play the specified audio track
\nthis function automatically set the loop property to true
\nand keep track of the cur...","params":[{"identifier":"sound_name","optional":false,"description":"

audio track name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"volume","optional":true,"default":"default","description":"

Float specifying volume (0.0 - 1.0 values accepted).

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

the sound instance ID.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CXLvqrocQOR5IiFryf0S1","name":"rate","brief":"","examples":[{"caption":"","code":"// get the playback rate of the background music\nlet rate = me.audio.rate(\"dst-gameforest\");\n// speed up the playback of the background music\nme.audio.rate(\"dst-gameforest\", 2.0);"}],"scope":"static","type":"FunctionDoc","description":"

get or set the rate of playback for a sound.

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"rate","optional":true,"variadic":true,"description":"

playback rate : 0.5 to 4.0, with 1.0 being normal speed.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will be changed.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

return the current playback rate (if no extra parameters were given)

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"frI5tLKRGINmlilEQqcDe","name":"resume","brief":"","examples":[{"caption":"","code":"// play a audio clip\nlet id = me.audio.play(\"myClip\");\n...\n// pause it\nme.audio.pause(\"myClip\", id);\n...\n// resume\nme.audio.resume(\"myClip\", id);"}],"scope":"static","type":"FunctionDoc","description":"

resume the specified sound on all channels

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will resume.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Ry-R2v9wOAYmqebJRKlyq","name":"resumeTrack","brief":"","examples":[{"caption":"","code":"// play an awesome music\nme.audio.playTrack(\"awesome_music\");\n// pause the audio track\nme.audio.pauseTrack();\n// resume the music\nme.audio.resumeTrack();"}],"scope":"static","type":"FunctionDoc","description":"

resume the previously paused audio track

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U8Je6tiE7ZpXQfURiy1k4","name":"seek","brief":"","examples":[{"caption":"","code":"// return the current position of the background music\nlet current_pos = me.audio.seek(\"dst-gameforest\");\n// set back the position of the background music to the beginning\nme.audio.seek(\"dst-gameforest\", 0);"}],"scope":"static","type":"FunctionDoc","description":"

get/set the position of playback for a sound.

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"seek","optional":true,"variadic":true,"description":"

the position to move current playback to (in seconds).

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will changed.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

return the current seek position (if no extra parameters were given)

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XvXk8BVjoG0AZ7kaexwf8","name":"setVolume","brief":"","scope":"static","type":"FunctionDoc","description":"

set the default global volume

","params":[{"identifier":"volume","optional":false,"description":"

Float specifying volume (0.0 - 1.0 values accepted).

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"E-cNeHdmDOJYpUtlaQkdt","name":"stop","brief":"","examples":[{"caption":"","code":"me.audio.stop(\"cling\");"}],"scope":"static","type":"FunctionDoc","description":"

stop the specified sound on all channels

","params":[{"identifier":"sound_name","optional":true,"description":"

audio clip name (case sensitive). If none is passed, all sounds are stopped.

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will stop.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"hwmGMYCnaSCjRmwjenhG5","name":"stopTrack","brief":"","examples":[{"caption":"","code":"// play a awesome music\nme.audio.playTrack(\"awesome_music\");\n// stop the current music\nme.audio.stopTrack();"}],"scope":"static","see":["audio.playTrack"],"type":"FunctionDoc","description":"

stop the current audio track

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GBPoWhpEl_-yW5V5ONAT1","name":"unload","brief":"","examples":[{"caption":"","code":"me.audio.unload(\"awesome_music\");"}],"scope":"static","type":"FunctionDoc","description":"

unload specified audio track to free memory

","params":[{"identifier":"sound_name","optional":false,"description":"

audio track name - case sensitive

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

true if unloaded

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"BNMML841JQ9Latf_v2DrO","name":"unloadAll","brief":"","examples":[{"caption":"","code":"me.audio.unloadAll();"}],"scope":"static","type":"FunctionDoc","description":"

unload all audio to free memory

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dLe5ln_D4k-CQj2DNgSWk","name":"unmute","brief":"","scope":"static","type":"FunctionDoc","description":"

unmute the specified sound

","params":[{"identifier":"sound_name","optional":false,"description":"

audio clip name

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

the sound instance ID. If none is passed, all sounds in group will unmute.

","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"xapu6Zu-zg6gSyTUXfHT-","name":"unmuteAll","brief":"","scope":"static","type":"FunctionDoc","description":"

unmute all audio

","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"n2lVqS8NegC2pz--jhZRI","name":"collision","brief":"","type":"NSDoc","description":"

Collision detection (and projection-based collision response) of 2D shapes.
\nBased on the Separating Axis Theorem and s...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"xDVI8clvezCKnWm81jCnh","name":"types","brief":"","examples":[{"caption":"","code":" // set the body collision type\n myEntity.body.collisionType = me.collision.types.PLAYER_OBJECT;\n\n // filter collision detection with collision shapes, enemies and collectables\n myEntity.body.setCollisionMask(\n me.collision.types.WORLD_SHAPE |\n me.collision.types.ENEMY_OBJECT |\n me.collision.types.COLLECTABLE_OBJECT\n );\n\n // User-defined collision types are defined using BITWISE LEFT-SHIFT:\n game.collisionTypes = {\n LOCKED_DOOR : me.collision.types.USER << 0,\n OPEN_DOOR : me.collision.types.USER << 1,\n LOOT : me.collision.types.USER << 2,\n };\n\n // Set collision type for a door entity\n myDoorEntity.body.collisionType = game.collisionTypes.LOCKED_DOOR;\n\n // Set collision mask for the player entity, so it collides with locked doors and loot\n myPlayerEntity.body.setCollisionMask(\n me.collision.types.ENEMY_OBJECT |\n me.collision.types.WORLD_SHAPE |\n game.collisionTypes.LOCKED_DOOR |\n game.collisionTypes.LOOT\n );"}],"readonly":true,"scope":"static","see":["Body.setCollisionMask","Body.collisionType"],"type":"EnumDoc","description":"

Enum for collision type values.

","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"V1C0D3_4CFgehp-pq1Hgo","name":"ACTION_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

e.g. doors

"},{"id":"UeK6_PZkaw_TvPoyikiHP","name":"ALL_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

all of the above (including user-defined types)

"},{"id":"rPsOpEdSccZer5eC9okDp","name":"COLLECTABLE_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

collectable objects

"},{"id":"aF_v33yQwCHdJblNmDSM3","name":"ENEMY_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

enemies objects

"},{"id":"CdzYJjmZ2cctsfwG2SUQh","name":"NO_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

to disable collision check

"},{"id":"5TzbHITjZ3TtslWsj3qUL","name":"NO_OBJECT","brief":"

to disable collision check

","defaultValue":"0","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vBalrE1Riznl9DY-LQ_83","name":"NPC_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

non playable characters

"},{"id":"Nro46Wq5o_NNdeUpCtInJ","name":"PLAYER_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

playbable characters

"},{"id":"BE-rQqgr24DYnpA-6UqhF","name":"PROJECTILE_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

e.g. missiles

"},{"id":"FWGmaY4jcKYrxt1F8LXkr","name":"USER","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

user-defined collision types (see example)

"},{"id":"2eGh2R638PFhx7fX01Fsh","name":"WORLD_SHAPE","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

e.g. walls; for map collision shapes

"}]},{"id":"dgjyCOw_O6xbwtm-askfF","name":"maxChildren","brief":"","access":"public","defaultValue":"8","scope":"static","see":["game.world.broadphase"],"type":"PropertyDoc","description":"

The maximum number of children that a quadtree node can contain before it is split into sub-nodes.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZAoNTgwgboEBE9o5bXy7R","name":"maxDepth","brief":"","access":"public","defaultValue":"4","scope":"static","see":["game.world.broadphase"],"type":"PropertyDoc","description":"

The maximum number of levels that the quadtree will create.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H-h7U-cknsgGfhIaB9i09","name":"rayCast","brief":"","access":"public","examples":[{"caption":"","code":" // define a line accross the viewport\n let ray = new me.Line(\n // absolute position of the line\n 0, 0, [\n // starting point relative to the initial position\n new me.Vector2d(0, 0),\n // ending point\n new me.Vector2d(me.game.viewport.width, me.game.viewport.height)\n ]);\n\n // check for collition\n result = me.collision.rayCast(ray);\n\n if (result.length > 0) {\n // ...\n }"}],"scope":"instance","type":"MethodDoc","description":"

Checks for object colliding with the given line

","params":[{"identifier":"line","optional":false,"description":"

line to be tested for collision

","dataType":{"tokens":[{"value":"Line","kind":"canonical"},{"value":"Line","kind":"link"}],"template":"%1"}},{"identifier":"result","optional":true,"description":"

a user defined array that will be populated with intersecting physic objects.

","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

an array of intersecting physic objects

","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]}]},{"id":"spiXJEeppebxKODQSEom5","name":"device","brief":"","defaultValue":"false","type":"NSDoc","description":"

device type and capabilities

","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"8FxgbhYd32XcG1u5B_rPy","name":"platform","brief":"","readonly":true,"type":"NSDoc","description":"

The device platform type

","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"qQoFoBOKsL811NxWXD2Ui","name":"android","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is an Android platform

"},{"id":"mqrX2UPfg_SV5lqGGWHNR","name":"android2","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is an Android 2.x platform

"},{"id":"euTxZicLXNprgsWSx1mp4","name":"BlackBerry","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is a BlackBerry platform

"},{"id":"4bR1PXnJHg3UEqZ3NyYFb","name":"chromeOS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is running on ChromeOS.

"},{"id":"h8CFR-uGpfaw4JY3HPcZ6","name":"ejecta","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if running under Ejecta

"},{"id":"2uVqHDl5s-W6Kcu3jXdrY","name":"iOS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is an iOS platform

"},{"id":"6mqWlXg47JBgy6dw-Dza7","name":"isMobile","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if a mobile device

"},{"id":"e1-W7o8Bhts-3LLVeAD8P","name":"isWeixin","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if running under Wechat

"},{"id":"Aek_VsUjt1Z4YMZtdVVGs","name":"Kindle","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is a Kindle platform

"},{"id":"XHa418MQMZJE45iW6e_St","name":"linux","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is a Linux platform

"},{"id":"ps8BMaUmsEx3cNWK-AqPz","name":"nodeJS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if running under node.js

"},{"id":"DwNU0Kfqqc9s74wLphTiK","name":"ua","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

the user agent string for the current device

"},{"id":"oNdzW534B5wMG23--M5AN","name":"wp","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is a Windows Phone platform

"}]},{"id":"TOh9VcfNypOz3KgZH0Bkz","name":"accelerationX","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchAccelerometer"],"type":"PropertyDoc","description":"

contains the g-force acceleration along the x-axis.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"InzI8mJhzQAaT3oQ110r8","name":"accelerationY","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchAccelerometer"],"type":"PropertyDoc","description":"

contains the g-force acceleration along the y-axis.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EOUwYfQ6E6aCYkpmjoDPT","name":"accelerationZ","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchAccelerometer"],"type":"PropertyDoc","description":"

contains the g-force acceleration along the z-axis.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sTM5svomtzo5lAdjjC0q4","name":"alpha","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchDeviceOrientation"],"type":"PropertyDoc","description":"

Device orientation Alpha property. Gives angle based on the rotation of the phone around its z axis.\nThe z-axis is perpend...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yJys_WmwbFGblJuRVHJJ8","name":"autoFocus","brief":"","access":"public","defaultValue":"true","type":"PropertyDoc","description":"

Specify whether to automatically bring the window to the front

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OEi3rC5LRKiotGahMbZqy","name":"beta","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchDeviceOrientation"],"type":"PropertyDoc","description":"

Device orientation Beta property. Gives angle on tilting a portrait held phone forward or backward

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vY3BJSIlFkA9GY-DLwffe","name":"devicePixelRatio","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iKeSm9SlEAmnicmoFQ5lK","name":"gamma","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchDeviceOrientation"],"type":"PropertyDoc","description":"

Device orientation Gamma property. Gives angle on tilting a portrait held phone left or right

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XF_VWK_c-ufIUyVT-A_3J","name":"hasAccelerometer","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

Browser accelerometer capabilities

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o_dg220mALIbRH1oN5JKj","name":"hasDeviceOrientation","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

Browser device orientation

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LwB0QtKD7N7OTLEbYetGD","name":"hasFullscreenSupport","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Browser full screen support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4tgOh3RqPQoUw7PMRunmh","name":"hasHTML5Audio","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Device HTML5Audio Support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NJnrBvM9covhs54o_7xHC","name":"hasPointerLockSupport","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Browser pointerlock api support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qXZ85U3sZkYUKwdppHNy4","name":"hasVideo","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Device Video Support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DsqD9jAcOpUIzxEQbHXaK","name":"hasWebAudio","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

Device WebAudio Support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OCkzSxcS2VoAwsPSDTs8Y","name":"isMobile","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

equals to true if a mobile device.\n(Android | iPhone | iPad | iPod | BlackBerry | Windows Phone | Kindle)

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WJgC9nvZCKqVsCwCmCe2u","name":"language","brief":"","access":"public","readonly":true,"see":["http://www.w3schools.com/tags/ref_language_codes.asp"],"type":"PropertyDoc","description":"

a string representing the preferred language of the user, usually the language of the browser UI.\n(will default to "e...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jAyyNubQ7H13LSb_tWSNp","name":"localStorage","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Browser Local Storage capabilities
\n(this flag will be set to false if cookies are blocked)

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iN6L8tPpJ3h-kkLDgau2B","name":"maxTouchPoints","brief":"","access":"public","examples":[{"caption":"","code":"if (me.device.maxTouchPoints > 1) {\n // device supports multi-touch\n}"}],"readonly":true,"type":"PropertyDoc","description":"

the maximum number of simultaneous touch contact points are supported by the current device.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DVsoz44BziYGJdIb2A4hl","name":"nativeBase64","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Browser Base64 decoding capability

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r-rAsUw3uyXrsSZbMykAG","name":"offscreenCanvas","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

equals to true if the device browser supports OffScreenCanvas.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TpVDlJV2oZc_1-kH_JHEH","name":"pauseOnBlur","brief":"","access":"public","defaultValue":"true","deprecated":"since 15.4.0","see":["Application.pauseOnBlur"],"type":"PropertyDoc","description":"

Specify whether to pause the game when losing focus

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zinwXyV0WYHq0fpPwipJi","name":"platform","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

the device platform type

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-M8olIUrbmFW_A6kgADG5","name":"pointerEvent","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

True if the browser supports Pointer Events

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NV5AHmO0cZUFDvWGSGRcV","name":"resumeOnFocus","brief":"","access":"public","defaultValue":"true","deprecated":"since 15.4.0","see":["Application.resumeOnFocus"],"type":"PropertyDoc","description":"

Specify whether to unpause the game when gaining focus

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xMolKZdlm1QuGFphnaClz","name":"screenOrientation","brief":"","access":"public","readonly":true,"see":["https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/onchange"],"type":"PropertyDoc","description":"

Supports the ScreenOrientation API

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tDSciiSkoukbyTkq7P2eF","name":"sound","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Returns true if the browser/device has audio capabilities.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c9wa3KOl90Q2_9KyZxspf","name":"stopOnBlur","brief":"","access":"public","defaultValue":"false","deprecated":"since 15.4.0","see":["Application.stopOnBlur"],"type":"PropertyDoc","description":"

Specify whether to stop the game when losing focus or not.\nThe engine restarts on focus if this is enabled.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oi_nMVdCNJjQEwXdEIdB7","name":"touch","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

Touch capabilities (support either Touch or Pointer events)

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OW47a3SoGG0yZ8TvoMnku","name":"touchEvent","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

True if the browser supports Touch Events

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IPakbKEs0ltIgKxEkbB3w","name":"wheel","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

W3C standard wheel events

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xVUXIwoNFDNzhgPq_Kw5y","name":"enableSwipe","brief":"","access":"public","type":"FunctionDoc","description":"

enable/disable swipe on WebView.

","params":[{"identifier":"enable","optional":true,"default":"true","description":"

enable or disable swipe.

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"77Je7KCZTGMau2oLcPsMb","name":"exitFullscreen","brief":"","access":"public","type":"FunctionDoc","description":"

Exit fullscreen mode. Requires fullscreen support from the browser/device.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L9L_vpcHGBgo9H2-GRWbX","name":"focus","brief":"","access":"public","examples":[{"caption":"","code":"if (clicked) {\n me.device.focus();\n}"}],"type":"FunctionDoc","description":"

Makes a request to bring this device window to the front.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NMYtnW4quZwPZVA-2ZBX6","name":"getElement","brief":"","access":"public","type":"FunctionDoc","description":"

return the DOM element for the given element name or HTMLElement object

","params":[{"identifier":"element","optional":false,"description":"

the parent element name or a HTMLElement object

","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

the corresponding DOM Element or null if not existing

","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1zMoLnF6Ry_XQkDT_SlzG","name":"getElementBounds","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/DOMRect"],"type":"FunctionDoc","description":"

returns the size of the given HTMLElement and its position relative to the viewport\n
an HTMLElement object

","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

the size and position of the element relatively to the viewport

","dataType":{"tokens":[{"value":"DOMRect","kind":"canonical"},{"value":"DOMRect","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wHShpr37_9cGfxwBF-VEt","name":"getParentBounds","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/DOMRect"],"type":"FunctionDoc","description":"

returns the size of the given HTMLElement Parent and its position relative to the viewport\n
an HTMLElement object

","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

the size and position of the given element parent relative to the viewport

","dataType":{"tokens":[{"value":"DOMRect","kind":"canonical"},{"value":"DOMRect","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y-bEZrlYH0pFkHYynoQcv","name":"getParentElement","brief":"","access":"public","type":"FunctionDoc","description":"

return the parent DOM element for the given parent name or HTMLElement object

","params":[{"identifier":"element","optional":false,"description":"

the parent element name or a HTMLElement object

","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

the parent Element

","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1FA2U1K1QnjUOGQdGfj15","name":"getScreenOrientation","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation"],"type":"FunctionDoc","description":"

Return a string representing the orientation of the device screen.\nIt can be "any", "natural", "l...","params":[],"returns":[{"description":"

the screen orientation

","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"h_gGJhyT8GiR3Qaq66n-d","name":"getStorage","brief":"","access":"public","see":["save"],"type":"FunctionDoc","description":"

return the device storage

","params":[{"identifier":"type","optional":true,"default":"\"local\"","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

a reference to the device storage

","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"VKu36TF7Nk9wgjMXrkMXy","name":"isFullscreen","brief":"","access":"public","type":"FunctionDoc","description":"

Returns true if the browser/device is in full screen mode.

","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"BE5V0ZRbjMcAz3QZewhWy","name":"isLandscape","brief":"","access":"public","type":"FunctionDoc","description":"

return true if the device screen orientation is in Portrait mode

","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"u0mOoQ_yTF8zXxVvkJFfU","name":"isPortrait","brief":"","access":"public","type":"FunctionDoc","description":"

return true if the device screen orientation is in Portrait mode

","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HMImWI1tZcKMn0qkL9fj8","name":"isWebGLSupported","brief":"","access":"public","type":"FunctionDoc","description":"

returns true if the device supports WebGL

","params":[{"identifier":"options","optional":true,"description":"

context creation options

","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.failIfMajorPerformanceCaveat","optional":true,"default":"true","description":"

If true, the renderer will switch to CANVAS mode if the performances of a WebGL context would be dramatically lower than t...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

true if WebGL is supported

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"o5X6x_PCPK2_at6m_N0Ly","name":"lockOrientation","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation"],"type":"FunctionDoc","description":"

locks the device screen into the specified orientation.
\nThis method only works for installed Web apps or for Web pages...","params":[{"identifier":"orientation","optional":false,"description":"

The orientation into which to lock the screen.

","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

true if the orientation was unsuccessfully locked

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7w1dmPE7BZFy1Dxvrn_y8","name":"onReady","brief":"","access":"public","examples":[{"caption":"","code":" // small game skeleton\n let game = {\n // called by the me.device.onReady function\n onload = function () {\n // init video\n if (!me.video.init('screen', 640, 480, true)) {\n alert(\"Sorry but your browser does not support html 5 canvas.\");\n return;\n }\n\n // initialize the \"audio\"\n me.audio.init(\"mp3,ogg\");\n\n // set callback for ressources loaded event\n me.loader.onload = this.loaded.bind(this);\n\n // set all ressources to be loaded\n me.loader.preload(game.assets);\n\n // load everything & display a loading screen\n me.state.change(me.state.LOADING);\n };\n\n // callback when everything is loaded\n loaded = function () {\n // define stuff\n // ....\n\n // change to the menu screen\n me.state.change(me.state.PLAY);\n }\n }; // game\n\n // \"bootstrap\"\n me.device.onReady(function () {\n game.onload();\n });"}],"type":"FunctionDoc","description":"

specify a function to execute when the Device is fully loaded and ready

","params":[{"identifier":"fn","optional":false,"description":"

the function to be executed

","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"SZd6Qo_lDuh5AjIwx0yrv","name":"requestFullscreen","brief":"","access":"public","examples":[{"caption":"","code":"// add a keyboard shortcut to toggle Fullscreen mode on/off\nme.input.bindKey(me.input.KEY.F, \"toggleFullscreen\");\nme.event.on(me.event.KEYDOWN, function (action, keyCode, edge) {\n // toggle fullscreen on/off\n if (action === \"toggleFullscreen\") {\n me.device.requestFullscreen();\n } else {\n me.device.exitFullscreen();\n }\n});"}],"type":"FunctionDoc","description":"

Triggers a fullscreen request. Requires fullscreen support from the browser/device.

","params":[{"identifier":"element","optional":true,"description":"

the element to be set in full-screen mode.

","dataType":{"tokens":[{"value":"Element","kind":"canonical"},{"value":"Element","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"5khOk98HTj3DkWKVH_5CS","name":"unlockOrientation","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation"],"type":"FunctionDoc","description":"

unlocks the device screen into the specified orientation.
\nThis method only works for installed Web apps or for Web pag...","params":[],"returns":[{"description":"

true if the orientation was unsuccessfully unlocked

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"XsVqFxjzTB_09O9qkbuK0","name":"unwatchAccelerometer","brief":"","access":"public","type":"FunctionDoc","description":"

unwatch Accelerometor event

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lm43_S_2A0yZfgEYBvuRf","name":"unwatchDeviceOrientation","brief":"","access":"public","type":"FunctionDoc","description":"

unwatch Device orientation event

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BXv6MczFBZhXNP7klzh3N","name":"vibrate","brief":"","access":"public","examples":[{"caption":"","code":"// vibrate for 1000 ms\nme.device.vibrate(1000);\n// or alternatively\nme.device.vibrate([1000]);\n// vibrate for 50 ms, be still for 100 ms, and then vibrate for 150 ms:\nme.device.vibrate([50, 100, 150]);\n// cancel any existing vibrations\nme.device.vibrate(0);"}],"type":"FunctionDoc","description":"

the vibrate method pulses the vibration hardware on the device,
\nIf the device doesn't support vibration, this method ...","params":[{"identifier":"pattern","optional":false,"description":"

pattern of vibration and pause intervals

","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | %3<%2>"}}],"returns":[],"extends":[],"implements":[]},{"id":"qqtE9wV2QLnp-t7ksbnU4","name":"watchAccelerometer","brief":"","access":"public","examples":[{"caption":"","code":"// try to enable device accelerometer event on user gesture\nme.input.registerPointerEvent(\"pointerleave\", me.game.viewport, function() {\n if (me.device.watchAccelerometer() === true) {\n // Success\n me.input.releasePointerEvent(\"pointerleave\", me.game.viewport);\n } else {\n // ... fail at enabling the device accelerometer event\n }\n});"}],"see":["device.accelerationX","device.accelerationY","device.accelerationZ"],"type":"FunctionDoc","description":"

Enable monitor of the device accelerator to detect the amount of physical force of acceleration the device is receiving.\n(...","params":[],"returns":[{"description":"

false if not supported or permission not granted by the user

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ey-Cg3VyYm9m5n_Y5Jyxu","name":"watchDeviceOrientation","brief":"","access":"public","examples":[{"caption":"","code":"// try to enable device orientation event on user gesture\nme.input.registerPointerEvent(\"pointerleave\", me.game.viewport, function() {\n if (me.device.watchDeviceOrientation() === true) {\n // Success\n me.input.releasePointerEvent(\"pointerleave\", me.game.viewport);\n } else {\n // ... fail at enabling the device orientation event\n }\n});"}],"see":["device.alpha","device.beta","device.gamma"],"type":"FunctionDoc","description":"

Enable monitor of the device orientation to detect the current orientation of the device as compared to the Earth coordina...","params":[],"returns":[{"description":"

false if not supported or permission not granted by the user

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"gClSnucaAFwJz0_ZaRyeG","name":"event","brief":"","type":"NSDoc","description":"

an event system based on nodeJS EventEmitter interface

","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"LX7Qk4TkWpq38hCeC-96n","name":"BLUR","brief":"","access":"public","defaultValue":"\"me.blur\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event generated when the main browser or window is losing focus

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aFQ7WczcIWSySjBx1oeMZ","name":"BOOT","brief":"","access":"public","defaultValue":"\"me.boot\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event when the system is booting

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tPeHkv_yRnu7zUJMax4_4","name":"CANVAS_ONRESIZE","brief":"","access":"public","defaultValue":"\"canvas.onresize\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the canvas is resized
\n(this usually follows a WINDOW_ONRESIZE event).
\nData passed : {number} canva...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_BzlnQGtIDhTwrOqKd2-Y","name":"DOM_READY","brief":"","access":"public","defaultValue":"\"dom_ready\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event when the DOM is Ready is booting

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ibxUn11DgyFJumW9cuCBT","name":"DRAGEND","brief":"","access":"public","defaultValue":"\"me.game.dragend\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for dragend events on a Draggable entity
\nData passed:\n{object} the drag event
\n{object} the Draggable entit...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RH6CxxA6ex4GeSQfZAJLP","name":"DRAGSTART","brief":"","access":"public","defaultValue":"\"me.game.dragstart\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for dragstart events on a Draggable entity
\nData passed:\n{object} the drag event
\n{object} the Draggable ent...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3FwduoEtOAsdxSMb6iksz","name":"FOCUS","brief":"","access":"public","defaultValue":"\"me.focus\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event generated when the main browser or window is gaining back focus

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XetTB-XR5wVVlxaS6NFIT","name":"GAME_AFTER_DRAW","brief":"","access":"public","defaultValue":"\"me.game.afterDraw\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for the start of the draw loop\nData passed : {number} time the current time stamp

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JCyoKHkHSTjjqowFRqdI6","name":"GAME_AFTER_UPDATE","brief":"","access":"public","defaultValue":"\"me.game.afterUpdate\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for the end of the update loop\nData passed : {number} time the current time stamp

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AczxnaCsaB2v4c5cVyh3L","name":"GAME_BEFORE_DRAW","brief":"","access":"public","defaultValue":"\"me.game.beforeDraw\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for the end of the draw loop\nData passed : {number} time the current time stamp

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uvrvcntmo6v0JN9gJ5PeD","name":"GAME_BEFORE_UPDATE","brief":"","access":"public","defaultValue":"\"me.game.beforeUpdate\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for when the engine is about to start a new game loop\nData passed : {number} time the current time stamp

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xa-DNdCDF1pUzIKJsenED","name":"GAME_INIT","brief":"","access":"public","defaultValue":"\"me.game.onInit\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for when the game manager is initialized
\nData passed : none

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"twfy974c2WHdVwnUM--0M","name":"GAME_RESET","brief":"","access":"public","defaultValue":"\"me.game.onReset\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for when the game manager is resetted
\nData passed : none

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yRS3iRvcn23q_SRjG_Xpd","name":"GAME_UPDATE","brief":"","access":"public","defaultValue":"\"me.game.onUpdate\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the game is updated (will be impacted by frame skip, frame interpolation and pause/resume state)
\nData ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iFBSWBr5v4Mra4evD3EQ8","name":"GAMEPAD_CONNECTED","brief":"","access":"public","defaultValue":"\"gamepad.connected\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when a gamepad is connected
\nData passed : {object} gamepad object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ItVrCr2ZSVR97teDXUT-q","name":"GAMEPAD_DISCONNECTED","brief":"","access":"public","defaultValue":"\"gamepad.disconnected\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when a gamepad is disconnected
\nData passed : {object} gamepad object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TGaAr5gw5iXhlCz9kDPlU","name":"GAMEPAD_UPDATE","brief":"","access":"public","defaultValue":"\"gamepad.update\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when gamepad button/axis state is updated
\nData passed : {number} index
\nData passed : {string} type : &...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_oE_r49at8PK0afTHiMtM","name":"KEYDOWN","brief":"","access":"public","defaultValue":"\"me.input.keydown\"","examples":[{"caption":"","code":" me.input.bindKey(me.input.KEY.X, \"jump\", true); // Edge-triggered\n me.input.bindKey(me.input.KEY.Z, \"shoot\"); // Level-triggered\n me.event.on(me.event.KEYDOWN, (action, keyCode, edge) => {\n // Checking bound keys\n if (action === \"jump\") {\n if (edge) {\n this.doJump();\n }\n\n // Make character fall slower when holding the jump key\n this.vel.y = this.body.gravity;\n }\n });"}],"readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for pressing a binded key
\nData passed : {string} user-defined action, {number} keyCode,\n{boolean} edge state {\n // Checking unbound keys\n if (keyCode == me.input.KEY.ESC) {\n if (me.state.isPaused()) {\n me.state.resume();\n }\n else {\n me.state.pause();\n }\n }\n});"}],"readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for releasing a binded key
\nData passed : {string} user-defined action, {number} keyCode

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tY2cK0e5iEOrVVz5pcovr","name":"LEVEL_LOADED","brief":"","access":"public","defaultValue":"\"me.game.onLevelLoaded\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when a level is loaded
\nData passed : {string} Level Name

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sUKI_Z0gOxTVeroFsK8pT","name":"LOADER_COMPLETE","brief":"","access":"public","defaultValue":"\"me.loader.onload\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when everything has loaded
\nData passed : none

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5pBnPocArk1YvTgadyn_w","name":"LOADER_ERROR","brief":"","access":"public","defaultValue":"\"me.loader.onError\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when an error occur during preloading
\nData passed : {Resource} resource object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LbBTy_9aB_ygJ1nc3P9iu","name":"LOADER_PROGRESS","brief":"","access":"public","defaultValue":"\"me.loader.onProgress\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for displaying a load progress indicator
\nData passed : {number} [0 .. 1], {Resource} resource object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dMAYQYZveTQZjmRrV0n5Y","name":"ONCONTEXT_RESTORED","brief":"","access":"public","defaultValue":"\"renderer.contextrestored\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the current context is restored
\nData passed : {me.Renderer} the current renderer instance`

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5feKm6nkdEEnTTdC76Ftp","name":"POINTERLOCKCHANGE","brief":"","access":"public","defaultValue":"\"me.event.pointerlockChange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for onPointerLockChange event
\nData passed : {boolean} pointer lock status (true/false)

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p0KJbXWDW5re-xSKCDl5M","name":"POINTERMOVE","brief":"","access":"public","defaultValue":"\"me.event.pointermove\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for pointermove events on the screen area
\nData passed : {me.Pointer} a Pointer object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ki8Z9cDNs4P1kfeXOcHEU","name":"STAGE_RESET","brief":"","access":"public","defaultValue":"\"me.stage.onReset\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for when a stage is resetted

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tvYk7yG-zRKY_RL3K2zcU","name":"STATE_CHANGE","brief":"","access":"public","defaultValue":"\"me.state.onChange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for when the changing to a different stage

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_rdUuEOiYPn-ZETZkcmoo","name":"STATE_PAUSE","brief":"","access":"public","defaultValue":"\"me.state.onPause\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event when the game is paused
\nData passed : none

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hktbjQ0XUucjJnltD3t3q","name":"STATE_RESTART","brief":"","access":"public","defaultValue":"\"me.state.onRestart\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for when the game is restarted
\nData passed : {number} time in ms the game was stopped

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CaWJXHGLQjZZclvTNQ3DZ","name":"STATE_RESUME","brief":"","access":"public","defaultValue":"\"me.state.onResume\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event for when the game is resumed
\nData passed : {number} time in ms the game was paused

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VVmHtrgTVg-SdClXZoE20","name":"STATE_STOP","brief":"","access":"public","defaultValue":"\"me.state.onStop\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event when the game is stopped
\nData passed : none

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xXMeBaUo48w1VCdRANpGv","name":"TICK","brief":"","access":"public","defaultValue":"\"me.tick\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

event generated when the system update the engine and the renderer by one step

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sGy7B6aBmLp_qa4H2po9l","name":"VIDEO_INIT","brief":"","access":"public","defaultValue":"\"me.video.onInit\"","readonly":true,"see":["video.init","event.on"],"type":"PropertyDoc","description":"

event for when the video is initialized
\nData passed : {Renderer} the renderer instance created

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xGTFhModUJBgqqOqZdc03","name":"VIEWPORT_ONCHANGE","brief":"","access":"public","defaultValue":"\"viewport.onchange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the viewport position is updated
\nData passed : {me.Vector2d} viewport position vector

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K4Pgg-c7LVnojgJwIrg_-","name":"VIEWPORT_ONRESIZE","brief":"","access":"public","defaultValue":"\"viewport.onresize\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the viewport is resized
\n(this usually follows a WINDOW_ONRESIZE event, when using the flexEvent for when the current context is lost
\nData passed : {me.Renderer} the current renderer instance

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W5-bhMwIA3t6LnVZcHNGn","name":"WINDOW_ONORIENTATION_CHANGE","brief":"","access":"public","defaultValue":"\"globalThis.orientationchange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the device is rotated
\nData passed : {Event} Event object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WgB5Zz_TQHgKklxHogMkM","name":"WINDOW_ONRESIZE","brief":"","access":"public","defaultValue":"\"globalThis.onresize\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the (browser) window is resized
\nData passed : {Event} Event object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5AxTCxhjvjaGyzx7KI3Rl","name":"WINDOW_ONSCROLL","brief":"","access":"public","defaultValue":"\"globalThis.onscroll\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the (browser) window is scrolled
\nData passed : {Event} Event object

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W51VSMn6tJe2puWXdF65L","name":"WORLD_STEP","brief":"","access":"public","defaultValue":"\"me.world.step\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

Event for when the physic world is updated\nData passed : {number} time the current time stamp

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ulf2Vsa32S__EwAguR4Zt","name":"emit","brief":"","examples":[{"caption":"","code":"me.event.emit(\"event-name\", a, b, c);"}],"scope":"static","type":"FunctionDoc","description":"

calls each of the listeners registered for a given event.

","params":[{"identifier":"eventName","optional":false,"description":"

The event name.

","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

arguments to be passed to all listeners

","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

true if the event had listeners, false otherwise.

","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"NwqgOck-0Hj8EMIrhcC3_","name":"off","brief":"","access":"public","examples":[{"caption":"","code":"me.event.off(\"event-name\", myFunction);"}],"scope":"static","type":"FunctionDoc","description":"

remove the given listener for a given event.

","params":[{"identifier":"eventName","optional":false,"description":"

The event name.

","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"listener","optional":false,"description":"

The listener function.

","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

this.

","dataType":{"tokens":[{"value":"EventEmitter","kind":"canonical"},{"value":"EventEmitter","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OiUe-0cm7PCDWUB0Y_Tt3","name":"on","brief":"","access":"public","examples":[{"caption":"","code":"me.event.on(\"event-name\", myFunction, this);"}],"scope":"static","type":"FunctionDoc","description":"

Add a listener for a given event.

","params":[{"identifier":"eventName","optional":false,"description":"

The event name.

","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"listener","optional":false,"description":"

The listener function.

","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"context","optional":true,"default":"this","description":"

The context to invoke the listener with.

","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

this.

","dataType":{"tokens":[{"value":"EventEmitter","kind":"canonical"},{"value":"EventEmitter","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hcw1tOrVgFXjroiMZdctI","name":"once","brief":"","access":"public","examples":[{"caption":"","code":"me.event.once(\"event-name\", myFunction, this);"}],"scope":"static","type":"FunctionDoc","description":"

Add a one-time listener for a given event.

","params":[{"identifier":"eventName","optional":false,"description":"

The event name.

","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"listener","optional":false,"description":"

The listener function.

","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"context","optional":true,"default":"this","description":"

The context to invoke the listener with.

","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

this.

","dataType":{"tokens":[{"value":"EventEmitter","kind":"canonical"},{"value":"EventEmitter","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"AlukIS9aNe0sPAEamYwaV","name":"game","brief":"","readonly":true,"see":["Application"],"type":"NSDoc","description":"

game is a default instance of a melonJS Application and represents your current game,\nit contains all the objects, tilemap...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b_J_egx94EarKPBNLlWqR","name":"input","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Zs_8Lcx3hFORw4JFN5wdg","name":"GAMEPAD","brief":"","access":"public","type":"NSDoc","description":"

Namespace for standard gamepad mapping constants

","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"C02mbPIwaG2Vg_FiaysFk","name":"AXES","brief":"","access":"public","scope":"static","see":["https://w3c.github.io/gamepad/#remapping"],"type":"EnumDoc","description":"

Standard gamepad mapping information for axes

\n
    \n
  • Left control stick: LX (horizontal), Standard gamepad mapping information for buttons

    \n
      \n
    • Face buttons: FACE_1, FACE_2standard keyboard constants

      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"n9iwJMq8KDoO5aam8Crwl","name":"A","brief":"","defaultValue":"65","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nezM3Tb12mnE5gA8B2xj1","name":"ADD","brief":"","defaultValue":"107","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0MdkdXYBuaCbD_jerzupW","name":"ALT","brief":"","defaultValue":"18","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TEAcGJibQ1q4qv_vDbbdm","name":"B","brief":"","defaultValue":"66","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dy4OHcUoSpv1e86IelQhq","name":"BACK_SLASH","brief":"","defaultValue":"220","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IW-7i6KBWnvPH_XxN8oWz","name":"C","brief":"","defaultValue":"67","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PmXjq1UynuVSVoykzFugT","name":"CAPS_LOCK","brief":"","defaultValue":"20","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TYR1tMA62Q6sL5BiWPzgC","name":"CLOSE_BRACKET","brief":"","defaultValue":"221","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x_hILKiXWgQ6zN_7_SE-a","name":"COMMA","brief":"","defaultValue":"188","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xsKPUdEGQf_KzuiHD9ZDJ","name":"CTRL","brief":"","defaultValue":"17","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qtL9et6YKfZpjNBJk3-wu","name":"D","brief":"","defaultValue":"68","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gUbBC-t2mvwP7ZWQ9TE0T","name":"DECIMAL","brief":"","defaultValue":"110","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wUerGTT3vABmeLsWl5vuY","name":"DELETE","brief":"","defaultValue":"46","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IAMfokYSnvkkXVFJ8zepZ","name":"DIVIDE","brief":"","defaultValue":"111","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"89pl1jwFUNp2zZPuMWXUd","name":"DOWN","brief":"","defaultValue":"40","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b1YEja-AjYNLuJbZSNv6A","name":"E","brief":"","defaultValue":"69","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ienOfh27FjLEWfcNPNKxt","name":"END","brief":"","defaultValue":"35","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CyoEX4fowoWD0RrGLkqCo","name":"ENTER","brief":"","defaultValue":"13","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S1RSoPqmiwFO8Cjbdiz_W","name":"ESC","brief":"","defaultValue":"27","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tL8aBtSjtBJzU68EtrZv9","name":"F","brief":"","defaultValue":"70","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vad3_9O8YpfNzqGJbt6sB","name":"F1","brief":"","defaultValue":"112","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oew5f-14-3x2F3sKeHuII","name":"F10","brief":"","defaultValue":"121","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r302Ewb9pOsmAm_gGHRCv","name":"F11","brief":"","defaultValue":"122","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jFn_Koius-tYuuWqehouL","name":"F12","brief":"","defaultValue":"123","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DQq6qjQtBZ4-8ozxH6fWQ","name":"F2","brief":"","defaultValue":"113","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gx2ODapQZxyhzaMNlwCvU","name":"F3","brief":"","defaultValue":"114","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"htIA_4CLPZD4YeQgktgXw","name":"F4","brief":"","defaultValue":"115","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SWAyTirAc2_PPdbz0qEac","name":"F5","brief":"","defaultValue":"116","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"br6RvzAl8KigvD0ZVsB30","name":"F6","brief":"","defaultValue":"117","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W37EB4Tn7rKQk7h--T1Ca","name":"F7","brief":"","defaultValue":"118","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a-VQIxc1xZXdvRjq8e8aR","name":"F8","brief":"","defaultValue":"119","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z5qzzv0ZqbiQvofbfHJAk","name":"F9","brief":"","defaultValue":"120","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QvA_qi58jkWeNKPnk2fIg","name":"FORWAND_SLASH","brief":"","defaultValue":"191","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7G8QHhSh3VdertYqC_AMW","name":"G","brief":"","defaultValue":"71","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yEKB9mBbwU5L51dI0KGjF","name":"GRAVE_ACCENT","brief":"","defaultValue":"192","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nigCL7aKjqBgmvfUeRGKR","name":"H","brief":"","defaultValue":"72","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nS4GBXSqyj_Hwu-scpba2","name":"HOME","brief":"","defaultValue":"36","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L3gcWT9t7-rPJNsQwAjmn","name":"I","brief":"","defaultValue":"73","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4cEJoa1nZUvlS2tAodD14","name":"INSERT","brief":"","defaultValue":"45","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-QbpEGI17DnwozcexlMll","name":"J","brief":"","defaultValue":"74","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C8DUkZl1LVMEAx3bxQJer","name":"K","brief":"","defaultValue":"75","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0VBbRiyl8v5Uxv7nE23cH","name":"L","brief":"","defaultValue":"76","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"csmLd_SwESiOCqzEtjKeS","name":"LEFT","brief":"","defaultValue":"37","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XsPkDicF-8iYvfbCM6mQY","name":"M","brief":"","defaultValue":"77","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Yy8dDNIf_tdKrQ-g-Kp3C","name":"MINUS","brief":"","defaultValue":"189","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nC-q8phHiAfVYI3lx7ocR","name":"MULTIPLY","brief":"","defaultValue":"106","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aLyzYbXIU-i9ZyLK9Zjag","name":"N","brief":"","defaultValue":"78","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WEjExNOad3rkGNCuOio_Z","name":"NUM_LOCK","brief":"","defaultValue":"144","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jwUPEbdc-7sHbo-9IfSsw","name":"NUM0","brief":"","defaultValue":"48","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dKekT51-Z2heypu2DPqTh","name":"NUM1","brief":"","defaultValue":"49","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oJo2lTxaKdBSfT5KoZlj8","name":"NUM2","brief":"","defaultValue":"50","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mNYqoRkja6tsU22tCCxtX","name":"NUM3","brief":"","defaultValue":"51","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rmfOVIw3iaV1XH8rR4ub6","name":"NUM4","brief":"","defaultValue":"52","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1IUZmWQUCxpT3Qi8YC9bm","name":"NUM5","brief":"","defaultValue":"53","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R5GQpvGTY7Z15dp9kRbVD","name":"NUM6","brief":"","defaultValue":"54","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8ekZPu8jR1Gmr8_2JpWYR","name":"NUM7","brief":"","defaultValue":"55","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2UjbEP8zuD5VD-KaZ8Dy-","name":"NUM8","brief":"","defaultValue":"56","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xU-KcA9Me_9VfL6pzBUgj","name":"NUM9","brief":"","defaultValue":"57","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CxTNHNUcQUhLOBlu5Z-9s","name":"NUMPAD0","brief":"","defaultValue":"96","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sTIc1jnKpIOP6ADyqh3Cm","name":"NUMPAD1","brief":"","defaultValue":"97","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ut3ryqcKPjQYOcq1X0Cqc","name":"NUMPAD2","brief":"","defaultValue":"98","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pF5g0BUT2B0x_dguY7cuR","name":"NUMPAD3","brief":"","defaultValue":"99","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UEna8NIq0Kj5l_LGDReOW","name":"NUMPAD4","brief":"","defaultValue":"100","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S-6osWskzpVvQlPLRMyC7","name":"NUMPAD5","brief":"","defaultValue":"101","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WpJb7RsWEquJyp-zl5p63","name":"NUMPAD6","brief":"","defaultValue":"102","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9VtekhNilQxfsJnl4GZvf","name":"NUMPAD7","brief":"","defaultValue":"103","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A0kOzmoIgsF_JRHohjGDM","name":"NUMPAD8","brief":"","defaultValue":"104","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3216LlDcacURACc1S9GRF","name":"NUMPAD9","brief":"","defaultValue":"105","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GUESkKHN3QOP2kSPCleOQ","name":"O","brief":"","defaultValue":"79","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D5NAaeszcvIHTdYiLjELE","name":"OPEN_BRACKET","brief":"","defaultValue":"219","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_0mIX-fXvvYjdUmNGmdPE","name":"P","brief":"","defaultValue":"80","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"trLyXrvM9_ElPsJfdXWSV","name":"PAGE_DOWN","brief":"","defaultValue":"34","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9wXmWVDVCXT63b9r-7Z9o","name":"PAGE_UP","brief":"","defaultValue":"33","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PlP8HJxznRDQaW3tGao7F","name":"PAUSE","brief":"","defaultValue":"19","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QdIs0HfhSw07alM0v97Mr","name":"PERIOD","brief":"","defaultValue":"190","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0YRoLIzKQLlqGKHf4MT0h","name":"PLUS","brief":"","defaultValue":"187","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rcnTA7CNPmyRZxwG-BXtt","name":"PRINT_SCREEN","brief":"","defaultValue":"42","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZrItOZY1-4UiO5-sHUYm7","name":"Q","brief":"","defaultValue":"81","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ySyIGhGMUWZWbOEW9g-AM","name":"R","brief":"","defaultValue":"82","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tuKHTNRHGAjBe2GvVDgf-","name":"RIGHT","brief":"","defaultValue":"39","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yDp8PWHVfrOCqaXS8XB5F","name":"S","brief":"","defaultValue":"83","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iVwbRq9Nt8fdZQ9ewAuZH","name":"SCROLL_LOCK","brief":"","defaultValue":"145","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"osSV8Y0l_7Na7raxRNhgB","name":"SEMICOLON","brief":"","defaultValue":"186","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EKgk25N4dk8ZD67fO3JCq","name":"SHIFT","brief":"","defaultValue":"16","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sAqt59sk4xc45MbJxQbs6","name":"SINGLE_QUOTE","brief":"","defaultValue":"222","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IwymZIzrenmsKdHifQgC-","name":"SPACE","brief":"","defaultValue":"32","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xGU_w01MfcRc6X0vDo4t_","name":"SUBSTRACT","brief":"","defaultValue":"109","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c0_Txass_lrgf81ksCXmn","name":"T","brief":"","defaultValue":"84","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hazU5D4OY0uUuI-MPV2gJ","name":"TAB","brief":"","defaultValue":"9","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AXCdiVwspQXz5yCRUg--7","name":"TILDE","brief":"","defaultValue":"126","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J4RbKof4V-yzcTBthqmc_","name":"U","brief":"","defaultValue":"85","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8JmXCUwC724K1wXTxdcAy","name":"UP","brief":"","defaultValue":"38","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DB6XcWfK-ojQbL4_0cQ6w","name":"V","brief":"","defaultValue":"86","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zqBKacdgVCfBFOqloWuZ8","name":"W","brief":"","defaultValue":"87","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qXW7b5fKlX-WOQQgUmbKP","name":"WINDOW_KEY","brief":"","defaultValue":"91","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rgruBciS6rPolHqREkjMG","name":"X","brief":"","defaultValue":"88","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4Xq3K3DKvorDY7o4NCWCo","name":"Y","brief":"","defaultValue":"89","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"69A8GR5r3JL8rQt46ZPmw","name":"Z","brief":"","defaultValue":"90","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"3ljGGOy1mDk0kcjNUtq9e","name":"keyBoardEventTarget","brief":"","access":"public","defaultValue":"undefined","type":"PropertyDoc","description":"

      the default target element for keyboard events (usually the window element in which the game is running)

      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xPk-owXb_KEqh9ZhR1qG6","name":"locked","brief":"","access":"public","defaultValue":"false","type":"PropertyDoc","description":"

      indicates if the pointer is currently locked

      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zGpFnZZ35CotplZ0DFwci","name":"pointer","brief":"","access":"public","type":"PropertyDoc","description":"

      Pointer information (current position and size)

      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SuDq3oF8s13UJ9z0azDGh","name":"pointerEventTarget","brief":"","access":"public","defaultValue":"undefined","type":"PropertyDoc","description":"

      the default target element for pointer events (usually the canvas element in which the game is rendered)

      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zw7Hol1Drf6e0XAOCpdSp","name":"preventDefault","brief":"","access":"public","defaultValue":"true","type":"PropertyDoc","description":"

      specify if melonJS should prevent all default browser action on registered events.

      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4lz6sdUA5EXrFbF6dy1pk","name":"setGamepadMapping","brief":"","access":"public","examples":[{"caption":"","code":" // A weird controller that has its axis mappings reversed\n me.input.setGamepadMapping(\"Generic USB Controller\", {\n \"axes\" : [ 3, 2, 1, 0 ],\n \"buttons\" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]\n });\n\n // Mapping extra axes to analog buttons\n me.input.setGamepadMapping(\"Generic Analog Controller\", {\n \"axes\" : [ 0, 1, 2, 3 ],\n \"buttons\" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ],\n\n // Raw axis 4 is mapped to GAMEPAD.BUTTONS.FACE_1\n // Raw axis 5 is mapped to GAMEPAD.BUTTONS.FACE_2\n // etc...\n // Also maps left and right triggers\n \"analog\" : [ 4, 5, 6, 7, -1, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1 ],\n\n // Normalize the value of button L2: [-1.0..1.0] => [0.0..1.0]\n \"normalize_fn\" : function (value, axis, button) {\n return ((button === me.input.GAMEPAD.BUTTONS.L2) ? ((value + 1) / 2) : value) || 0;\n }\n });"}],"type":"PropertyDoc","description":"

      specify a custom mapping for a specific gamepad id
      \nsee below for the default mapping :

      \n
      Gamepad id string

      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"mapping","description":"

      A hash table

      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"mapping.axes","description":"

      Standard analog control stick axis locations

      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}},{"identifier":"mapping.buttons","description":"

      Standard digital button locations

      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}},{"identifier":"mapping.analog","optional":true,"description":"

      Analog axis locations for buttons

      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}},{"identifier":"mapping.normalize_fn","optional":true,"description":"

      a function that returns a normalized value in range [-1.0..1.0] for the given value, axis and button

      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"QDQVBvXM2UWNjASZs3zQP","name":"throttlingInterval","brief":"","access":"public","type":"PropertyDoc","description":"

      time interval for event throttling in milliseconds
      \ndefault value : "1000/me.timer.maxfps" ms
      \nset to 0 ms...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U_3CIcrWni2P4XpUuK9LR","name":"bindGamepad","brief":"","access":"public","examples":[{"caption":"","code":"// enable the keyboard\nme.input.bindKey(me.input.KEY.X, \"shoot\");\n...\n// map the lower face button on the first gamepad to the X key\nme.input.bindGamepad(0, {type:\"buttons\", code: me.input.GAMEPAD.BUTTONS.FACE_1}, me.input.KEY.X);\n// map the left axis value on the first gamepad to the LEFT key\nme.input.bindGamepad(0, {type:\"axes\", code: me.input.GAMEPAD.AXES.LX, threshold: -0.5}, me.input.KEY.LEFT);"}],"type":"FunctionDoc","description":"

      Associate a gamepad event to a keycode

      ","params":[{"identifier":"index","optional":false,"description":"

      Gamepad index

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"button","optional":false,"description":"

      Button/Axis definition

      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"button.type","description":"

      "buttons" or "axes"

      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"button.code","description":"

      button or axis code id (See {@link input.GAMEPAD.BUTTONS}, {@link input.GAMEPAD.AXES})

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"button.threshold","optional":true,"default":"1","description":"

      value indicating when the axis should trigger the keycode (e.g. -0.5 or 0.5)

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"keyCode","optional":false,"description":"

      (See {@link input.KEY})

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"WENzOEKpDQIqJFoshVDi4","name":"bindKey","brief":"","access":"public","examples":[{"caption":"","code":"// enable the keyboard\nme.input.bindKey(me.input.KEY.LEFT, \"left\");\nme.input.bindKey(me.input.KEY.RIGHT, \"right\");\nme.input.bindKey(me.input.KEY.X, \"jump\", true);\nme.input.bindKey(me.input.KEY.F1, \"options\", true, true);"}],"type":"FunctionDoc","description":"

      associate a user defined action to a keycode

      ","params":[{"identifier":"keycode","optional":false,"description":"

      (See {@link input.KEY})

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"action","optional":false,"description":"

      user defined corresponding action

      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"lock","optional":true,"default":"false","description":"

      cancel the keypress event once read

      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"preventDefault","optional":true,"default":"input.preventDefault","description":"

      prevent default browser action

      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Okmk3D6czrlqXbJQxCEz2","name":"bindPointer","brief":"","examples":[{"caption":"","code":"// enable the keyboard\nme.input.bindKey(me.input.KEY.X, \"shoot\");\n// map the left button click on the X key (default if the button is not specified)\nme.input.bindPointer(me.input.KEY.X);\n// map the right button click on the X key\nme.input.bindPointer(me.input.pointer.RIGHT, me.input.KEY.X);"}],"type":"FunctionDoc","description":"

      Associate a pointer event to a keycode
      \nLeft button – 0\nMiddle button – 1\nRight button – 2

      ","params":[{"identifier":"button","optional":true,"default":"input.pointer.LEFT","description":"

      (accordingly to W3C values : 0,1,2 for left, middle and right buttons)

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"keyCode","dataType":{"tokens":[{"value":"input.KEY","kind":"canonical"},{"value":"input.KEY","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"27ITPlo7UxNSgeTxSw1xW","name":"exitPointerLock","brief":"","type":"FunctionDoc","description":"

      Initiates an exit from pointer lock state

      ","params":[],"returns":[{"description":"

      return true if the request was successfully submitted

      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"q_F8TWr3Q96dZnhIZPgj_","name":"getBindingKey","brief":"","access":"public","type":"FunctionDoc","description":"

      return the action associated with the given keycode

      ","params":[{"identifier":"keycode","optional":false,"description":"

      (See {@link input.KEY})

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

      user defined associated action

      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"SVjD1_3k5vUa9aTnYU72y","name":"globalToLocal","brief":"","examples":[{"caption":"","code":"onMouseEvent : function (pointer) {\n // convert the given into local (viewport) relative coordinates\n let pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);\n // do something with pos !\n};"}],"type":"FunctionDoc","description":"

      Translate the specified x and y values from the global (absolute)\ncoordinate to local (viewport) relative coordinate.

      ","params":[{"identifier":"x","optional":false,"description":"

      the global x coordinate to be translated.

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

      the global y coordinate to be translated.

      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

      an optional vector object where to set the translated coordinates

      ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

      A vector object with the corresponding translated coordinates

      ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wodbpoThUX66JpyYQ1YxA","name":"hasActiveEvents","brief":"","type":"FunctionDoc","description":"

      return true if there are pending pointer events in the queue

      ","params":[],"returns":[{"description":"

      true if there are pending events

      "}],"extends":[],"implements":[]},{"id":"cVDJPn9Djw3AwJ4dTw8aS","name":"hasRegisteredEvents","brief":"","see":["registerPointerEvent"],"type":"FunctionDoc","description":"

      return true if there are register pointer events

      ","params":[],"returns":[{"description":"

      true if there are pending events

      "}],"extends":[],"implements":[]},{"id":"RJTphLSo3F7B69nAlLfgp","name":"isKeyPressed","brief":"","access":"public","examples":[{"caption":"","code":"if (me.input.isKeyPressed('left')) {\n //do something\n}\nelse if (me.input.isKeyPressed('right')) {\n //do something else...\n}"}],"type":"FunctionDoc","description":"

      return the key press status of the specified action

      ","params":[{"identifier":"action","optional":false,"description":"

      user defined corresponding action

      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

      true if pressed

      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"MDS57zInwRhNnt-8aev5v","name":"keyStatus","brief":"","access":"public","type":"FunctionDoc","description":"

      return the key status of the specified action

      ","params":[{"identifier":"action","optional":false,"description":"

      user defined corresponding action

      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

      down (true) or up(false)

      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"WBxL5yMAhB_OF4eMS1Eoh","name":"registerPointerEvent","brief":"","examples":[{"caption":"","code":" // onActivate function\n onActivateEvent: function () {\n // register on the 'pointerdown' event\n me.input.registerPointerEvent('pointerdown', this, (e) => this.pointerDown(e));\n },\n\n // pointerDown event callback\n pointerDown: function (pointer) {\n // do something\n ....\n // don\"t propagate the event to other objects\n return false;\n },"}],"see":["Pointer","{@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}"],"type":"FunctionDoc","description":"

      allows registration of event listeners on the object target.
      \nmelonJS will pass a me.Pointer object to the defined cal...","params":[{"identifier":"eventType","optional":false,"description":"

      The event type for which the object is registering
      \nmelonJS currently supports:

      \n
        \n
      • \"pointermo...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"region","optional":false,"description":"

        a shape representing the region to register on

        ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"callback","optional":false,"description":"

        methods to be called when the event occurs.\nReturning false from the defined callback will prevent the event ...","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"R32vZykyOni_pHH3zvrLk","name":"releaseAllPointerEvents","brief":"","examples":[{"caption":"","code":"// release all registered event on the\nme.input.releaseAllPointerEvents(this);"}],"type":"FunctionDoc","description":"

        allows the removal of all registered event listeners from the object target.

        ","params":[{"identifier":"region","optional":false,"description":"

        the registered region to release event from

        ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[],"extends":[],"implements":[]},{"id":"1A3FsffnSsXVfMGaGulWb","name":"releasePointerEvent","brief":"","examples":[{"caption":"","code":"// release the registered region on the 'pointerdown' event\nme.input.releasePointerEvent('pointerdown', this);"}],"see":["{@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}"],"type":"FunctionDoc","description":"

        allows the removal of event listeners from the object target.

        ","params":[{"identifier":"eventType","optional":false,"description":"

        The event type for which the object was registered. See {@link input.registerPointerEvent}

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"region","optional":false,"description":"

        the registered region to release for this event

        ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"callback","optional":true,"default":"\"all\"","description":"

        if specified unregister the event only for the specific callback

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"oe7yKzexT2iyHqyj0Dup5","name":"requestPointerLock","brief":"","examples":[{"caption":"","code":"// register on the pointer lock change event\nevent.on(event.POINTERLOCKCHANGE, (locked)=> {\n console.log(\"pointer lock: \" + locked);\n});\n// request for pointer lock\nme.input.requestPointerLock();"}],"type":"FunctionDoc","description":"

        request for the pointer to be locked on the parent DOM element.\n(Must be called in a click event or an event that requires...","params":[],"returns":[{"description":"

        return true if the request was successfully submitted

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7Us2_bGJ4G9-XfYuh2kaC","name":"setGamepadDeadzone","brief":"","access":"public","type":"FunctionDoc","description":"

        Set deadzone for analog gamepad inputs
        \nThe default deadzone is 0.1 (10%) Analog values less than this will be ignored

        ","params":[{"identifier":"value","optional":false,"description":"

        Deadzone value

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SFgJHPMlTuJWf3PdiKjxg","name":"setTouchAction","brief":"","see":["https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action"],"type":"FunctionDoc","description":"

        enable/disable all gestures on the given element.
        \nby default melonJS will disable browser handling of all panning and ...","params":[{"identifier":"element","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"value","optional":true,"default":"\"none\"","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"V9Qj84f4GpL9LTRYqlYkc","name":"triggerKeyEvent","brief":"","access":"public","examples":[{"caption":"","code":"// trigger a key press\nme.input.triggerKeyEvent(me.input.KEY.LEFT, true);"}],"type":"FunctionDoc","description":"

        trigger the specified key (simulated) event

        ","params":[{"identifier":"keycode","optional":false,"description":"

        (See {@link input.KEY})

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"status","optional":true,"default":"false","description":"

        true to trigger a key down event, or false for key up event

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"mouseButton","optional":true,"description":"

        the mouse button to trigger

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"EqYs6B_PyYQb20Kb4txQp","name":"unbindGamepad","brief":"","access":"public","examples":[{"caption":"","code":"me.input.unbindGamepad(0, me.input.GAMEPAD.BUTTONS.FACE_1);"}],"type":"FunctionDoc","description":"

        unbind the defined keycode

        ","params":[{"identifier":"index","optional":false,"description":"

        Gamepad index

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"button","optional":false,"description":"

        (See {@link input.GAMEPAD.BUTTONS})

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"HRmWvuPqBxxBAoHDKzG55","name":"unbindKey","brief":"","access":"public","examples":[{"caption":"","code":"me.input.unbindKey(me.input.KEY.LEFT);"}],"type":"FunctionDoc","description":"

        unbind the defined keycode

        ","params":[{"identifier":"keycode","optional":false,"description":"

        (See {@link input.KEY})

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"NoY5HNV34i8Fv00zO1qCD","name":"unbindPointer","brief":"","examples":[{"caption":"","code":"me.input.unbindPointer(me.input.pointer.LEFT);"}],"type":"FunctionDoc","description":"

        unbind the defined keycode

        ","params":[{"identifier":"button","optional":true,"default":"input.pointer.LEFT","description":"

        (accordingly to W3C values : 0,1,2 for left, middle and right buttons)

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"F26S1oKZqS4oNuiLVMIzj","name":"unlockKey","brief":"","access":"public","examples":[{"caption":"","code":"// Unlock jump when touching the ground\nif (!this.falling && !this.jumping) {\n me.input.unlockKey(\"jump\");\n}"}],"type":"FunctionDoc","description":"

        unlock a key manually

        ","params":[{"identifier":"action","optional":false,"description":"

        user defined corresponding action

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"OY1-893Ree0x5ko9ptkXC","name":"level","brief":"","type":"NSDoc","description":"

        a level manager. once ressources loaded, the level manager contains all references of defined levels.

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"05ijcyF66yl4H_wW_Hq8i","name":"add","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        add a level into the game manager (usually called by the preloader)

        ","params":[{"identifier":"format","optional":false,"description":"

        level format (only "tmx" supported)

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"levelId","optional":false,"description":"

        the level id (or name)

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"callback","optional":true,"description":"

        a function to be called once the level is loaded

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

        true if the level was loaded

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_1porQ9F9OL9_8_CZRFob","name":"getCurrentLevel","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        return the current level definition.\nfor a reference to the live instantiated level,\nrather use the container in which it ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"INUbIDljuge3se2mhcEZQ","name":"getCurrentLevelId","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        return the current level id

        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"Maza6AiuHlBcmuehhnJp7","name":"levelCount","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        return the amount of level preloaded

        ","params":[],"returns":[{"description":"

        the amount of level preloaded

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AdhIO4f1rUldLySdNOq1p","name":"load","brief":"","access":"public","examples":[{"caption":"","code":" // the game assets to be be preloaded\n // TMX maps\n let resources = [\n {name: \"a4_level1\", type: \"tmx\", src: \"data/level/a4_level1.tmx\"},\n {name: \"a4_level2\", type: \"tmx\", src: \"data/level/a4_level2.tmx\"},\n {name: \"a4_level3\", type: \"tmx\", src: \"data/level/a4_level3.tmx\"},\n // ...\n ];\n\n // ...\n\n // load a level into the game world\n me.level.load(\"a4_level1\");\n ...\n ...\n // load a level into a specific container\n let levelContainer = new me.Container();\n me.level.load(\"a4_level2\", {container:levelContainer});\n // add a simple transformation\n levelContainer.currentTransform.translate(levelContainer.width / 2, levelContainer.height / 2 );\n levelContainer.currentTransform.rotate(0.05);\n levelContainer.currentTransform.translate(-levelContainer.width / 2, -levelContainer.height / 2 );\n // add it to the game world\n me.game.world.addChild(levelContainer);"}],"scope":"instance","type":"MethodDoc","description":"

        load a level into the game manager
        \n(will also create all level defined entities, etc..)

        ","params":[{"identifier":"levelId","optional":false,"description":"

        level id

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"options","optional":true,"description":"

        additional optional parameters

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

        container in which to load the specified level

        ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

        callback for when the level is fully loaded

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

        if true, flatten all objects into the given container

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"options.setViewportBounds","optional":true,"default":"true","description":"

        if true, set the viewport bounds to the map size

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

        true if the level was successfully loaded

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zKYjhX82aeItdEoKA2zRm","name":"next","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        load the next level

        ","params":[{"identifier":"options","optional":true,"description":"

        additional optional parameters

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

        container in which to load the specified level

        ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

        callback for when the level is fully loaded

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

        if true, flatten all objects into the given container

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

        true if the next level was successfully loaded

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"sHg29B3sZk2V6QsgshH2E","name":"previous","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        load the previous level

        ","params":[{"identifier":"options","optional":true,"description":"

        additional optional parameters

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

        container in which to load the specified level

        ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

        callback for when the level is fully loaded

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

        if true, flatten all objects into the given container

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

        true if the previous level was successfully loaded

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"mqn8IVaDfzm130loU7ph6","name":"reload","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        reload the current level

        ","params":[{"identifier":"options","optional":true,"description":"

        additional optional parameters

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

        container in which to load the specified level

        ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

        callback for when the level is fully loaded

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

        if true, flatten all objects into the given container

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

        the current level

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]}]},{"id":"JxDFuCFxxmPBTna8n9hbO","name":"loader","brief":"","type":"NSDoc","description":"

        a small class to manage loading of stuff and manage resources

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"2Wf5grXJcTJbaCeitTY-5","name":"Asset","brief":"","examples":[{"caption":"","code":"// PNG tileset\n{name: \"tileset-platformer\", type: \"image\", src: \"data/map/tileset.png\"}\n// PNG packed texture\n{name: \"texture\", type:\"image\", src: \"data/gfx/texture.png\"}\n// PNG base64 encoded image\n{name: \"texture\", type:\"image\", src: \"data:image/png;base64,iVBORw0KAAAQAAAAEACA...\"}\n// TSX file\n{name: \"meta_tiles\", type: \"tsx\", src: \"data/map/meta_tiles.tsx\"}\n// TMX level (XML & JSON)\n{name: \"map1\", type: \"tmx\", src: \"data/map/map1.json\"}\n{name: \"map2\", type: \"tmx\", src: \"data/map/map2.tmx\"}\n{name: \"map3\", type: \"tmx\", format: \"json\", data: {\"height\":15,\"layers\":[...],\"tilewidth\":32,\"version\":1,\"width\":20}}\n{name: \"map4\", type: \"tmx\", format: \"xml\", data: {xml representation of tmx}}\n// audio resources\n{name: \"bgmusic\", type: \"audio\", src: \"data/audio/\"}\n{name: \"cling\", type: \"audio\", src: \"data/audio/\"}\n// base64 encoded audio resources\n{name: \"band\", type: \"audio\", src: \"data:audio/wav;base64,...\"}\n// binary file\n{name: \"ymTrack\", type: \"binary\", src: \"data/audio/main.ym\"}\n// JSON file (used for texturePacker)\n{name: \"texture\", type: \"json\", src: \"data/gfx/texture.json\"}\n// JavaScript file\n{name: \"plugin\", type: \"js\", src: \"data/js/plugin.js\"}\n// Font Face\n{ name: \"'kenpixel'\", type: \"fontface\", src: \"url('data/font/kenvector_future.woff2')\" }\n// video resources\n{name: \"intro\", type: \"video\", src: \"data/video/\"}"}],"scope":"static","see":["loader.preload","loader.load"],"type":"TypedefDoc","description":"

        an asset definition to be used with the loader

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"77xH4aCfMSQ39xU7onWAm","name":"autoplay","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        Set to true to automatically start playing audio or video when loaded or added to a scene (using autoplay might require us..."},{"id":"DHKb8IUm78iiNiGWlcrsR","name":"data","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        TMX data if not provided through a src url

        "},{"id":"TvsLIJDNuKoJNsbUSCSC9","name":"loop","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        Set to true to automatically loop the audio or video when playing

        "},{"id":"j7TqJLbT8IdY0TVz6K5dL","name":"name","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        name of the asset

        "},{"id":"auYL-BRw6-KW_Ax0-4COg","name":"src","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        path and/or file name of the resource (for audio assets only the path is required)

        "},{"id":"jFAoh1R2bQHC15HQ0N73K","name":"stream","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        Set to true to not to wait for large audio or video file to be downloaded before playing.

        "},{"id":"iGsFCUub3AAplXvwxiqUr","name":"type","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx&qu..."}]},{"id":"WUS3DxmjOOqE1fyfIUchv","name":"crossOrigin","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":" // allow for cross-origin texture loading\n me.loader.crossOrigin = \"anonymous\";\n\n // set all ressources to be loaded\n me.loader.preload(game.resources, () => this.loaded());"}],"see":["https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes"],"type":"PropertyDoc","description":"

        crossOrigin attribute to configure the CORS requests for Image and Video data element.\nBy default (that is, when the attri...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L727pDqbJ1iV7S9znNXT_","name":"onError","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// set a callback for error notification\nme.loader.onError = this.loaderError.bind(this);"}],"type":"PropertyDoc","description":"

        onError callback
        \neach time a resource loading is failed, the loader will fire the specified function giving the actual...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3-MpqZNIQKRg3sHK7XjWi","name":"onload","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// set a callback when everything is loaded\nme.loader.onload = this.loaded.bind(this);"}],"type":"PropertyDoc","description":"

        onload callback

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YAnhurZEq72r6_IBVCfUw","name":"onProgress","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// set a callback for progress notification\nme.loader.onProgress = this.updateProgress.bind(this);"}],"type":"PropertyDoc","description":"

        onProgress callback
        \neach time a resource is loaded, the loader will fire the specified function,\ngiving the actual pro...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8DvT7IXpEOX5n4Chxu_rB","name":"withCredentials","brief":"","access":"public","defaultValue":"false","examples":[{"caption":"","code":" // enable withCredentials\n me.loader.withCredentials = true;\n\n // set all ressources to be loaded\n me.loader.preload(game.resources, () => this.loaded());"}],"see":["https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials"],"type":"PropertyDoc","description":"

        indicates whether or not cross-site Access-Control requests should be made using credentials such as cookies,\nauthorizatio...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SIyPEb0U773dFyl2Ntk7j","name":"getBinary","brief":"","type":"FunctionDoc","description":"

        return the specified Binary object

        ","params":[{"identifier":"elt","optional":false,"description":"

        name of the binary object ("ymTrack");

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        requested element or null if not found

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"V6QoOdKZkmguAe-GiIp0l","name":"getImage","brief":"","type":"FunctionDoc","description":"

        return the specified Image Object

        ","params":[{"identifier":"image","optional":false,"description":"

        name of the Image element ("tileset-platformer");

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        requested element or null if not found

        ","dataType":{"tokens":[{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-SmesipqEULQccMyPJHSQ","name":"getJSON","brief":"","type":"FunctionDoc","description":"

        return the specified JSON Object

        ","params":[{"identifier":"elt","optional":false,"description":"

        name of the json file

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"JSON","kind":"canonical"},{"value":"JSON","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_MT041ofDON0MFdL71b3u","name":"getTMX","brief":"","type":"FunctionDoc","description":"

        return the specified TMX/TSX object

        ","params":[{"identifier":"elt","optional":false,"description":"

        name of the tmx/tsx element ("map1");

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        requested element or null if not found

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"ZjXlx7Qo1tKxSo8_ffGn-","name":"getVideo","brief":"","type":"FunctionDoc","description":"

        return the specified Video Object

        ","params":[{"identifier":"elt","optional":false,"description":"

        name of the video file

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4AcpkhKFukLJczo95BVwK","name":"load","brief":"","examples":[{"caption":"","code":"// load an image asset\nme.loader.load({name: \"avatar\", type:\"image\", src: \"data/avatar.png\"}, () => this.onload(), () => this.onerror());\n// load a base64 image asset\n me.loader.load({name: \"avatar\", type:\"image\", src: \"data:image/png;base64,iVBORw0KAAAQAAAAEACA...\"};\n // load a base64 video asset\n me.loader.load({\n name: \"avatar\",\n type:\"video\",\n src: \"data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZ..\"\n };\n// start loading music\nme.loader.load({\n name : \"bgmusic\",\n type : \"audio\",\n src : \"data/audio/\"\n}, function () {\n me.audio.play(\"bgmusic\");\n});"}],"type":"FunctionDoc","description":"

        Load a single asset (to be used if you need to load additional asset(s) during the game)

        ","params":[{"identifier":"asset","optional":false,"dataType":{"tokens":[{"value":"loader.Asset","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1"}},{"identifier":"onload","optional":true,"description":"

        function to be called when the asset is loaded

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"onerror","optional":true,"description":"

        function to be called in case of error

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

        the amount of corresponding resource to be preloaded

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ye1jnTH9jnLgC3O_aTdjn","name":"preload","brief":"","examples":[{"caption":"","code":"game.assets = [\n // PNG tileset\n {name: \"tileset-platformer\", type: \"image\", src: \"data/map/tileset.png\"},\n // PNG packed texture\n {name: \"texture\", type:\"image\", src: \"data/gfx/texture.png\"}\n // PNG base64 encoded image\n {name: \"texture\", type:\"image\", src: \"data:image/png;base64,iVBORw0KAAAQAAAAEACA...\"}\n // TSX file\n {name: \"meta_tiles\", type: \"tsx\", src: \"data/map/meta_tiles.tsx\"},\n // TMX level (XML & JSON)\n {name: \"map1\", type: \"tmx\", src: \"data/map/map1.json\"},\n {name: \"map2\", type: \"tmx\", src: \"data/map/map2.tmx\"},\n {name: \"map3\", type: \"tmx\", format: \"json\", data: {\"height\":15,\"layers\":[...],\"tilewidth\":32,\"version\":1,\"width\":20}},\n {name: \"map4\", type: \"tmx\", format: \"xml\", data: {xml representation of tmx}},\n // audio resources\n {name: \"bgmusic\", type: \"audio\", src: \"data/audio/\"},\n {name: \"cling\", type: \"audio\", src: \"data/audio/\"},\n // base64 encoded audio resources\n {name: \"band\", type: \"audio\", src: \"data:audio/wav;base64,...\"},\n // binary file\n {name: \"ymTrack\", type: \"binary\", src: \"data/audio/main.ym\"},\n // JSON file (used for texturePacker)\n {name: \"texture\", type: \"json\", src: \"data/gfx/texture.json\"},\n // JavaScript file\n {name: \"plugin\", type: \"js\", src: \"data/js/plugin.js\"},\n // Font Face\n {name: \"'kenpixel'\", type: \"fontface\", src: \"url('data/font/kenvector_future.woff2')\"},\n // video resources\n {name: \"intro\", type: \"video\", src: \"data/video/\"},\n // base64 encoded video asset\n me.loader.load({name: \"avatar\", type:\"video\", src: \"data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZ...\"};\n];\n...\n// set all resources to be loaded\nme.loader.preload(game.assets, () => this.loaded());"}],"type":"FunctionDoc","description":"

        set all the specified game assets to be preloaded.

        ","params":[{"identifier":"assets","optional":false,"description":"

        list of assets to load

        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1<%2>"}},{"identifier":"onloadcb","optional":true,"default":"loader.onload","description":"

        function to be called when all resources are loaded

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"switchToLoadState","optional":true,"default":"true","description":"

        automatically switch to the loading screen

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"vjU9VAMrIyEyMchdEDZRj","name":"reload","brief":"","examples":[{"caption":"","code":"event.on(\n event.LOADER_ERROR,\n (res) => {\n // custom function\n showErrorNotification({\n text: `Error during loading content: ${res.name}`,\n done: loader.reload(res.src);\n })\n }\n);"}],"type":"FunctionDoc","description":"

        retry loading assets after a loading failure

        ","params":[{"identifier":"src","optional":false,"description":"

        src of asset to reload

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"73-J6miZe3biBPS60XLAc","name":"setBaseURL","brief":"","access":"public","examples":[{"caption":"","code":"// change the base URL relative address for audio assets\nme.loader.setBaseURL(\"audio\", \"data/audio/\");\n// change the base URL absolute address for all object types\nme.loader.setBaseURL(\"*\", \"http://myurl.com/\")"}],"type":"FunctionDoc","description":"

        change the default baseURL for the given asset type.
        \n(this will prepend the asset URL and must finish with a '/')

        ","params":[{"identifier":"type","optional":false,"description":"

        "*", "audio", "video", "binary", "image", "json", "js&quo...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"url","optional":true,"default":"\"./\"","description":"

        default base URL

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"prco7KOepZRZEoceMsaxa","name":"setParser","brief":"","examples":[{"caption":"","code":"// specify a custom function for \"abc\" format\nfunction customAbcParser(data, onload, onerror) {\n // preload and do something with the data\n let parsedData = doSomething(data);\n // when done, call the onload callback with the parsed data\n onload(parsedData);\n // in case of error, call the onerror callback\n onerror();\n // return the amount of asset parsed\n return 1\n}\n// set the parser for the custom format\nloader.setParser(\"abc\", customAbcParser);"}],"see":["loader.Asset.type"],"type":"FunctionDoc","description":"

        specify a parser/preload function for the given asset type

        ","params":[{"identifier":"type","optional":false,"description":"

        asset type

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"parserFn","optional":false,"description":"

        parser function

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"Pwdacet3HBdl5CJB21Ybv","name":"unload","brief":"","examples":[{"caption":"","code":"me.loader.unload({name: \"avatar\", type:\"image\"});"}],"type":"FunctionDoc","description":"

        unload the specified asset to free memory

        ","params":[{"identifier":"asset","optional":false,"dataType":{"tokens":[{"value":"loader.Asset","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

        true if unloaded

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"uFHSra0sh3CLcri1b-e9s","name":"unloadAll","brief":"","examples":[{"caption":"","code":"me.loader.unloadAll();"}],"type":"FunctionDoc","description":"

        unload all resources to free memory

        ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"9qO0P-KOjjI0eQPsoYRi-","name":"Math","brief":"","type":"NSDoc","description":"

        a collection of math utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"8zT8q8KZuT2U-fpMwUjqr","name":"DEG_TO_RAD","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

        constant to convert from degrees to radians

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YGVBDFpSSK4OaWVMPj6uK","name":"EPSILON","brief":"","access":"public","defaultValue":"0.000001","readonly":true,"type":"PropertyDoc","description":"

        the difference between 1 and the smallest floating point number greater than 1

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KHrhlme_bfL80TUNGyxky","name":"ETA","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

        constant equals to half pi

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pbd-xv1kDg-yyboFUgB4A","name":"RAD_TO_DEG","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

        constant to convert from radians to degrees

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TSaemEhhu6LVEpWnBu_PH","name":"TAU","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

        constant equals to 2 times pi

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ctiw3zoPOikynmNSmlnNj","name":"clamp","brief":"","access":"public","type":"FunctionDoc","description":"

        clamp the given value

        ","params":[{"identifier":"val","optional":false,"description":"

        the value to clamp

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"low","optional":false,"description":"

        lower limit

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"description":"

        higher limit

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        clamped value

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4uP_FOsfH9R-LW51F5Hvc","name":"degToRad","brief":"","access":"public","examples":[{"caption":"","code":"// convert a specific angle\nme.Math.degToRad(60); // return 1.0471..."}],"type":"FunctionDoc","description":"

        Converts an angle in degrees to an angle in radians

        ","params":[{"identifier":"angle","optional":false,"description":"

        angle in degrees

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        corresponding angle in radians

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sUuZaV8C71EliustLwUCd","name":"isPowerOfTwo","brief":"","access":"public","type":"FunctionDoc","description":"

        returns true if the given value is a power of two

        ","params":[{"identifier":"val","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2EABAUB83BD1nWo2lGw3U","name":"nextPowerOfTwo","brief":"","access":"public","type":"FunctionDoc","description":"

        returns the next power of two for the given value

        ","params":[{"identifier":"val","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"z_szS-FSzRtYuTjKVFK40","name":"radToDeg","brief":"","access":"public","examples":[{"caption":"","code":"// convert a specific angle\nme.Math.radToDeg(1.0471975511965976); // return 60"}],"type":"FunctionDoc","description":"

        Converts an angle in radians to an angle in degrees.

        ","params":[{"identifier":"radians","optional":false,"description":"

        angle in radians

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        corresponding angle in degrees

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YdIeN39o4U1Dq3_x9rYQ_","name":"random","brief":"","access":"public","examples":[{"caption":"","code":"// Print a random number; one of 5, 6, 7, 8, 9\nconsole.log(me.Math.random(5, 10) );"}],"type":"FunctionDoc","description":"

        return a random integer between min (included) and max (excluded)

        ","params":[{"identifier":"min","optional":false,"description":"

        minimum value.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":false,"description":"

        maximum value.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        random value

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"s2juTnxBTEvzA7WjzDQn-","name":"randomFloat","brief":"","access":"public","examples":[{"caption":"","code":"// Print a random number; one of 5, 6, 7, 8, 9\nconsole.log(me.Math.randomFloat(5, 10) );"}],"type":"FunctionDoc","description":"

        return a random float between min, max (exclusive)

        ","params":[{"identifier":"min","optional":false,"description":"

        minimum value.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":false,"description":"

        maximum value.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        random value

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5gRlu6Q77i1XNVSlzBweF","name":"round","brief":"","access":"public","examples":[{"caption":"","code":"// round a specific value to 2 digits\nme.Math.round(10.33333, 2); // return 10.33"}],"type":"FunctionDoc","description":"

        round a value to the specified number of digit

        ","params":[{"identifier":"num","optional":false,"description":"

        value to be rounded.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dec","optional":true,"default":"0","description":"

        number of decimal digit to be rounded to.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        rounded value

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CThXV9YbUjHkbNdIOMDJ4","name":"toBeCloseTo","brief":"","access":"public","examples":[{"caption":"","code":"// test if the given value is close to 10\nif (me.Math.toBeCloseTo(10, value)) {\n // do something\n}"}],"type":"FunctionDoc","description":"

        check if the given value is close to the expected one

        ","params":[{"identifier":"expected","optional":false,"description":"

        value to be compared with.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"actual","optional":false,"description":"

        actual value to compare

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"precision","optional":true,"default":"2","description":"

        float precision for the comparison

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        if close to

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"6uPHKlWctbf_wn5RO2BwY","name":"weightedRandom","brief":"","access":"public","examples":[{"caption":"","code":"// Print a random number; one of 5, 6, 7, 8, 9\nconsole.log(me.Math.weightedRandom(5, 10) );"}],"type":"FunctionDoc","description":"

        return a weighted random between min, max (exclusive)

        ","params":[{"identifier":"min","optional":false,"description":"

        minimum value.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":false,"description":"

        maximum value.

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        random value

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"eJpdfho_0pwlUeguAlOIP","name":"ParticleEmitterSettings","brief":"","readonly":true,"see":["ParticleEmitter"],"type":"NSDoc","description":"

        ParticleEmitterSettings contains the default settings for ParticleEmitter

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"b8rn84D3smeWDr-O2lkOl","name":"angle","brief":"","access":"public","defaultValue":"Math.PI / 2","scope":"static","type":"PropertyDoc","description":"

        Start angle for particle launch in Radians

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j8B6XxUzWHSDYbl7cbVyW","name":"angleVariation","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        letiation in the start angle for particle launch in Radians.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kuhybxE-MRgLH7A9UWISP","name":"blendMode","brief":"","access":"public","defaultValue":"normal","scope":"static","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

        the blend mode to be applied when rendering particles.\n(note: this will superseed the textureAdditive setting...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2vWIWlzvSq9--PsUvCuwl","name":"duration","brief":"","access":"public","defaultValue":"Infinity","scope":"static","type":"PropertyDoc","description":"

        Duration that the emitter releases particles in ms (used only if emitter is Stream).\nAfter this period, the emitter stop t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ft2wrrJMejwxGQjMKfKif","name":"floating","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        Render particles in screen space.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mOU5jzh_iqOxdIpKJzIB9","name":"followTrajectory","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        Update the rotation of particle in accordance the particle trajectory.
        \nThe particle sprite should aim at zero angle (d...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rF9fHSkGBdqAmWeVCPSkQ","name":"framesToSkip","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Skip n frames after updating the particle system once.\nThis can be used to reduce the performance impact of emitters with ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zHd8oJi1uQZcO1aGmInzE","name":"frequency","brief":"","access":"public","defaultValue":"100","scope":"static","type":"PropertyDoc","description":"

        How often a particle is emitted in ms (used only if emitter is a Stream).

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FuI7gIfOjtG5tJq2S5hFl","name":"gravity","brief":"","access":"public","defaultValue":"0","scope":"static","see":["game.world.gravity"],"type":"PropertyDoc","description":"

        Vertical force (Gravity) for each particle

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nmH8ROKEjuOv2GP-mMz9n","name":"height","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

        Height of the particle spawn area

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zy8fPTC1U2bar3tcXxtUa","name":"image","brief":"","access":"public","defaultValue":"undefined","scope":"static","see":["ParticleEmitterSettings.textureSize"],"type":"PropertyDoc","description":"

        image used for particles texture\n(by default melonJS will create an white 8x8 texture image)

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7bcpDaXuEtoiHKcAmrf8J","name":"maxEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Maximum end scale ratio for particles

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yA7deQ8PHzZqtMMjQ5_ta","name":"maxLife","brief":"","access":"public","defaultValue":"3000","scope":"static","type":"PropertyDoc","description":"

        Maximum time each particle lives once it is emitted in ms.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"euqe4mLTYNoayh9z-3uXS","name":"maxParticles","brief":"","access":"public","defaultValue":"10","scope":"static","type":"PropertyDoc","description":"

        Maximum number of particles launched each time in this emitter (used only if emitter is Stream).

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y2t56zPP-DM1wlnnyy55M","name":"maxRotation","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Maximum start rotation for particles sprites in Radians

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VK4XCHhzrHVLcfXf4mdhX","name":"maxStartScale","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

        Maximum start scale ratio for particles (1 = no scaling)

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SkU5HgIMJDg8WlhWjcKpP","name":"minEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Minimum end scale ratio for particles

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JxSdoHzH2FkTuw_mcw29u","name":"minLife","brief":"","access":"public","defaultValue":"1000","scope":"static","type":"PropertyDoc","description":"

        Minimum time each particle lives once it is emitted in ms.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6-DSXKywdXX9PBD-mxDrB","name":"minRotation","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Minimum start rotation for particles sprites in Radians

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-ijsfW8fSvdEXcLI9VrMv","name":"minStartScale","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

        Minimum start scale ratio for particles (1 = no scaling)

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gaxj2hNiMmb0sDu6f1T_i","name":"onlyInViewport","brief":"","access":"public","defaultValue":"true","scope":"static","type":"PropertyDoc","description":"

        Update particles only in the viewport, remove it when out of viewport.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WhgVSflJ8-3J2PWc5JM4M","name":"speed","brief":"","access":"public","defaultValue":"2","scope":"static","type":"PropertyDoc","description":"

        Start speed of particles.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OM2quUBCDcL6S7PxQm3NM","name":"speedVariation","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

        letiation in the start speed of particles

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GLVA5WOGZfiwMHFdT9kZw","name":"textureAdditive","brief":"","access":"public","defaultValue":"false","scope":"static","see":["ParticleEmitterSettings.blendMode"],"type":"PropertyDoc","description":"

        Enable the Texture Additive by composite operation ("additive" blendMode)

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qG6D8GcqPaMvsVd2NmhNi","name":"textureSize","brief":"","access":"public","defaultValue":"8","scope":"static","see":["ParticleEmitterSettings.image"],"type":"PropertyDoc","description":"

        default texture size used for particles if no image is specified\n(by default melonJS will create an white 8x8 texture imag...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yaSbhhN-CmuyHcUw2rFL6","name":"tint","brief":"","access":"public","defaultValue":"\"#fff\"","scope":"static","type":"PropertyDoc","description":"

        tint to be applied to particles

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OcBUkTFj4_T1QVpsWF0Qi","name":"totalParticles","brief":"","access":"public","defaultValue":"50","scope":"static","type":"PropertyDoc","description":"

        Total number of particles in the emitter

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IGBK_I23Yp3wfETXjXegC","name":"width","brief":"","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

        Width of the particle spawn area.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CQIbgmvWd9ZmesnExcESp","name":"wind","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Horizontal force (like a Wind) for each particle

        ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"kkHxy-js8_IxhLeXjKviJ","name":"plugin","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"RnjX9SlxX75kDn-y9UnCc","name":"Base","brief":"","deprecated":"since 15.1.6, see {@link plugin.BasePlugin}","type":"ClassDoc","params":[],"returns":[],"extends":["plugin.BasePlugin"],"implements":[],"members":[{"id":"WFGveZ7KGTILZCIP1YzDZ","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

        a reference to the app/game that registered this plugin

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XPBlnKWilsPILJUxjF8DC","name":"version","brief":"","defaultValue":"\"__VERSION__\"","scope":"instance","type":"PropertyDoc","description":"

        define the minimum required version of melonJS
        \nthis can be overridden by the plugin

        ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"SR0dGaM6sVSeci--ArLYP","name":"BasePlugin","brief":"","type":"ClassDoc","description":"

        a base Object class for plugin\n(plugin must be installed using the register function)

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"ICqP0Gp3vGqoFByh0jdXV","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

        a reference to the app/game that registered this plugin

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zYXlI0sWO90ECYZfNmhvi","name":"version","brief":"","defaultValue":"\"__VERSION__\"","scope":"instance","type":"PropertyDoc","description":"

        define the minimum required version of melonJS
        \nthis can be overridden by the plugin

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w9nlRfEVPbDq5MLRhxQnC","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"app","optional":true,"description":"

        a reference to the app/game that registered this plugin

        ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"-I6epVD_1L_5qYb5wJqpy","name":"cache","brief":"","type":"PropertyDoc","description":"

        Contains all registered plugins.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3pK0BI2UAgV1kdFxKnO0E","name":"get","brief":"","type":"FunctionDoc","description":"

        returns the the plugin instance with the specified class type or registered name

        ","params":[{"identifier":"classType","optional":false,"description":"

        the Class Object or registered name of the plugin to retreive

        ","dataType":{"tokens":[{"value":"object | string","kind":"canonical"}],"template":"object | string"}}],"returns":[{"description":"

        a plugin instance or undefined

        ","dataType":{"tokens":[{"value":"BasePlugin","kind":"canonical"},{"value":"BasePlugin","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KaCjPJ8lLvhMJNYqTmEE1","name":"patch","brief":"","examples":[{"caption":"","code":"// redefine the me.game.update function with a new one\nme.plugin.patch(me.game, \"update\", function () {\n // display something in the console\n console.log(\"duh\");\n // call the original me.game.update function\n this._patched();\n});"}],"type":"FunctionDoc","description":"

        patch a melonJS function

        ","params":[{"identifier":"proto","optional":false,"description":"

        target object

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"name","optional":false,"description":"

        target function

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"fn","optional":false,"description":"

        replacement function

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"C3x7s0xvhJ0Rn_Df8u-b0","name":"register","brief":"","examples":[{"caption":"","code":"// register a new plugin\nme.plugin.register(TestPlugin, \"testPlugin\");\n// the `testPlugin` class instance can also be accessed through me.plugin.cache\nme.plugin.cache.testPlugin.myfunction ();"}],"type":"FunctionDoc","description":"

        Register a plugin.

        ","params":[{"identifier":"plugin","optional":false,"description":"

        Plugin object to instantiate and register

        ","dataType":{"tokens":[{"value":"plugin.BasePlugin","kind":"canonical"},{"value":"plugin.BasePlugin","kind":"link"}],"template":"%1"}},{"identifier":"name","optional":true,"default":"plugin.constructor.name","description":"

        a unique name for this plugin

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

        all extra parameters will be passed to the plugin constructor

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"U7e6hqiNgEYZaN2h6lpGi","name":"pool","brief":"","examples":[{"caption":"","code":"// register our bullet object into the object pool\npool.register(\"bullet\", BulletEntity, true);\n// ...\n// when we need to manually create a new bullet:\nlet bullet = pool.pull(\"bullet\", x, y, direction, velocity);\n// ...\n// when we want to destroy existing object, the remove\n// function will ensure the object can then be reallocated later\ngame.world.removeChild(bullet);"}],"see":["ObjectPool"],"type":"NSDoc","description":"

        a default global ObjectPool instance

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p1N8zrOg4Z8Y-5yqXtGu2","name":"save","brief":"","examples":[{"caption":"","code":" // Initialize \"score\" and \"lives\" with default values\n // This loads the properties from localStorage if they exist, else it sets the given defaults\n me.save.add({ score : 0, lives : 3 });\n\n // Print all\n // On first load, this prints { score : 0, lives : 3 }\n // On further reloads, it prints { score : 31337, lives : 3, complexObject : ... }\n // Because the following changes will be saved to localStorage\n console.log(JSON.stringify(me.save));\n\n // Save score\n me.save.score = 31337;\n\n // Also supports complex objects thanks to the JSON backend\n me.save.add({ complexObject : {} })\n me.save.complexObject = { a : \"b\", c : [ 1, 2, 3, \"d\" ], e : { f : [{}] } };\n\n // WARNING: Do not set any child properties of complex objects directly!\n // Changes made that way will not save. Always set the entire object value at once.\n // If you cannot live with this limitation, there's a workaround:\n me.save.complexObject.c.push(\"foo\"); // Modify a child property\n me.save.complexObject = me.save.complexObject; // Save the entire object!\n\n // Remove \"lives\" from localStorage\n me.save.remove(\"lives\");"}],"type":"NSDoc","description":"

        allow to access and manage the device localStorage

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"pscwpqOxA2LfxQSRdKLg9","name":"add","brief":"","examples":[{"caption":"","code":"// Initialize \"score\" and \"lives\" with default values\nme.save.add({ score : 0, lives : 3 });\n// get or set the value through me.save\nme.save.score = 1000;"}],"scope":"instance","type":"MethodDoc","description":"

        Add new keys to localStorage and set them to the given default values if they do not exist

        ","params":[{"identifier":"props","optional":false,"description":"

        key and corresponding values

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"f5USn7WFh6Z3fHPpEJDNr","name":"remove","brief":"","examples":[{"caption":"","code":"// Remove the \"score\" key from localStorage\nme.save.remove(\"score\");"}],"scope":"instance","type":"MethodDoc","description":"

        Remove a key from localStorage

        ","params":[{"identifier":"key","optional":false,"description":"

        key to be removed

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"7z8ZW2jlPeS75y4CPscvd","name":"state","brief":"","type":"NSDoc","description":"

        a State Manager (state machine)

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"JbGB6oIab7aow7HqnXM9d","name":"CREDITS","brief":"","defaultValue":"7","scope":"static","type":"PropertyDoc","description":"

        default state ID for Credits Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bX2-kVTbSoTrWBcayP9Hk","name":"DEFAULT","brief":"","defaultValue":"9","scope":"static","type":"PropertyDoc","description":"

        default state ID for the default Stage\n(the default stage is the one running as soon as melonJS is started)

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p1h8xzH3IV6Kvx_4ECP8Q","name":"GAME_END","brief":"","defaultValue":"5","scope":"static","type":"PropertyDoc","description":"

        default state ID for Game End Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LMFLB6ya-IMtaDGR7B6lf","name":"GAMEOVER","brief":"","defaultValue":"4","scope":"static","type":"PropertyDoc","description":"

        default state ID for Game Over Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z3_-iS4ELfKBER5pAu2Tr","name":"LOADING","brief":"","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        default state ID for Loading Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-Ee1TxEDwDmq_Lomcim9b","name":"MENU","brief":"","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

        default state ID for Menu Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CNY2xTtOiUlCx0KqTIhfr","name":"PLAY","brief":"","defaultValue":"3","scope":"static","type":"PropertyDoc","description":"

        default state ID for Play Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t_ISQeRjsScTr6Xb0A8d-","name":"READY","brief":"","defaultValue":"2","scope":"static","type":"PropertyDoc","description":"

        default state ID for "Ready" Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sZQpd_qQBg1jH6rUO-Ytc","name":"SCORE","brief":"","defaultValue":"6","scope":"static","type":"PropertyDoc","description":"

        default state ID for High Score Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DPsB4CMZSUj3DWRSjzdcD","name":"SETTINGS","brief":"","defaultValue":"8","scope":"static","type":"PropertyDoc","description":"

        default state ID for Settings Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vcuNEfKZXW5XlEDWMWsXn","name":"USER","brief":"","defaultValue":"100","examples":[{"caption":"","code":"let STATE_INFO = me.state.USER + 0;\nlet STATE_WARN = me.state.USER + 1;\nlet STATE_ERROR = me.state.USER + 2;\nlet STATE_CUTSCENE = me.state.USER + 3;"}],"scope":"static","type":"PropertyDoc","description":"

        default state ID for user defined constants

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yvm9Oy6nl3GxIfFdfBPNW","name":"change","brief":"","access":"public","examples":[{"caption":"","code":"// The onResetEvent method on the play screen will receive two args:\n// \"level_1\" and the number 3\nme.state.change(me.state.PLAY, \"level_1\", 3);"}],"scope":"instance","type":"MethodDoc","description":"

        change the game/app state

        ","params":[{"identifier":"state","optional":false,"description":"

        State ID (see constants)

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"forceChange","optional":false,"description":"

        if true the state will be changed immediately

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

        extra arguments to be passed to the reset functions

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"Yhuk1T9zBGN7xjLEU20HD","name":"current","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        return a reference to the current stage
        \nuseful to call a object specific method

        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Stage","kind":"canonical"},{"value":"Stage","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"h2OkQEg15xwURbbL7MECd","name":"isCurrent","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        return true if the specified state is the current one

        ","params":[{"identifier":"state","optional":false,"description":"

        State ID (see constants)

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        true if the specified state is the current one

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"S_sVmYhIRkxB_4ngixgvq","name":"isPaused","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        Return the pause state of the state manager

        ","params":[],"returns":[{"description":"

        true if the game is paused

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dtGMeY25VUF0M6yFzw2YK","name":"isRunning","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        return the running state of the state manager

        ","params":[],"returns":[{"description":"

        true if a "process is running"

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"CNvOjKQpkw-6vqzA0hftU","name":"pause","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        pause the current stage

        ","params":[{"identifier":"music","optional":true,"default":"false","description":"

        pause current music track on screen pause

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"HFe_4ZJ_uKHL5D0-jU51Y","name":"restart","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        Restart the current stage from a full stop.

        ","params":[{"identifier":"music","optional":true,"default":"false","description":"

        resume current music track on screen resume

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"z8tLVQeEF0kr-lnv1bwnJ","name":"resume","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        resume the current stage

        ","params":[{"identifier":"music","optional":true,"default":"false","description":"

        resume current music track on screen resume

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"-lmj-CslD1FRXI3xkz8dW","name":"set","brief":"","access":"public","examples":[{"caption":"","code":" class MenuButton extends me.GUI_Object {\n onClick() {\n // Change to the PLAY state when the button is clicked\n me.state.change(me.state.PLAY);\n return true;\n }\n };\n\n class MenuScreen extends me.Stage {\n onResetEvent() {\n // Load background image\n me.game.world.addChild(\n new me.ImageLayer(0, 0, {\n image : \"bg\",\n z: 0 // z-index\n }\n );\n\n // Add a button\n me.game.world.addChild(\n new MenuButton(350, 200, { \"image\" : \"start\" }),\n 1 // z-index\n );\n\n // Play music\n me.audio.playTrack(\"menu\");\n }\n\n onDestroyEvent() {\n // Stop music\n me.audio.stopTrack();\n }\n };\n\n me.state.set(me.state.MENU, new MenuScreen());"}],"scope":"instance","type":"MethodDoc","description":"

        associate the specified state with a Stage

        ","params":[{"identifier":"state","optional":false,"description":"

        State ID (see constants)

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"stage","optional":false,"description":"

        Instantiated Stage to associate with state ID

        ","dataType":{"tokens":[{"value":"Stage","kind":"canonical"},{"value":"Stage","kind":"link"}],"template":"%1"}},{"identifier":"start ","optional":true,"default":" false","description":"

        if true the state will be changed immediately after adding it.

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"6y4_jIYv4sRvRiOgcYFxq","name":"set","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        returns the stage associated with the specified state\n(or the current one if none is specified)

        ","params":[{"identifier":"state","optional":true,"description":"

        State ID (see constants)

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Stage","kind":"canonical"},{"value":"Stage","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AwXJpm4hjoRt3W8YjNJnn","name":"setTransition","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        enable/disable the transition to a particular state (by default enabled for all)

        ","params":[{"identifier":"state","optional":false,"description":"

        State ID (see constants)

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":false,"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"lKRNS6uhALuHMNkO4UmLA","name":"stop","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        Stop the current stage.

        ","params":[{"identifier":"pauseTrack","optional":true,"default":"false","description":"

        pause current track on screen stop.

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"hwyTcPaCWxmRwhvurf8Mq","name":"transition","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

        specify a global transition effect

        ","params":[{"identifier":"effect","optional":false,"description":"

        (only "fade" is supported for now)

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"color","optional":false,"description":"

        a CSS color value

        ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"duration","optional":true,"default":"1000","description":"

        expressed in milliseconds

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"SlK-zYfk_KuTknvzJjYIz","name":"timer","brief":"","examples":[{"caption":"","code":"// set a timer to call \"myFunction\" after 1000ms\ntimer.setTimeout(myFunction, 1000);\n// set a timer to call \"myFunction\" after 1000ms (respecting the pause state) and passing param1 and param2\ntimer.setTimeout(myFunction, 1000, true, param1, param2);\n// set a timer to call \"myFunction\" every 1000ms\ntimer.setInterval(myFunction, 1000);\n// set a timer to call \"myFunction\" every 1000ms (respecting the pause state) and passing param1 and param2\ntimer.setInterval(myFunction, 1000, true, param1, param2);"}],"see":["Timer"],"type":"NSDoc","description":"

        the default global Timer instance

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"094ym-a7yp4T8hhN9qZsm","name":"TMXUtils","brief":"","type":"NSDoc","description":"

        a collection of utility functions for parsing TMX maps

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"jd1Q4CaaU4mrF30-70mFU","name":"applyTMXProperties","brief":"","type":"FunctionDoc","description":"

        Apply TMX Properties to the given object

        ","params":[{"identifier":"obj","optional":false,"description":"

        object to apply the properties to

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"data","optional":false,"description":"

        TMX data object

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

        obj

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"9AMe5VKYrGlGaJwzP9d7E","name":"decode","brief":"","type":"FunctionDoc","description":"

        Decode a encoded array into a binary array

        ","params":[{"identifier":"data","optional":false,"description":"

        data to be decoded

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"encoding","optional":true,"default":"\"none\"","description":"

        data encoding ("csv", "base64", "xml")

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        Decoded data

        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"4p33jtMAa7NBdQfEfG8kw","name":"decodeBase64AsArray","brief":"","type":"FunctionDoc","description":"

        Decode a base64 encoded string into a byte array

        ","params":[{"identifier":"input","optional":false,"description":"

        Base64 encoded data

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"bytes","optional":true,"default":"1","description":"

        number of bytes per array entry

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        Decoded data

        ","dataType":{"tokens":[{"value":"Uint32Array","kind":"canonical"},{"value":"Uint32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DzwlRondCfIvmnLI-m5YI","name":"decodeCSV","brief":"","type":"FunctionDoc","description":"

        Decode a CSV encoded array into a binary array

        ","params":[{"identifier":"input-","optional":false,"description":"

        CSV formatted data (only numbers, everything else will be converted to NaN)

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        Decoded data

        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"4PPbOlll011q6ZcBPKtvu","name":"decompress","brief":"","type":"FunctionDoc","description":"

        decompress and decode zlib/gzip data

        ","params":[{"identifier":"input","optional":false,"description":"

        Base64 encoded and compressed data

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"format","optional":false,"description":"

        compressed data format ("gzip","zlib", "zstd")

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        Decoded and decompress data

        ","dataType":{"tokens":[{"value":"Uint32Array","kind":"canonical"},{"value":"Uint32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bqcimikCAjdg_aTR59cYz","name":"parse","brief":"","type":"FunctionDoc","description":"

        Parse a XML TMX object and returns the corresponding javascript object

        ","params":[{"identifier":"xml","optional":false,"description":"

        XML TMX object

        ","dataType":{"tokens":[{"value":"Document","kind":"canonical"},{"value":"Document","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        Javascript object

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"9XVWspi-iyDdciS4I1u5B","name":"setInflateFunction","brief":"","type":"FunctionDoc","description":"

        set the function used to inflate gzip/zlib data

        ","params":[{"identifier":"fn","optional":false,"description":"

        inflate function

        ","dataType":{"tokens":[{"value":"Func","kind":"canonical"},{"value":"Func","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"Q04AD5lim2YieuD2xN_mp","name":"utils","brief":"","defaultValue":"\"\"","type":"NSDoc","description":"

        a collection of utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"wXiWMRqyOr6TStdG8TyvX","name":"agent","brief":"","scope":"static","type":"NSDoc","description":"

        a collection of utility functons to ease porting between different user agents.

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"TEM8YKkV4iXiyrQrVoTLU","name":"prefixed","brief":"","access":"public","type":"FunctionDoc","description":"

        Get a vendor-prefixed property

        ","params":[{"identifier":"name","optional":false,"description":"

        Property name

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"obj","optional":true,"default":"globalThis","description":"

        Object or element reference to access

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

        Value of property

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"ZlqpQQ58ClrUa5RPCUIRk","name":"setPrefixed","brief":"","access":"public","type":"FunctionDoc","description":"

        Set a vendor-prefixed property

        ","params":[{"identifier":"name","optional":false,"description":"

        Property name

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

        Property value

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"obj","optional":true,"default":"globalThis","description":"

        Object or element reference to access

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

        true if one of the vendor-prefixed property was found

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"a7Qzucog54gKaeQIQrqMk","name":"array","brief":"","scope":"static","type":"NSDoc","description":"

        a collection of array utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"kQxkju0_v2-DrhY234d6a","name":"random","brief":"","access":"public","examples":[{"caption":"","code":"// Select a random array element\nlet arr = [ \"foo\", \"bar\", \"baz\" ];\nconsole.log(me.utils.array.random(arr));"}],"type":"FunctionDoc","description":"

        return a random array element

        ","params":[{"identifier":"arr","optional":false,"description":"

        array to pick a element

        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}}],"returns":[{"description":"

        random member of array

        ","dataType":{"tokens":[{"value":"any","kind":"canonical"}],"template":"any"}}],"extends":[],"implements":[]},{"id":"pmYMbjDdUX90PFIHCW0iT","name":"remove","brief":"","access":"public","type":"FunctionDoc","description":"

        Remove the specified object from the given Array

        ","params":[{"identifier":"arr","optional":false,"description":"

        array from which to remove an object

        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}},{"identifier":"obj","optional":false,"description":"

        to be removed

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

        the modified Array\nlet arr = [ "foo", "bar", "baz" ];\n// remove "foo" from the arr...","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}}],"extends":[],"implements":[]},{"id":"QIUayBecav2X81sAyCA1e","name":"weightedRandom","brief":"","access":"public","type":"FunctionDoc","description":"

        return a weighted random array element, favoring the earlier entries

        ","params":[{"identifier":"arr","optional":false,"description":"

        array to pick a element

        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}}],"returns":[{"description":"

        random member of array

        ","dataType":{"tokens":[{"value":"any","kind":"canonical"}],"template":"any"}}],"extends":[],"implements":[]}]},{"id":"yIlSO3cCwzYmTRMkwgeBr","name":"file","brief":"","defaultValue":"undefined","readonly":true,"scope":"static","type":"NSDoc","description":"

        a collection of file utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"zWwrUVL2UpsAd0JxtwnXz","name":"getBasename","brief":"","access":"public","type":"FunctionDoc","description":"

        return the base name of the file without path info

        ","params":[{"identifier":"path","optional":false,"description":"

        path containing the basename to extract

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        the base name without path information.

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"cR5Zzl8Myi67iqcpr6W9U","name":"getExtension","brief":"","access":"public","type":"FunctionDoc","description":"

        return the extension of the file in the given path

        ","params":[{"identifier":"path","optional":false,"description":"

        path containing the filename and extension to extract

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        filename extension.

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"QJFPMuIqrGE9IZLfy76o7","name":"getPath","brief":"","access":"public","type":"FunctionDoc","description":"

        return the path of the file

        ","params":[{"identifier":"path","optional":false,"description":"

        the copmplete file path to extract the path from

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        the extracted path

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"OC0K6y-Hi4m-nr5W11PAG","name":"function","brief":"","scope":"static","type":"NSDoc","description":"

        a collection of utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"3_8LqHYNMEC__KuW2oWy9","name":"defer","brief":"","access":"public","examples":[{"caption":"","code":"// execute myFunc() when the stack is empty,\n// with the current context and [1, 2, 3] as parameter\nme.utils.function.defer(myFunc, this, 1, 2, 3);"}],"type":"FunctionDoc","description":"

        Executes a function as soon as the interpreter is idle (stack empty).

        ","params":[{"identifier":"func","optional":false,"description":"

        The function to be deferred.

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":false,"description":"

        The value to be passed as the this parameter to the target function when the deferred function is called

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"args","optional":false,"variadic":true,"description":"

        Optional additional arguments to carry for the function.

        ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

        id that can be used to clear the deferred function using\nclearTimeout

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xMpJMwxMtZrIrG0msqp9r","name":"throttle","brief":"","access":"public","type":"FunctionDoc","description":"

        returns a function that, when invoked will only be triggered at most once during a given window of time

        ","params":[{"identifier":"fn","optional":false,"description":"

        the function to be throttled.

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"delay","optional":false,"description":"

        The delay in ms

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"no_trailing","optional":false,"description":"

        disable the execution on the trailing edge

        ","dataType":{"tokens":[{"value":"no_trailing","kind":"canonical"},{"value":"no_trailing","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

        the function that will be throttled

        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"extends":[],"implements":[]}]},{"id":"lPoqW26zzYvP5IShXJo6I","name":"string","brief":"","scope":"static","type":"NSDoc","description":"

        a collection of string utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"TVRumLIWGkmfz8H2x7yZ9","name":"capitalize","brief":"","access":"public","type":"FunctionDoc","description":"

        converts the first character of the given string to uppercase

        ","params":[{"identifier":"str","optional":false,"description":"

        the string to be capitalized

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        the capitalized string

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"5YQ76DlaVDUYi7PXjDYwe","name":"isBoolean","brief":"","access":"public","type":"FunctionDoc","description":"

        returns true if the given string contains a true or false

        ","params":[{"identifier":"str","optional":false,"description":"

        the string to be tested

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        true if the string is either true or false

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"G5IcEqANEtOTsaCDcDEvj","name":"isDataUrl","brief":"","access":"public","type":"FunctionDoc","description":"

        returns true if the given string is a data url in the data:[<mediatype>][;base64],<data> format.\n...","params":[{"identifier":"str","optional":false,"description":"

        the string (url) to be tested

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        true if the string is a data url

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Z5IhgE2x971L31Wt6VV93","name":"isNumeric","brief":"","access":"public","type":"FunctionDoc","description":"

        returns true if the given string contains a numeric integer or float value

        ","params":[{"identifier":"str","optional":false,"description":"

        the string to be tested

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        true if string contains only digits

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Z74j6HqIBrDSxmcpfdZcy","name":"toHex","brief":"","access":"public","type":"FunctionDoc","description":"

        convert a string to the corresponding hexadecimal value

        ","params":[{"identifier":"str","optional":false,"description":"

        the string to be converted

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        the converted hexadecimal value

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"5LodgJ9XH89Alb9vn2gKB","name":"checkVersion","brief":"","access":"public","examples":[{"caption":"","code":"if (me.utils.checkVersion(\"7.0.0\") > 0) {\n console.error(\n \"melonJS is too old. Expected: 7.0.0, Got: 6.3.0\"\n );\n}"}],"type":"FunctionDoc","description":"

        Compare two version strings

        ","params":[{"identifier":"first","optional":false,"description":"

        First version string to compare

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"second","optional":false,"description":"

        second version string to compare

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        comparison result
        < 0 : first < second
        \n0 : first == second
        \n> 0 : first > second

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o8jDZ3NuD8eiT_UnDbIqQ","name":"getUriFragment","brief":"","access":"public","examples":[{"caption":"","code":"// http://www.example.com/index.html#debug&hitbox=true&mytag=value\nlet UriFragment = me.utils.getUriFragment();\nconsole.log(UriFragment[\"mytag\"]); //> \"value\""}],"type":"FunctionDoc","description":"

        parse the fragment (hash) from a URL and returns them into

        ","params":[{"identifier":"url","optional":true,"default":"document.location","description":"

        an optional params string or URL containing fragment (hash) params to be parsed

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

        an object representing the deserialized params string.

        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[],"members":[{"id":"hUpBMBdyHIpSmZE1UbFKz","name":"debug","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        display the debug panel (if preloaded)

        "},{"id":"4M1fAJXI99nIR_T8HWgtC","name":"debugToggleKey","brief":"","access":"public","defaultValue":"\"s\"","scope":"static","type":"PropertyDoc","description":"

        show/hide the debug panel (if preloaded)

        "},{"id":"jhT-AVnBgoNd2bj9zpYZ4","name":"hitbox","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        draw the hitbox in the debug panel (if enabled)

        "},{"id":"_R-NBxjJb9kkFUfp35eQO","name":"quadtree","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        draw the quadtree in the debug panel (if enabled)

        "},{"id":"St6U9B_-Wj8UOeLH-GMay","name":"velocity","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        draw the entities velocity in the debug panel (if enabled)

        "},{"id":"FOpx3iRJbd6YorD-Yn3CM","name":"webgl","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        force the renderer to WebGL

        "}]}]},{"id":"94iXwQcDw1XCI2WAvOTtI","name":"video","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"k8-9cC6dj9mtz4XQKKKGa","name":"renderer","brief":"","defaultValue":"undefined","type":"PropertyDoc","description":"

        A reference to the active Canvas or WebGL active renderer renderer

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cUEUtsr9_5WfxbnysJUDE","name":"createCanvas","brief":"","type":"FunctionDoc","description":"

        Create and return a new Canvas element

        ","params":[{"identifier":"width","optional":false,"description":"

        width

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

        height

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"returnOffscreenCanvas","optional":true,"default":"false","description":"

        will return an OffscreenCanvas if supported

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

        a new Canvas element of the given size

        ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"k-5Z7pQaaLovykjMKmydX","name":"getParent","brief":"","type":"FunctionDoc","description":"

        return a reference to the parent DOM element holding the main canvas

        ","params":[],"returns":[{"description":"

        the HTML parent element

        ","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eqGtXrvL9oz9a5l-oJ-RP","name":"init","brief":"","examples":[{"caption":"","code":"// init the video with a 640x480 canvas\nme.video.init(640, 480, {\n parent : \"screen\",\n renderer : me.video.AUTO,\n scale : \"auto\",\n scaleMethod : \"fit\"\n});"}],"type":"FunctionDoc","description":"

        Initialize the "video" system (create a canvas based on the given arguments, and the related renderer).

        ","params":[{"identifier":"width","optional":false,"description":"

        The width of the canvas viewport

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

        The height of the canvas viewport

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options","optional":true,"description":"

        optional parameters for the renderer

        ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

        false if initialization failed (canvas not supported)

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"Jf_raImAKzGZWkczAx8J9","name":"Application","brief":"","see":["game"],"type":"ClassDoc","description":"

        An Application represents a single melonJS game, and is responsible for updating (each frame) all the related object statu...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"4PX5lPVXJO8PJLr2yPfcQ","name":"Settings","brief":"","see":["Application"],"type":"TypedefDoc","description":"

        Application & Renderer Settings definition.

        ","params":[{"identifier":"options.zoomX","optional":true,"default":"width","description":"

        The actual width of the canvas with scaling applied

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.zoomY","optional":true,"default":"height","description":"

        The actual height of the canvas with scaling applied

        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.compositor","optional":true,"description":"

        a custom compositor class (WebGL only)

        ","dataType":{"tokens":[{"value":"Compositor","kind":"canonical"},{"value":"Compositor","kind":"link"}],"template":"%1"}},{"identifier":"option.physic","optional":true,"default":"\"builtin\"","description":"

        the physic system to use (default: "builtin", or "none" to disable builtin physic)

        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[],"members":[{"id":"ZkhR5ixHk92TAxA6FdMpL","name":"antiAlias","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        whether to enable or not video scaling interpolation

        "},{"id":"NtOSqRz1akaZZY755T3Eb","name":"canvas","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        an existing canvas element to use as the renderer target (by default melonJS will create its own canvas based on given par..."},{"id":"9cMcorAbFxSd5GAbk0BpQ","name":"consoleHeader","brief":"","access":"public","defaultValue":"true","scope":"static","type":"PropertyDoc","description":"

        whether to display melonJS version and basic device information in the console

        "},{"id":"oQxhoTroFMO-_srSdInzb","name":"depthTest","brief":"","access":"public","defaultValue":"\"sorting\"","scope":"static","type":"PropertyDoc","description":"

        ~Experimental~ the default method to sort object on the z axis in WebGL

        "},{"id":"14egDsqUFvLWuEmx8yBLQ","name":"parent","brief":"","access":"public","defaultValue":"document.body","scope":"static","type":"PropertyDoc","description":"

        the DOM parent element to hold the canvas in the HTML file

        "},{"id":"jzf3YoKIuLKZuvJZmDUsl","name":"powerPreference","brief":"","access":"public","defaultValue":"\"default\"","scope":"static","type":"PropertyDoc","description":"

        a hint to the user agent indicating what configuration of GPU is suitable for the WebGL context. To be noted that Safari a..."},{"id":"y4OBRBl2qE08rocXP5VSl","name":"preferWebGL1","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        if true the renderer will only use WebGL 1

        "},{"id":"w9t4tLtgNrHYHoQg3fw_k","name":"renderer","brief":"","access":"public","defaultValue":"AUTO","scope":"static","type":"PropertyDoc","description":"

        renderer to use (CANVAS, WEBGL, AUTO), or a custom renderer class

        "},{"id":"p3lqBz8hC5DiZskoYqerq","name":"scale","brief":"","access":"public","defaultValue":"1.0","scope":"static","type":"PropertyDoc","description":"

        enable scaling of the canvas ('auto' for automatic scaling)

        "},{"id":"jJ0WMhE9ddAsGErlegDHX","name":"scaleMethod","brief":"","access":"public","defaultValue":"\"fit\"","scope":"static","type":"PropertyDoc","description":"

        screen scaling modes :

        \n
          \n
        • fit : Letterboxed; content is scaled to design aspect ..."},{"id":"EHZvGYpk5YL4UEitky-8-","name":"scaleTarget","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

          the HTML Element to be used as the reference target when using automatic scaling (by default melonJS will use the parent c..."},{"id":"oaOwIcGhpsCYyVjfxvvmd","name":"transparent","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

          whether to allow transparent pixels in the front buffer (screen).

          "}]},{"id":"cZeBddFNW6BhJVyjK4axO","name":"isInitialized","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          true when this app instance has been initialized

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cYQlb4GKY44GTTCQmnBqd","name":"lastUpdate","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

          Last time the game update loop was executed.
          \nUse this value to implement frame prediction in drawing events,\nfor crea...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mqMGCLln0FKH4UZJTIUos","name":"mergeGroup","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          when true, all objects will be added under the root world container.
          \nWhen false, a me.Container object wi...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HZC5682bHx7CQan6VBoAx","name":"parentElement","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the parent HTML element holding the main canvas of this application

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dnRIE6pUU5UMF1HbCMHrh","name":"pauseOnBlur","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// keep the default game instance running even when loosing focus\nme.game.pauseOnBlur = false;"}],"scope":"instance","type":"PropertyDoc","description":"

          Specify whether to pause this app when losing focus

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3PGmuVd_UWZAT9HeXVNkN","name":"renderer","brief":"","scope":"instance","type":"PropertyDoc","description":"

          a reference to the active Canvas or WebGL active renderer renderer

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YNyHLqDxTDtvkqDRJOUEf","name":"resumeOnFocus","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          Specify whether to unpause this app when gaining back focus

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pV5G4JwlvffvpR4eTHp1Q","name":"settings","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the given settings used when creating this application

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pkhIdYawki0jmLtP3aXf8","name":"sortOn","brief":"","scope":"instance","see":["World.sortOn"],"type":"PropertyDoc","description":"

          Specify the property to be used when sorting renderables for this application game world.\nAccepted values : "x",...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hoTkPyGRdcPU_pVnbci4P","name":"stopOnBlur","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Specify whether to stop this app when losing focus

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZKZWmvruRY7hdw1hHcn9C","name":"viewport","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the active stage "default" camera

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mzlVjhqRrEIw1NpEw-9X-","name":"world","brief":"","scope":"instance","type":"PropertyDoc","description":"

          a reference to the game world,
          \na world is a virtual environment containing all the game objects

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qmMTlnzSJ7H2aNJdnxjOZ","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"width","optional":false,"description":"

          The width of the canvas viewport

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

          The height of the canvas viewport

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options","optional":true,"description":"

          The optional parameters for the application and default renderer

          ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"jOpwpZ1YLtBdXr3ERYoKa","name":"draw","brief":"

          draw the active scene/stage associated to this game

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o2QfinZdHASBqfJdk9FYr","name":"getParentElement","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns the parent HTML Element holding the main canvas of this application

          ","params":[],"returns":[{"description":"

          the parent HTML element

          ","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gfHUuD0iPssI5MbNrAALj","name":"init","brief":"","scope":"instance","type":"MethodDoc","description":"

          init the game instance (create a physic world, update starting time, etc..)

          ","params":[{"identifier":"width","optional":false,"description":"

          The width of the canvas viewport

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

          The height of the canvas viewport

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options","optional":true,"description":"

          The optional parameters for the application and default renderer

          ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"t55PPpxt9OVS_CGRZQ5O6","name":"onLevelLoaded","brief":"","examples":[{"caption":"","code":"// call myFunction () everytime a level is loaded\nme.game.onLevelLoaded = this.myFunction.bind(this);"}],"scope":"instance","type":"MethodDoc","description":"

          Fired when a level is fully loaded and all renderable instantiated.
          \nAdditionnaly the level id will also be passed to ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UKZuImK8E6804PnwZYLON","name":"repaint","brief":"

          force the redraw (not update) of all objects

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vSRie6ZixezSOzgG-dQEl","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

          reset the game Object manager\ndestroy all current objects

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"64AHjnlcdR4n1DgYSqZNM","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

          update all objects related to this game active scene/stage

          ","params":[{"identifier":"time","optional":false,"description":"

          current timestamp as provided by the RAF callback

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"m9JXR8eZ4FqnKmEvFprhn","name":"updateFrameRate","brief":"","scope":"instance","see":["timer.maxfps","World.fps"],"type":"MethodDoc","description":"

          Update the renderer framerate using the system config variables.

          ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"tB3PeGMsNNYPDDXjM_jjY","name":"BitmapText","brief":"","type":"ClassDoc","description":"

          a bitmap font object

          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"9yT9rk0LsaVl7QZkF_YLW","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

          Define the renderable opacity
          \nSet to zero if you do not wish an object to be drawn

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"18t9-vvLtpiKSZoB-PNQQ","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Whether the renderable object will always update, even when outside of the viewport

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"roBu6j3AZBntv6tv_kveY","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

          a reference to the parent object that contains this renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PYMY0or8a0TZ4AvTx5agh","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

          The anchor point is used for attachment behavior, and/or when applying transformations.
          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nErat08-fUUbZezPNZ2o8","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DIUQ76q43FrbbjsBtv3J2","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZCNxE_1MSE09GPriVXpwS","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

          the renderable physic body

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gT3itVkEDvSlAhUxfbBF0","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

          bottom coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aIC-YS3DShWUDu5JLmPjm","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the horizontal axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Aeuno8aEnRaJ_1TbAgo2m","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the vertical axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CXj5GipeHm2_DqH1KkYEa","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the renderable default transformation matrix

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PncmS2j507UCpQnAeNtGl","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the depth of this renderable on the z axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g_uajAm31f8xCGYlcd9Bz","name":"fillStyle","brief":"","access":"public","scope":"instance","see":["Renderable#tint"],"type":"PropertyDoc","description":"

          defines the color used to tint the bitmap text

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zWYS7oqXbXD7HhxhLa3i7","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ys_uHatWt7NFed8zV4HVu","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

          (G)ame (U)nique (Id)entifier"
          \na GUID will be allocated for any renderable object added
          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zUs7R6jnm8Uljt0EG9eJA","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

          height of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yQ85Ywx5xtiImxENmsH-p","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Whether the renderable object is visible and within the viewport

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oDY91FjnC9-s5VqM6HGgQ","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          when true the renderable will be redrawn during the next update cycle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t0E6808ShFB4w3Ejceg3z","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

          returns true if this renderable is flipped on the horizontal axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"huVmi27nDlnvbi-nZ6Rja","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

          returns true if this renderable is flipped on the vertical axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PCbmYK33BvApjqoiumHrF","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5ndWLC8F9tlZYkYWk5KgM","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          If true then physic collision and input events will not impact this renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VIgHhnmAMoYtm6PGEWoyh","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          make the renderable object persistent over level changes

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V6ITA9GVHp6m5Ws2NdpKF","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

          left coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6jnI9QNSshW0yeQw9FtEQ","name":"lineHeight","brief":"","access":"public","defaultValue":"1.0","scope":"instance","type":"PropertyDoc","description":"

          Set the line spacing height (when displaying multi-line strings).
          \nCurrent font height will be multiplied with this va...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ygRx7lzsvVh9uAI1d8j0s","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8biRP1MN2BxYnIStToI8U","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

          The name of the renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZivjCOUB0C-i0LFN3HdGK","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

          an event handler that is called when the renderable leave or enter a camera viewport

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LqC5_OPe45SDqaXz4Ni--","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

          returns the parent application (or game) to which this renderable is attached to

          ","params":[],"returns":[{"description":"

          the parent application or undefined if not attached to any container/app

          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kXSQXccqT0OGtB_J1ZefG","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

          Array of points defining the Polygon
          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fmABNRkYDCWvL7cida8gZ","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          Position of the Renderable relative to its parent container

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pFnLfpnzqO5tZZ_XC-nH-","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

          right coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3gnh5aguTf_5leSNLH-bc","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jxUzzigIrwJXygvISJpKW","name":"textAlign","brief":"","access":"public","defaultValue":"\"left\"","scope":"instance","type":"PropertyDoc","description":"

          Set the default text alignment (or justification),
          \npossible values are "left", "right", and "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ljt9DaJ8mG779n9qxMZoq","name":"textBaseline","brief":"","access":"public","defaultValue":"\"top\"","scope":"instance","type":"PropertyDoc","description":"

          Set the text baseline (e.g. the Y-coordinate for the draw operation),
          \npossible values are "top", "hang...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hiih4TafuCII0DDKzRaRT","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kUR50_6PAYZEonCIzclu2","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

          top coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XBEJgpxIJxud6T9_nnCif","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

          the shape type (used internally)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3uYbgXDKH6VG2wSUFZklH","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Whether to update this object when the game is paused.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a-UpsEneMnIBcRjXf2QG8","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xsyqhFBfqmDJ5SNuUfBcd","name":"wordWrapWidth","brief":"","access":"public","defaultValue":"-1","scope":"instance","type":"PropertyDoc","description":"

          the maximum length in CSS pixel for a single segment of text.\n(use -1 to disable word wrapping)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SeCfYwQN420VCRE7wcGls","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          the text to be displayed

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TDp8iVI7T4J4Gj3bDMxBI","name":"fontData","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          font data

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5cij0WxWDeT0TzUG4F1s-","name":"fontImage","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          font image

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7kg52uYONCqLmfF-PVUU_","name":"fontScale","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          scaled font size

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5amANHYO4QvLrCUQVajqb","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the angle to the specified target

          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

          angle in radians

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uirjFQUSo0nlLkPLPoqO8","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

          center the rectangle position around the given coordinates

          ","params":[{"identifier":"x","optional":false,"description":"

          the x coordinate around which to center this rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          the y coordinate around which to center this rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          this rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3JkIXNTfYebz5OFeGH6ty","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

          clone this rectangle

          ","params":[],"returns":[{"description":"

          new rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"N6mDR7P-_9HfM-GBnD_1q","name":"constructor","brief":"","examples":[{"caption":"","code":"// Use me.loader.preload or me.loader.load to load assets\nme.loader.preload([\n { name: \"arial\", type: \"binary\" src: \"data/font/arial.fnt\" },\n { name: \"arial\", type: \"image\" src: \"data/font/arial.png\" },\n])\n// Then create an instance of your bitmap font:\nlet myFont = new me.BitmapText(x, y, {font:\"arial\", text:\"Hello\"});\n// two possibilities for using \"myFont\"\n// either call the draw function from your Renderable draw function\nmyFont.draw(renderer, \"Hello!\", 0, 0);\n// or just add it to the word container\nme.game.world.addChild(myFont);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

          position of the text object

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          position of the text object

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

          the text configuration

          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.font","description":"

          a font name to identify the corresponing source image

          ","dataType":{"tokens":[{"value":"string | Image","kind":"canonical"},{"value":"Image","kind":"canonical"}],"template":"string | %1"}},{"identifier":"settings.fontData","optional":true,"default":"settings.font","description":"

          the bitmap font data corresponding name, or the bitmap font data itself

          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.size","optional":true,"description":"

          size a scaling ratio

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.fillStyle","optional":true,"description":"

          a CSS color value used to tint the bitmapText (@see BitmapText.tint)

          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"settings.lineWidth","optional":true,"default":"1","description":"

          line width, in pixels, when drawing stroke

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.textAlign","optional":true,"default":"\"left\"","description":"

          horizontal text alignment

          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textBaseline","optional":true,"default":"\"top\"","description":"

          the text baseline

          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.lineHeight","optional":true,"default":"1.0","description":"

          line spacing height

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.0, y:0.0}","description":"

          anchor point to draw the text at

          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"settings.wordWrapWidth","optional":true,"description":"

          the maximum length in CSS pixel for a single segment of text

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.text","optional":true,"description":"

          a string, or an array of strings

          ","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QKsesOftRwjL5sx0XkbhR","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

          Returns true if the rectangle contains the given point or rectangle

          ","params":[{"identifier":"x","description":"

          x coordinate or a vector point, or a rectangle to test

          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

          y coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          True if the rectangle contain the given point or rectangle, otherwise false

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"X2wYOu80hnz2PbSxanyDm","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

          copy the position and size of the given rectangle into this one

          ","params":[{"identifier":"rect","optional":false,"description":"

          Source rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          new rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wAPBcnvYOrrAM8OTbeEeW","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the distance to the specified target

          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

          distance

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RxSDtinWMRo0u_ChcBigR","name":"draw","brief":"","scope":"instance","type":"MethodDoc","description":"

          draw the bitmap font

          ","params":[{"identifier":"renderer","optional":false,"description":"

          Reference to the destination renderer instance

          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":true,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZaJ13mHmvw2e5NavniYBn","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

          check if this rectangle is identical to the specified one

          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          true if equals

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"YJqFfzg_kYR9hNZqQwZcG","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

          flip the renderable on the horizontal axis (around the center of the renderable)

          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

          true to flip this renderable.

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dcCk3ZDvWchK8xom562pg","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

          flip the renderable on the vertical axis (around the center of the renderable)

          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

          true to flip this renderable.

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KHQQkJeobhge3FzqwaU4G","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the renderable absolute position in the game world

          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5mLW-d2eA5xKIEyafoEMp","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

          returns the bounding box for this renderable

          ","params":[],"returns":[{"description":"

          bounding box Rectangle object

          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w8px2tSDDA2d5fpqmRE5-","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

          returns a list of indices for all triangles defined in this polygon

          ","params":[],"returns":[{"description":"

          an array of vertex indices for all triangles forming this polygon.

          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"_96cNVUSMmwEILqQf-44D","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

          get the renderable alpha channel value

          ","params":[],"returns":[{"description":"

          current opacity value between 0 and 1

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4tss22QgypMjhqdfMjSYP","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

          ","params":[],"returns":[{"description":"

          true if the vertices are convex, false if not, null if not computable

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2ZrUqr1M5I-BeNegTlnmK","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

          determines whether all coordinates of this rectangle are finite numbers.

          ","params":[],"returns":[{"description":"

          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gKPsi_kEcJDdMa3x4hBMR","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

          Rotate this renderable towards the given target.

          ","params":[{"identifier":"target","optional":false,"description":"

          the renderable or position to look at

          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b3QQjh9mJUu8pib_3rTSd","name":"measureText","brief":"","scope":"instance","type":"MethodDoc","description":"

          measure the given text size in pixels

          ","params":[{"identifier":"text","optional":true,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

          a TextMetrics object with two properties: width and height, defining the output dimensions

          ","dataType":{"tokens":[{"value":"TextMetrics","kind":"canonical"},{"value":"TextMetrics","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5biglcnJU9sfS1tOfXzhd","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

          ","params":[{"identifier":"response","optional":false,"description":"

          the collision response object

          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

          the other renderable touching this one (a reference to response.a or response.b)

          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

          true if the object should respond to the collision (its position and velocity will be corrected)

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dCc-poTHiQEehwmAKT8X3","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

          OnDestroy Notification function
          \nCalled by engine before deleting the object

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EladmIXhb_X-iqI7k5hlA","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

          check if this rectangle is intersecting with the specified one

          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          true if overlaps

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"duueTNXRfgFO_N1zYbBHe","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

          restore the rendering context after drawing (automatically called by melonJS).

          ","params":[{"identifier":"renderer","optional":false,"description":"

          a renderer object

          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"LO9wVGnF4hAMIORpfrlmm","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

          a renderer object

          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"AaicEoWFdKuJw_acx5Dtj","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EvDODNV5LXG2BaShlSFJq","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

          change the font display size

          ","params":[{"identifier":"scale","optional":false,"description":"

          ratio

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          this object for chaining

          ","dataType":{"tokens":[{"value":"BitmapText","kind":"canonical"},{"value":"BitmapText","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YA5lVeG1MTzGaxEilAemM","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

          Rotate this renderable by the specified angle (in radians).

          ","params":[{"identifier":"angle","optional":false,"description":"

          The angle to rotate (in radians)

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

          an optional point to rotate around

          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8yUDzeHZZeAvIkNFj6kdl","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

          a number representing the abscissa of the scaling vector.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

          a number representing the ordinate of the scaling vector.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mOjusq-lrsyuHYjZ0W9Kd","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

          scale the renderable around his anchor point

          ","params":[{"identifier":"v","optional":false,"description":"

          scaling vector

          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yGxDPhZOqFdjwXCcT2pBt","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

          change the font settings

          ","params":[{"identifier":"textAlign","optional":false,"description":"

          ("left", "center", "right")

          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"scale","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          this object for chaining

          ","dataType":{"tokens":[{"value":"BitmapText","kind":"canonical"},{"value":"BitmapText","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8ld8pj2ETYbjp--Xv7m3F","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the renderable alpha channel value

          ","params":[{"identifier":"alpha","optional":false,"description":"

          opacity value between 0.0 and 1.0

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"cqxljktPbpkUz8QkL0UMK","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

          set new value to the rectangle shape

          ","params":[{"identifier":"x","optional":false,"description":"

          position of the Rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          position of the Rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

          width of the rectangle, or an array of vector defining the rectangle

          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

          height of the rectangle, if a numeral width parameter is specified

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          this rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"z9-KPxUzOxb9MFi0hIg6o","name":"setText","brief":"","scope":"instance","type":"MethodDoc","description":"

          change the text to be displayed

          ","params":[{"identifier":"value","optional":false,"default":"\"\"","description":"

          a string, or an array of strings

          ","dataType":{"tokens":[{"value":"number | string | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1 | string | %2"}}],"returns":[{"description":"

          this object for chaining

          ","dataType":{"tokens":[{"value":"BitmapText","kind":"canonical"},{"value":"BitmapText","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KkZ8dCgAtagMIJwZkbbJP","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the vertices defining this Polygon

          ","params":[{"identifier":"vertices","optional":false,"description":"

          array of vector or vertice defining the Polygon

          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

          this instance for objecf chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mvltmFmQjMSWwV7G6OlHn","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

          Shifts the Polygon to the given position vector.

          ","params":[{"identifier":"x","description":"

          x coordinate or a vector point to shift to

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ARo0YLkyj2nwwvfUUjw-S","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

          apply a 2d projection to this shapen

          ","params":[],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Fa7quKDg_Hn6Iqkd5sJW7","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

          apply an isometric projection to this shape

          ","params":[],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6lgnIN_AhuGW8pmbllo3f","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns a polygon whose edges are the same as this box.

          ","params":[],"returns":[{"description":"

          a new Polygon that represents this rectangle.

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ry25SQWdZ-VexG_ZJBUzH","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

          multiply the renderable currentTransform with the given matrix

          ","params":[{"identifier":"m","optional":false,"description":"

          the transformation matrix

          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FrwMO-FjuLqFSJ4WWvW4F","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

          translate the Polygon by the specified offset

          ","params":[{"identifier":"x","description":"

          x offset or a vector point to translate by

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

          y offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7Sr8N4RXtH9C-x5yuA4rE","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

          merge this rectangle with another one

          ","params":[{"identifier":"rect","optional":false,"description":"

          other rectangle to union with

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          the union(ed) rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"u1GpRWheuqVQAKx46iet8","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

          update function (automatically called by melonJS).

          ","params":[{"identifier":"dt","optional":false,"description":"

          time since the last update in milliseconds.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          true if the renderable is dirty

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"h7Z8p-9i6PdloNZqjwd7V","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

          update the bounding box for this Bitmap Text.

          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

          update the bounds size and position in (world) absolute coordinates

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

          this Bitmap Text bounding box Rectangle object

          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"csxIWUnD1Y3mwe9E-UCnP","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

          called when the anchor point value is changed

          ","params":[{"identifier":"x","optional":false,"description":"

          the new X value to be set for the anchor

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          the new Y value to be set for the anchor

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"Kdlfm9avwIcAY1YS__Dyh","name":"Body","brief":"","see":["Renderable.body"],"type":"ClassDoc","description":"

          a Generic Physic Body Object with some physic properties and behavior functionality, to add as a member of a Renderable.

          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Ac9YOG8cPsUh1Jm0FWEW5","name":"ancestor","brief":"","access":"public","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

          a reference to the parent object that contains this body,\nor undefined if it has not been added to one.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"muWEO1UfF-eV-mic4iB5K","name":"bounce","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

          the body bouciness level when colliding with other solid bodies :\na value of 0 will not bounce, a value of 1 will fully re...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PP4TiU5bgNISEmW80m4yn","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          The AABB bounds box reprensenting this body

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8QLSnZ4YoZW6F-NDOwSq9","name":"collisionType","brief":"","access":"public","defaultValue":"collision.types.ENEMY_OBJECT","examples":[{"caption":"","code":"// set the body collision type\nbody.collisionType = me.collision.types.PLAYER_OBJECT;"}],"scope":"instance","see":["collision.types"],"type":"PropertyDoc","description":"

          define the collision type of the body for collision filtering

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"glFOkHf594DsGNJnDtaXy","name":"falling","brief":"","access":"public","defaultValue":"false","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

          falling state of the body
          \ntrue if the object is falling
          \nfalse if the object is standing on something

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2C3lX-UssClVsSJWwCI4P","name":"force","brief":"","access":"public","defaultValue":"<0,0>","examples":[{"caption":"","code":" // define a default maximum acceleration, initial force and friction\n this.body.force.set(1, 0);\n this.body.friction.set(0.4, 0);\n this.body.setMaxVelocity(3, 15);\n\n // apply a postive or negative force when pressing left of right key\n update(dt) {\n if (me.input.isKeyPressed(\"left\")) {\n this.body.force.x = -this.body.maxVel.x;\n } else if (me.input.isKeyPressed(\"right\")) {\n this.body.force.x = this.body.maxVel.x;\n }\n }"}],"scope":"instance","see":["Body.setMaxVelocity"],"type":"PropertyDoc","description":"

          body force to apply to this the body in the current step.\n(any positive or negative force will be cancelled after every wo...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1GLDQBnHudQoXcD6hwOjc","name":"friction","brief":"","access":"public","defaultValue":"<0,0>","scope":"instance","type":"PropertyDoc","description":"

          body friction

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4RVpgyPz3cV_1iiod8wxX","name":"gravityScale","brief":"","access":"public","defaultValue":"1.0","scope":"instance","see":["World.gravity"],"type":"PropertyDoc","description":"

          The degree to which this body is affected by the world gravity

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3sBXGNp9cnFBPdshjhkXq","name":"ignoreGravity","brief":"","access":"public","defaultValue":"false","scope":"instance","see":["World.gravity"],"type":"PropertyDoc","description":"

          If true this body won't be affected by the world gravity

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LYMeEawNpfqgNJtT1d9ap","name":"isStatic","brief":"","access":"public","defaultValue":"false","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

          Either this body is a static body or not.\nA static body is completely fixed and can never change position or angle.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YwDs3JoGO7x0GqYbJ01il","name":"jumping","brief":"","access":"public","defaultValue":"false","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

          jumping state of the body
          \nequal true if the body is jumping

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_PG76GVpWAUNUiV70G_le","name":"mass","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

          the body mass

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"93y3xi_1yO27eIuiYipBQ","name":"maxVel","brief":"","access":"public","defaultValue":"<490,490>","scope":"instance","type":"PropertyDoc","description":"

          max velocity (to limit body velocity)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2E7tTk6lcOyE4yBk06-NW","name":"vel","brief":"","access":"public","defaultValue":"<0,0>","scope":"instance","see":["Body.force"],"type":"PropertyDoc","description":"

          The current velocity of the body.\nSee to apply a force if you need to modify a body velocity

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9bA0EVxyHZ6UMvXvjWDyB","name":"addShape","brief":"","examples":[{"caption":"","code":"// add a rectangle shape\nthis.body.addShape(new me.Rect(0, 0, image.width, image.height));\n// add a shape from a JSON object\nthis.body.addShape(me.loader.getJSON(\"shapesdef\").banana);"}],"scope":"instance","type":"MethodDoc","description":"

          add a collision shape to this body
          \n(note: me.Rect objects will be converted to me.Polygon before being added)

          ","params":[{"identifier":"shape","optional":false,"description":"

          a shape or JSON object

          ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse | Point | Array | Bounds | object","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"},{"value":"Point","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6<%7> | %8 | object"}}],"returns":[{"description":"

          the shape array length

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-wj7nIgXQbctn8RuwbZwd","name":"addVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

          add the given vertices to the body shape

          ","params":[{"identifier":"vertices","optional":false,"description":"

          an array of me.Vector2d points defining a convex hull

          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}},{"identifier":"index","optional":true,"default":"0","description":"

          the shape object for which to set the vertices

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"BeEM5uLn9icimGQCe_lvf","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"ancestor","optional":false,"description":"

          the parent object this body is attached to

          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"shapes","optional":true,"description":"

          a initial shape, list of shapes, or JSON object defining the body

          ","dataType":{"tokens":[{"value":"Rect | Array | Polygon | Array | Line | Array | Ellipse | Array | Point | Array | Bounds | Array | object","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Ellipse","kind":"link"},{"value":"Point","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"},{"value":"Bounds","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1 | %3<%2> | %4 | %5<%6> | %7 | %8<%9> | %10 | %11<%12> | %13 | %14<%15> | %16 | %17<%18> | object"}},{"identifier":"onBodyUpdate","optional":true,"description":"

          callback for when the body is updated (e.g. add/remove shapes)

          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"GO63wS7jHnxBfM1W7sK_f","name":"contains","brief":"","examples":[{"caption":"","code":"if (mySprite.body.contains(10, 10)) {\n // do something\n}\n// or\nif (mySprite.body.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

          Returns true if the any of the shape composing the body contains the given point.

          ","params":[{"identifier":"x","optional":false,"variadic":true,"description":"

          x coordinate or a vector point to check

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

          y coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          true if contains

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TpwkRBwcXkvQxLdZMJpNZ","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all shapes of the physic body\nmySprite.body.forEach((shape) => {\n shape.doSomething();\n});\nmySprite.body.forEach((shape, index) => { ... });\nmySprite.body.forEach((shape, index, array) => { ... });\nmySprite.body.forEach((shape, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

          The forEach() method executes a provided function once per body shape element.
          \nthe callback function is invoked with ...","params":[{"identifier":"callback","optional":false,"description":"

          fnction to execute on each element

          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

          value to use as this(i.e reference Object) when executing callback.

          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"R3hy347m4UH4Mb8uCF1C_","name":"fromJSON","brief":"","examples":[{"caption":"","code":"// define the body based on the banana shape\nthis.body.fromJSON(me.loader.getJSON(\"shapesdef\").banana);\n// or ...\nthis.body.fromJSON(me.loader.getJSON(\"shapesdef\"), \"banana\");"}],"scope":"instance","see":["https://www.codeandweb.com/physicseditor"],"type":"MethodDoc","description":"

          add collision mesh based on a JSON object\n(this will also apply any physic properties defined in the given JSON file)

          ","params":[{"identifier":"json","optional":false,"description":"

          a JSON object as exported from a Physics Editor tool

          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"id","optional":true,"description":"

          an optional shape identifier within the given the json object

          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

          how many shapes were added to the body

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WN9lRe0p8w3Ybvq12aiiO","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

          returns the AABB bounding box for this body

          ","params":[],"returns":[{"description":"

          bounding box Rectangle object

          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HOW8_NiQjBhI4E8Wzb4Sa","name":"getShape","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the collision shape at the given index

          ","params":[{"identifier":"index","optional":true,"default":"0","description":"

          the shape object at the specified index

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          shape a shape object if defined

          ","dataType":{"tokens":[{"value":"Polygon | Line | Ellipse","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3"}}],"extends":[],"implements":[]},{"id":"05AgJRn9Zpn2P8JMIqKpu","name":"removeShape","brief":"","scope":"instance","type":"MethodDoc","description":"

          remove the specified shape from the body shape list

          ","params":[{"identifier":"shape","optional":false,"description":"

          a shape object

          ","dataType":{"tokens":[{"value":"Polygon | Line | Ellipse","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

          the shape array length

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HefoeM5-6CSwOvh6VWy-2","name":"removeShapeAt","brief":"","scope":"instance","type":"MethodDoc","description":"

          remove the shape at the given index from the body shape list

          ","params":[{"identifier":"index","optional":false,"description":"

          the shape object at the specified index

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          the shape array length

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BUTy1E2RYEb46WE2Jz_Sd","name":"respondToCollision","brief":"","scope":"instance","type":"MethodDoc","description":"

          the built-in function to solve the collision response

          ","params":[{"identifier":"response","optional":false,"description":"

          the collision response object (see {@link ResponseObject})

          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"J-07NR9ccji04awKtwwvH","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

          Rotate this body (counter-clockwise) by the specified angle (in radians).\nUnless specified the body will be rotated around...","params":[{"identifier":"angle","optional":false,"description":"

          The angle to rotate (in radians)

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"default":"Body.getBounds().center","description":"

          an optional point to rotate around

          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sb5CYw-cPeOFRRU50fMDm","name":"setCollisionMask","brief":"","examples":[{"caption":"","code":"// filter collision detection with collision shapes, enemies and collectables\nbody.setCollisionMask(me.collision.types.WORLD_SHAPE | me.collision.types.ENEMY_OBJECT | me.collision.types.COLLECTABLE_OBJECT);\n...\n// disable collision detection with all other objects\nbody.setCollisionMask(me.collision.types.NO_OBJECT);"}],"scope":"instance","see":["collision.types"],"type":"MethodDoc","description":"

          By default all physic bodies are able to collide with all other bodies,
          \nbut it's also possible to specify 'collision ...","params":[{"identifier":"bitmask ","optional":true,"default":" collision.types.ALL_OBJECT","description":"

          the collision mask

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"J_ZwiD7LjesGa_pgUCHU3","name":"setCollisionType","brief":"","examples":[{"caption":"","code":"// set the body collision type\nbody.collisionType = me.collision.types.PLAYER_OBJECT;"}],"scope":"instance","see":["collision.types"],"type":"MethodDoc","description":"

          define the collision type of the body for collision filtering

          ","params":[{"identifier":"type","optional":false,"description":"

          the collision type

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Kh1npH72jmOiiK1mWAI5t","name":"setFriction","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the body default friction

          ","params":[{"identifier":"x","optional":false,"default":"0","description":"

          horizontal friction

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","description":"

          vertical friction

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9AlYZE6n1DYPsFCHCp6VF","name":"setMaxVelocity","brief":"","scope":"instance","type":"MethodDoc","description":"

          cap the body velocity (body.maxVel property) to the specified value

          ","params":[{"identifier":"x","optional":false,"description":"

          max velocity on x axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          max velocity on y axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"BnHxru6tYbMMcs-JPG6lo","name":"setStatic","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the body as a static body\nstatic body do not move automatically and do not check againt collision with others

          ","params":[{"identifier":"isStatic","optional":true,"default":"true","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"56gaYc5J4dwQILFlZ0uLm","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the body vertices to the given one

          ","params":[{"identifier":"vertices","optional":false,"description":"

          an array of me.Vector2d points defining a convex hull

          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}},{"identifier":"index","optional":true,"default":"0","description":"

          the shape object for which to set the vertices

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"true","description":"

          either to reset the body definition before adding the new vertices

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"zhGHnTBOkwNZMPSSCjIGw","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

          Updates the parent's position as well as computes the new body's velocity based\non the values of force/friction. Velocity...","params":[{"identifier":"dt","optional":false,"description":"

          time since the last update in milliseconds.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          true if resulting velocity is different than 0

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"c1x7hUqFdOHLG5m2bXXyY","name":"Bounds","brief":"","type":"ClassDoc","description":"

          a bound object contains methods for creating and manipulating axis-aligned bounding boxes (AABB).

          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"1dRuvilA6XnSLOfpHbOkD","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

          bottom coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nC-qV1K0DJEWCmj9zxOGF","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

          return the center position of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jqVcSB7dguLYhqHVkkbAt","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

          center position of the bound on the x axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HX_MN0LQ-_UKIDzqYPWa_","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

          center position of the bound on the y axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DllySBzcwmnTlpzxOZ_3O","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wb9evITAkaGbLCsS_-C-B","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

          left coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"szRYUlKtw1tj2CpLiCKlX","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

          right coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tchfGKAU0ODFqdY9myfoi","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

          top coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qe34X_AIBCj4l5qgzUY0R","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

          the object type (used internally)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aUxVGO-DqfBfTi8wrpYkd","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2a5bpNJ0uXHj3UBRkeSQf","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

          x position of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rYqo3RkyOUxXYH6UWGSD2","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

          y position of the bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DOY-2-dYwqqneQiU3DzGF","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

          add the given vertices to the bounds definition.

          ","params":[{"identifier":"vertices","optional":false,"description":"

          an array of Vector2d or Point

          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

          either to reset the bounds before adding the new vertices

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"JmOg-uTHOiCGIBHQQjQO6","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

          add the given bounds to the bounds definition.

          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

          either to reset the bounds before adding the new vertices

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"y-wr0ZKzRSyrZ0yJcjnRA","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

          add the given quad coordinates to this bound definition, multiplied by the given matrix

          ","params":[{"identifier":"x0","optional":false,"description":"

          left X coordinates of the quad

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

          top Y coordinates of the quad

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

          right X coordinates of the quad

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

          bottom y coordinates of the quad

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

          an optional transform to apply to the given frame coordinates

          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1Bz2-fTrjOgeoTwFEFhTh","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

          add the given point to the bounds definition.

          ","params":[{"identifier":"point","optional":false,"description":"

          the vector or point to be added to the bounds

          ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

          an optional transform to apply to the given point (if the given point is a Vector2d)

          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Ytc96C7Hvwf4xNycJTbFs","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

          center the bounds position around the given coordinates

          ","params":[{"identifier":"x","optional":false,"description":"

          the x coordinate around which to center this bounds

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          the y coordinate around which to center this bounds

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6c9U-LCXFWokfMhZnQNfJ","name":"clear","brief":"

          reset the bound

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WpmazKQ6GFVwUL_klHebP","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

          clone this bounds

          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mqK831f8gCJJKsuUt5KMh","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"vertices","optional":true,"description":"

          an array of Vector2d or Point

          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]},{"id":"BqyqdjFiLglgt4WajHT7P","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

          Returns true if the bounds contains the given point.

          ","params":[{"identifier":"x","description":"

          x coordinate or a vector point to check

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

          y coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          True if the bounds contain the point, otherwise false

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fyK42S3WFFQ9vXfH068_v","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

          determines whether all coordinates of this bounds are finite numbers.

          ","params":[],"returns":[{"description":"

          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"LrZwTbPC_NjTPwn8vsJeB","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns true if the two bounds intersect.

          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

          True if the bounds overlap, otherwise false

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ViSH0pOQYGfZLSO9Hfnvc","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

          sets the bounds to the given min and max value

          ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"x-Yg7IU53XR_MUYiP1eKN","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

          Shifts the bounds to the given x, y position.

          ","params":[{"identifier":"x","description":"

          x coordinate or a vector point to shift to

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"inSfB-cd9_fbnQ4L3bzQv","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns a polygon whose edges are the same as this bounds.

          ","params":[],"returns":[{"description":"

          a new Polygon that represents this bounds.

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uJVXmQz-p1YbRra6A4ZUa","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

          Translates the bounds by the given point

          ","params":[{"identifier":"x","description":"

          x coordinate or a vector point to translate by

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"w6Lno1KM23bRlgeCxKABT","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

          Updates bounds using the given vertices

          ","params":[{"identifier":"vertices","optional":false,"description":"

          an array of Vector2d or Point

          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"78atrQxvlfbIwZZBzSz87","name":"Camera2d","brief":"","type":"ClassDoc","description":"

          a 2D orthographic camera

          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"9p7e-DMG_rRWtmEyQh29T","name":"AXIS","brief":"","readonly":true,"type":"EnumDoc","description":"

          Axis definition

          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"ivqZP_UvS5Kb7ehDyiaYG","name":"BOTH","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

          both axis

          "},{"id":"D_WpJb1RNYxRSfjW10aR0","name":"HORIZONTAL","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

          horizontal axis only

          "},{"id":"cuAKlGLJJEZ1Rkdt4JdSA","name":"NONE","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

          no axis

          "},{"id":"sxLy5JWYdQksplJfOvZb1","name":"VERTICAL","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

          vertical axis only

          "}]},{"id":"HuytYK2qf7ZSLS-rElfKG","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

          Define the renderable opacity
          \nSet to zero if you do not wish an object to be drawn

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L71WWJdqRn1qNzUmedZQ2","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Whether the renderable object will always update, even when outside of the viewport

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rWhz6qeVed2E9jrMbk6v8","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

          a reference to the parent object that contains this renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UemmRhufgzQvUymivU3DN","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

          The anchor point is used for attachment behavior, and/or when applying transformations.
          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MJkMquO3UzQV_evzfglZb","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_xvgk3d4AsNfKkz5IQflF","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"39S9dmw4Vi37TaIV8Shep","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

          the renderable physic body

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ns2cn-vnD_jM8gOQCIkbi","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

          bottom coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9wf-Xyav5AwZzNBUmkyR-","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          Camera bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"59wyDTWCYlaDfYOMBNTer","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the horizontal axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9UXj3fmSsoMm7KNyWkyZZ","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the vertical axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OuHg7N3GCH9SY0q3c4so8","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the renderable default transformation matrix

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HeKDFR4guCu6-5wXvHz1r","name":"damping","brief":"","access":"public","defaultValue":"1.0","scope":"instance","type":"PropertyDoc","description":"

          Camera damping for smooth transition [0 .. 1].\n1 being the maximum value and will snap the camera to the target position

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hjfwzX1JUHfJX2KLK6wB8","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the depth of this renderable on the z axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZkW3UO1q0Ea5eQ18SBEkd","name":"far","brief":"","access":"public","defaultValue":"1000","scope":"instance","type":"PropertyDoc","description":"

          the furthest point relative to the camera.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E6P4au0KcwSO9ORUyARvM","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EQZ4p28JczqGY8ON8l8Xo","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

          (G)ame (U)nique (Id)entifier"
          \na GUID will be allocated for any renderable object added
          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"466xMgxSI7H0rom76udoD","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

          height of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M9oCsXANxKML77qb4L1Of","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Whether the renderable object is visible and within the viewport

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"waUKUycmdaKmJkeH0PIew","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          when true the renderable will be redrawn during the next update cycle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NVlX34kEEe7FOTtmmthu7","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

          returns true if this renderable is flipped on the horizontal axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9CRZs7STyaqMyOiJgdWOA","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

          returns true if this renderable is flipped on the vertical axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aidOuL3iq7j6jrqc3chBf","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gUyGNqXjii81MFX98ZEvw","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          If true then physic collision and input events will not impact this renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EDdwLYNQKeaXggTk4yGIe","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          make the renderable object persistent over level changes

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WrUDprQlwk9zFrx4CZ7s6","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

          left coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-ck8edLyEMdNbdOUBiq2L","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1__OJKvYodV5EhV-cjos6","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

          The name of the renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wulLfCpk3cwzdWZuFC_dM","name":"near","brief":"","access":"public","defaultValue":"-1000","scope":"instance","type":"PropertyDoc","description":"

          the closest point relative to the camera

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zqGwUCEFCNOqNhIc1SOC0","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

          an event handler that is called when the renderable leave or enter a camera viewport

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"66ETx0RqYD72u85sWiP6D","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

          returns the parent application (or game) to which this renderable is attached to

          ","params":[],"returns":[{"description":"

          the parent application or undefined if not attached to any container/app

          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"osG2i0s_0igOr8VOv0OxW","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

          Array of points defining the Polygon
          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4J3M_l3uuFqN-ay_6wQnY","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          Position of the Renderable relative to its parent container

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"brsm49bv2RSw6VHM3T33r","name":"projectionMatrix","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          the default camera projection matrix\n(2d cameras use an orthographic projection by default).

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rByh3f4VjxbqIQHSLvOre","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

          right coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hZe0lgxgjxjz19HdBmiAW","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dhkMlQpopF9sglnW4judy","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XbwiHKk1Uimcd4S7FtrKx","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

          top coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rXxapubf2ulObyjFLB6HI","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

          the shape type (used internally)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rXi7Ne-soWSMh9Qpkw-Le","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Whether to update this object when the game is paused.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3S2rmz9PpK1HEH4nv2i1-","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YjgP0plpppbZCnIjKOb9H","name":"smoothFollow","brief":"","access":"private","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          enable or disable damping

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FvLYzMB7P-94ip-dKq58D","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the angle to the specified target

          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

          angle in radians

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PenrAaCxRR5JAnKffnuDr","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

          center the rectangle position around the given coordinates

          ","params":[{"identifier":"x","optional":false,"description":"

          the x coordinate around which to center this rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          the y coordinate around which to center this rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          this rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uNJTSV5VmKTbuGcAdRotD","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

          clone this rectangle

          ","params":[],"returns":[{"description":"

          new rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ckaTsxEQ1bcEkdYIw0_kD","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"minX","optional":false,"description":"

          start x offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"description":"

          start y offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"description":"

          end x offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"description":"

          end y offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"PP45s914EdWH5PNI7dysy","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

          Returns true if the rectangle contains the given point or rectangle

          ","params":[{"identifier":"x","description":"

          x coordinate or a vector point, or a rectangle to test

          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

          y coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          True if the rectangle contain the given point or rectangle, otherwise false

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"aI1DGqdPBgPCFVEYLcQYO","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

          copy the position and size of the given rectangle into this one

          ","params":[{"identifier":"rect","optional":false,"description":"

          Source rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          new rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"S6e2UHwydmvsVHS9QSVGr","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the distance to the specified target

          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

          distance

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DNgbDWEwzOUImDacXg4UH","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

          Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

          a renderer instance

          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

          the viewport to (re)draw

          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8QXBTXvNlGgWhW4_NLktC","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

          check if this rectangle is identical to the specified one

          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          true if equals

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Gk9RPbR1yvQ1GOLxBFW-f","name":"fadeIn","brief":"","examples":[{"caption":"","code":"// flash the camera to white for 75ms\nme.game.viewport.fadeIn(\"#FFFFFF\", 75);"}],"scope":"instance","type":"MethodDoc","description":"

          fadeIn effect

          \nfade to the specified color

          ","params":[{"identifier":"color","optional":false,"description":"

          a CSS color value

          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"duration","optional":true,"default":"1000","description":"

          expressed in milliseconds

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"onComplete","optional":true,"description":"

          callback once effect is over

          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"smYuw_ajzBcLW26vT0cNC","name":"fadeOut","brief":"","examples":[{"caption":"","code":"// fade the camera to white upon dying, reload the level, and then fade out back\nme.game.viewport.fadeIn(\"#fff\", 150, function() {\n me.audio.play(\"die\", false);\n me.level.reload();\n me.game.viewport.fadeOut(\"#fff\", 150);\n});"}],"scope":"instance","type":"MethodDoc","description":"

          fadeOut(flash) effect

          \nscreen is filled with the specified color and slowly goes back to normal

          ","params":[{"identifier":"color","optional":false,"description":"

          a CSS color value

          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"duration","optional":true,"default":"1000","description":"

          expressed in milliseconds

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"onComplete","optional":true,"description":"

          callback once effect is over

          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"nJ7KEdMLkEGKBtDkXbASr","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

          flip the renderable on the horizontal axis (around the center of the renderable)

          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

          true to flip this renderable.

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"25R1CypbKsU14RXW25Wxk","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

          flip the renderable on the vertical axis (around the center of the renderable)

          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

          true to flip this renderable.

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vBE3BINf1RJCFLIkfYNLp","name":"focusOn","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the camera position around the specified object

          ","params":[{"identifier":"target","optional":false,"description":"

          the renderable to focus the camera on

          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[],"extends":[],"implements":[]},{"id":"htX5wSubrPmRJ7sJKYN4M","name":"follow","brief":"","examples":[{"caption":"","code":"// set the camera to follow this renderable on both axis, and enable damping\nme.game.viewport.follow(this, me.game.viewport.AXIS.BOTH, 0.1);"}],"scope":"instance","type":"MethodDoc","description":"

          set the camera to follow the specified renderable.
          \n(this will put the camera center around the given target)

          ","params":[{"identifier":"target","optional":false,"description":"

          renderable or position vector to follow

          ","dataType":{"tokens":[{"value":"Renderable | Vector2d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"axis","optional":true,"default":"me.game.viewport.AXIS.BOTH","description":"

          Which axis to follow (see {@link Camera2d.AXIS})

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"damping","optional":true,"default":"1","description":"

          default damping value

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9bYaszRBKT3sS4pLNhq_-","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the renderable absolute position in the game world

          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YIo5_nO61sDwWPOzLmwMv","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

          returns the bounding box for this renderable

          ","params":[],"returns":[{"description":"

          bounding box Rectangle object

          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gpmQbu1nFkO9LBjMo2Afm","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

          returns a list of indices for all triangles defined in this polygon

          ","params":[],"returns":[{"description":"

          an array of vertex indices for all triangles forming this polygon.

          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Fbu8Fiu_eAnPOSwiu0SEe","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

          get the renderable alpha channel value

          ","params":[],"returns":[{"description":"

          current opacity value between 0 and 1

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yiEgdYmbtNbhYjsHG8g98","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

          ","params":[],"returns":[{"description":"

          true if the vertices are convex, false if not, null if not computable

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Nb-sNfVry11VIC8HYWnoL","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

          determines whether all coordinates of this rectangle are finite numbers.

          ","params":[],"returns":[{"description":"

          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"QOGeAEr5V4BssXGwcqBC1","name":"isVisible","brief":"","scope":"instance","type":"MethodDoc","description":"

          check if the specified renderable is in the camera

          ","params":[{"identifier":"obj","optional":false,"description":"

          to be checked against

          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"floating ","optional":true,"default":" obj.floating","description":"

          if visibility check should be done against screen coordinates

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

          true if within the viewport

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gUBbo9M5ZIpFFuVOOBRYF","name":"localToWorld","brief":"","scope":"instance","type":"MethodDoc","description":"

          convert the given "local" (screen) coordinates into world coordinates

          ","params":[{"identifier":"x","optional":false,"description":"

          the x coordinate of the local point to be converted

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          the y coordinate of the local point to be converted

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

          an optional vector object where to set the converted value

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bSGOHJeQfccGVPgSVC380","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

          Rotate this renderable towards the given target.

          ","params":[{"identifier":"target","optional":false,"description":"

          the renderable or position to look at

          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Vm99fw0hPS0vCzdEmGvqi","name":"move","brief":"","examples":[{"caption":"","code":"// Move the camera up by four pixels\nme.game.viewport.move(0, -4);"}],"scope":"instance","see":["Camera2d.focusOn"],"type":"MethodDoc","description":"

          move the camera upper-left position by the specified offset.

          ","params":[{"identifier":"x","optional":false,"description":"

          horizontal offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          vertical offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vWrVGcpVVQ6JsvyeM9026","name":"moveTo","brief":"","scope":"instance","see":["Camera2d.focusOn"],"type":"MethodDoc","description":"

          move the camera upper-left position to the specified coordinates

          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"N0LPk_8PYbV7Jiu-OLSBa","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

          ","params":[{"identifier":"response","optional":false,"description":"

          the collision response object

          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

          the other renderable touching this one (a reference to response.a or response.b)

          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

          true if the object should respond to the collision (its position and velocity will be corrected)

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"n_jELsOjtFTVM62o4ib-8","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

          OnDestroy Notification function
          \nCalled by engine before deleting the object

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LZn4oAayZEAJAnt2O17DB","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

          check if this rectangle is intersecting with the specified one

          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          true if overlaps

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"avhUpVkZXX4pGP5XuDGOU","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

          restore the rendering context after drawing (automatically called by melonJS).

          ","params":[{"identifier":"renderer","optional":false,"description":"

          a renderer object

          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"JWIDnyJJUWJ0nUG7PlqnK","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

          a renderer object

          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"Sh5PmaeQaLdxtUpKLVm3U","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wf50nP3eIuwq5wDIFWrje","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

          reset the camera position to specified coordinates

          ","params":[{"identifier":"x","optional":true,"default":"0","description":"

          initial position of the camera on the x axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

          initial position of the camera on the y axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"nVfQh2kYWDC1a9zm1WiZ5","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

          resize the camera

          ","params":[{"identifier":"w","optional":false,"description":"

          new width of the camera

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

          new height of the camera

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          this camera

          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hPA06fc9wJvKxxOKdGPQ7","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

          Rotate this renderable by the specified angle (in radians).

          ","params":[{"identifier":"angle","optional":false,"description":"

          The angle to rotate (in radians)

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

          an optional point to rotate around

          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"akhpIIODKVczBKc13S9b6","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

          a number representing the abscissa of the scaling vector.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

          a number representing the ordinate of the scaling vector.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"S1fs--1iU86BIgC-H90Ge","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

          scale the renderable around his anchor point

          ","params":[{"identifier":"v","optional":false,"description":"

          scaling vector

          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Rrea4mQW0u8VKYQCNxCvw","name":"setBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the camera boundaries (set to the world limit by default).\nthe camera is bound to the given coordinates and cannot mov...","params":[{"identifier":"x","optional":false,"description":"

          world left limit

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          world top limit

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

          world width limit

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

          world height limit

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"nPFVlBXWAtAUG7rBuM6sd","name":"setDeadzone","brief":"","scope":"instance","see":["Camera2d.follow"],"type":"MethodDoc","description":"

          change the deadzone settings.\nthe "deadzone" defines an area within the current camera in which\nthe followed ren...","params":[{"identifier":"w","optional":false,"description":"

          deadzone width

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

          deadzone height

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1KG7JQt7rZoOXI5PXEqHT","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the renderable alpha channel value

          ","params":[{"identifier":"alpha","optional":false,"description":"

          opacity value between 0.0 and 1.0

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"dAiTnavvlMv--fi14rTpp","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

          set new value to the rectangle shape

          ","params":[{"identifier":"x","optional":false,"description":"

          position of the Rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          position of the Rectangle

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

          width of the rectangle, or an array of vector defining the rectangle

          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

          height of the rectangle, if a numeral width parameter is specified

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          this rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"InVtLJWOZjVsr07B6bwKy","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

          set the vertices defining this Polygon

          ","params":[{"identifier":"vertices","optional":false,"description":"

          array of vector or vertice defining the Polygon

          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

          this instance for objecf chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nsidT7c5u0QFPxQryrOtb","name":"shake","brief":"","examples":[{"caption":"","code":"// shake it baby !\nme.game.viewport.shake(10, 500, me.game.viewport.AXIS.BOTH);"}],"scope":"instance","type":"MethodDoc","description":"

          shake the camera

          ","params":[{"identifier":"intensity","optional":false,"description":"

          maximum offset that the screen can be moved\nwhile shaking

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"duration","optional":false,"description":"

          expressed in milliseconds

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"axis","optional":true,"default":"me.game.viewport.AXIS.BOTH","description":"

          specify on which axis to apply the shake effect (see {@link Camera2d.AXIS})

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"onComplete","optional":true,"description":"

          callback once shaking effect is over

          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"force","optional":true,"description":"

          if true this will override the current effect

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Q_dQeJdCQP1BRsGK-pfkl","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

          Shifts the Polygon to the given position vector.

          ","params":[{"identifier":"x","description":"

          x coordinate or a vector point to shift to

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JntvFuMiqK8fxP37QbEmY","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

          apply a 2d projection to this shapen

          ","params":[],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"69K7LTA-cDavG6taTKm7K","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

          apply an isometric projection to this shape

          ","params":[],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5h6bLzvYm4FHloHBdakdj","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns a polygon whose edges are the same as this box.

          ","params":[],"returns":[{"description":"

          a new Polygon that represents this rectangle.

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"frzlA55C5dkl5nVWlWZvf","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

          multiply the renderable currentTransform with the given matrix

          ","params":[{"identifier":"m","optional":false,"description":"

          the transformation matrix

          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"D5hfk-l4vERX7PmHGYtAt","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

          translate the Polygon by the specified offset

          ","params":[{"identifier":"x","description":"

          x offset or a vector point to translate by

          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

          y offset

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          Reference to this object for method chaining

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"awPZ0MGKMWAM8XdNMsM_w","name":"unfollow","brief":"","scope":"instance","type":"MethodDoc","description":"

          unfollow the current target

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4U1us_x6pDe4TlDaCEtpT","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

          merge this rectangle with another one

          ","params":[{"identifier":"rect","optional":false,"description":"

          other rectangle to union with

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

          the union(ed) rectangle

          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"u35p_OOh2vsGMoBkBtrC2","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

          update function (automatically called by melonJS).

          ","params":[{"identifier":"dt","optional":false,"description":"

          time since the last update in milliseconds.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          true if the renderable is dirty

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"mLGzJUYzRZbNRa442GnAV","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

          update the bounding box for this shape.

          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

          update the bounds size and position in (world) absolute coordinates

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

          this shape bounding box Rectangle object

          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SBXlv-ofpcaT8vPCbamUe","name":"worldToLocal","brief":"","scope":"instance","type":"MethodDoc","description":"

          convert the given world coordinates into "local" (screen) coordinates

          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

          an optional vector object where to set the converted value

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

          a vector with the converted local coordinates

          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1qjakg89gcU_Cp8Ka4Fg3","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

          called when the anchor point value is changed

          ","params":[{"identifier":"x","optional":false,"description":"

          the new X value to be set for the anchor

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          the new Y value to be set for the anchor

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"K6wDn8x9eXMFyMh5NBzbD","name":"CanvasRenderer","brief":"","type":"ClassDoc","description":"

          a canvas renderer object

          ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"QitYrL1fdS51APi0eoXUj","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

          the default method to sort object ("sorting", "z-buffer")

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w3T3HtmIgZPvKqqB7w16f","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          the requested video size ratio

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tW-veZEPRu3nkADrw2KVg","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

          return the height of the canvas which this renderer draws to

          ","params":[],"returns":[{"description":"

          height of the system Canvas

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ea4Tbw45YFkA5SF--rrYU","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          true if the current rendering context is valid

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x89cstwG1wFV1DWjmxjqY","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

          The Path2D instance used by the renderer to draw primitives

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lZmaVO7i3NvBorNy6mdOJ","name":"scaleRatio","brief":"","defaultValue":"<1,1>","scope":"instance","type":"PropertyDoc","description":"

          the scaling ratio to be applied to the main canvas

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YzQSqEFso6mHKcA2M7i0T","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          The given constructor options

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T-KgyUh0P_mSUjmBUMC9L","name":"type","brief":"","defaultValue":"\"Generic\"","scope":"instance","type":"PropertyDoc","description":"

          The renderer type : Canvas, WebGL, etc...\n(override this property with a specific value when implementing a custom rendere...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fXc3KQEPqes2aKwpxXpIN","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

          return the width of the canvas which this renderer draws to

          ","params":[],"returns":[{"description":"

          width of the system Canvas

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xjapa_VyGTOMSwte96F9A","name":"beginPath","brief":"","examples":[{"caption":"","code":"// First path\nrenderer.beginPath();\nrenderer.setColor(\"blue\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(200, 20);\nrenderer.stroke();\n// Second path\nrenderer.beginPath();\nrenderer.setColor(\"green\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(120, 120);\nrenderer.stroke();"}],"scope":"instance","type":"MethodDoc","description":"

          starts a new path by emptying the list of sub-paths. Call this method when you want to create a new path

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"86C4UU5LQseCPLklMGpU8","name":"clear","brief":"

          prepare the framebuffer for drawing a new frame

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DsdGmIHBWabY1H2kxgm36","name":"clearColor","brief":"","scope":"instance","type":"MethodDoc","description":"

          Clears the main framebuffer with the given color

          ","params":[{"identifier":"color","optional":true,"default":"\"#000000\"","description":"

          CSS color.

          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"opaque","optional":true,"default":"false","description":"

          Allow transparency [default] or clear the surface completely [true]

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"eeK4YE1o_G6kCbN0vhOao","name":"clearMask","brief":"","scope":"instance","see":["CanvasRenderer#setMask"],"type":"MethodDoc","description":"

          disable (remove) the rendering mask set through setMask.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vCcxewgrJkzNeaLwNBWjH","name":"clearRect","brief":"","scope":"instance","type":"MethodDoc","description":"

          Erase the pixels in the given rectangular area by setting them to transparent black (rgba(0,0,0,0)).

          ","params":[{"identifier":"x","optional":false,"description":"

          x axis of the coordinate for the rectangle starting point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          y axis of the coordinate for the rectangle starting point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

          The rectangle's width.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

          The rectangle's height.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"din1F7hVGZo0AqHGe6F3s","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

          clear the rendering tint set through setTint.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6KLz5buXucRzjTxV1V50q","name":"clipRect","brief":"","scope":"instance","type":"MethodDoc","description":"

          clip the given region from the original canvas. Once a region is clipped,\nall future drawing will be limited to the clippe...","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Q2Ix9f7kVGzSkM6t5wb-A","name":"closePath","brief":"

          add a straight line from the current point to the start of the current sub-path. If the shape has already been closed or has only one point, this function does nothing

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UWXhfWmoLK7sz4K_GPNMR","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"options","optional":true,"description":"

          optional parameters for the renderer

          ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"BpjLYmgSbP0fiXeOn4Yxn","name":"createPattern","brief":"","examples":[{"caption":"","code":"let tileable = renderer.createPattern(image, \"repeat\");\nlet horizontal = renderer.createPattern(image, \"repeat-x\");\nlet vertical = renderer.createPattern(image, \"repeat-y\");\nlet basic = renderer.createPattern(image, \"no-repeat\");"}],"scope":"instance","see":["ImageLayer#repeat"],"type":"MethodDoc","description":"

          Create a pattern with the specified repetition

          ","params":[{"identifier":"image","optional":false,"description":"

          Source image to be used as the pattern's image

          ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"repeat","optional":false,"description":"

          Define how the pattern should be repeated

          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasPattern","kind":"canonical"},{"value":"CanvasPattern","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KVaJmI3HN0HiM8-oSBREs","name":"drawImage","brief":"","examples":[{"caption":"","code":"// Position the image on the canvas:\nrenderer.drawImage(image, dx, dy);\n// Position the image on the canvas, and specify width and height of the image:\nrenderer.drawImage(image, dx, dy, dWidth, dHeight);\n// Clip the image and position the clipped part on the canvas:\nrenderer.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);"}],"scope":"instance","type":"MethodDoc","description":"

          Draw an image onto the main using the canvas api

          ","params":[{"identifier":"image","optional":false,"description":"

          An element to draw into the context.

          ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"sx","optional":false,"description":"

          The X coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sy","optional":false,"description":"

          The Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sw","optional":false,"description":"

          The width of the sub-rectangle of the source image to draw into the destination context. If not specified, the entire rect...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sh","optional":false,"description":"

          The height of the sub-rectangle of the source image to draw into the destination context.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dx","optional":false,"description":"

          The X coordinate in the destination canvas at which to place the top-left corner of the source image.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dy","optional":false,"description":"

          The Y coordinate in the destination canvas at which to place the top-left corner of the source image.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dw","optional":false,"description":"

          The width to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the image...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dh","optional":false,"description":"

          The height to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the imag...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"FHLkbTrgC1HL0E9IQm-TL","name":"drawPattern","brief":"","scope":"instance","see":["CanvasRenderer#createPattern"],"type":"MethodDoc","description":"

          Draw a pattern within the given rectangle.

          ","params":[{"identifier":"pattern","optional":false,"description":"

          Pattern object

          ","dataType":{"tokens":[{"value":"CanvasPattern","kind":"canonical"},{"value":"CanvasPattern","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"W-vHXvAolC9WZzTWu_Ao5","name":"fill","brief":"","scope":"instance","type":"MethodDoc","description":"

          fill the given shape or the current defined path

          ","params":[{"identifier":"shape","optional":true,"description":"

          a shape object to fill

          ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[],"extends":[],"implements":[]},{"id":"459vMuZd2lWGCVs1IAzIp","name":"fillArc","brief":"","scope":"instance","type":"MethodDoc","description":"

          Fill an arc at the specified coordinates with given radius, start and end points

          ","params":[{"identifier":"x","optional":false,"description":"

          arc center point x-axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          arc center point y-axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

          start angle in radians

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

          end angle in radians

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

          draw arc anti-clockwise

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"GuT2NSpcACzm60Hzml6VA","name":"fillEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

          Fill an ellipse at the specified coordinates with given radius

          ","params":[{"identifier":"x","optional":false,"description":"

          ellipse center point x-axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          ellipse center point y-axis

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

          horizontal radius of the ellipse

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

          vertical radius of the ellipse

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Y1Vu344je2EvZJ_W2oYDc","name":"fillLine","brief":"","scope":"instance","type":"MethodDoc","description":"

          Fill a line of the given two points

          ","params":[{"identifier":"startX","optional":false,"description":"

          the start x coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

          the start y coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

          the end x coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

          the end y coordinate

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"89nF7wYO25jqUdzXXryjo","name":"fillPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

          Draw a a point at the specified coordinates

          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"AuePEf6GM4WFQx6rddicT","name":"fillPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

          Fill the given me.Polygon on the screen

          ","params":[{"identifier":"poly","optional":false,"description":"

          the shape to draw

          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"-rp9UqiSu4mH7r4yC5yaa","name":"fillRect","brief":"","scope":"instance","type":"MethodDoc","description":"

          Draw a filled rectangle at the specified coordinates

          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"KRCtmTXI4SwMs3kSd9_uJ","name":"fillRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

          Draw a rounded filled rectangle at the specified coordinates

          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"0TsEg7kosH1fBvbWpGdnv","name":"flush","brief":"

          render the main framebuffer on screen

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pVKv0GS2RNbOScNja_s0W","name":"getBlendMode","brief":"","scope":"instance","type":"MethodDoc","description":"

          returns the current blend mode for this renderer

          ","params":[],"returns":[{"description":"

          blend mode

          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"F9p9C7iQh3QRGx62T35mO","name":"getCanvas","brief":"","scope":"instance","type":"MethodDoc","description":"

          return a reference to the canvas which this renderer draws to

          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ihaj1myoIlUx_GfTroeLI","name":"getColor","brief":"","scope":"instance","type":"MethodDoc","description":"

          get the current fill & stroke style color.

          ","params":[],"returns":[{"description":"

          current global color

          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kZtEbLGkg-7HqGVnoaN1h","name":"getContext","brief":"","scope":"instance","type":"MethodDoc","description":"

          return a reference to this renderer canvas corresponding Context

          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D | WebGLRenderingContext","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"E2IJzMlQf3xSzbFDFy2ku","name":"getContext2d","brief":"","scope":"instance","type":"MethodDoc","description":"

          Returns the 2D Context object of the given Canvas
          \nAlso configures anti-aliasing and blend modes based on constructor o...","params":[{"identifier":"canvas","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"true","description":"

          use false to disable transparency

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vo46FkFJx0YBZoRoL2AtG","name":"getGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

          Return the global alpha

          ","params":[],"returns":[{"description":"

          global alpha value

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Qu_3m4OB-QxycjWyGMdLK","name":"getScreenCanvas","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getCanvas();"],"type":"MethodDoc","description":"

          return a reference to the screen canvas

          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4LgqPsBwpNaO9e_6l4ulN","name":"getScreenContext","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getContext();"],"type":"MethodDoc","description":"

          return a reference to the screen canvas corresponding 2d Context
          \n(will return buffered context if double buffering is ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4UrOTgeUHPrXXXwSg1wDZ","name":"globalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

          return the current global alpha

          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uCaONT_vyTlJ1ModgbE1o","name":"lineTo","brief":"

          adds a straight line to the current sub-path by connecting the sub-path's last point to the specified (x, y) coordinates.

          ","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false},{"identifier":"y","optional":false}],"returns":[],"extends":[],"implements":[]},{"id":"-6YYDXcWO-8PemDpNupWL","name":"moveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

          begins a new sub-path at the point specified by the given (x, y) coordinates.

          ","params":[{"identifier":"x","optional":false,"description":"

          The x axis of the point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          The y axis of the point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CntdrPxzfDqpZM37aOknx","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

          check if the given rect or bounds overlaps with the renderer screen coordinates

          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Rect | Bounds","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

          true if overlaps

          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"GAOzzZa2IwKnm7POx5geq","name":"rect","brief":"","scope":"instance","type":"MethodDoc","description":"

          creates a rectangular path whose starting point is at (x, y) and whose size is specified by width and height.

          ","params":[{"identifier":"x","optional":false,"description":"

          The x axis of the coordinate for the rectangle starting point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          The y axis of the coordinate for the rectangle starting point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

          The rectangle's width.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

          The rectangle's height.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"n8xFBGzJfZenyiX1KDXJB","name":"reset","brief":"

          Reset context state

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_FTthunurSUmeBmtz2Km4","name":"resetTransform","brief":"

          Reset the canvas transform to identity

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iz1hARdFLcNmFTaip3T9q","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

          resizes the system canvas

          ","params":[{"identifier":"width","optional":false,"description":"

          new width of the canvas

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

          new height of the canvas

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"lecptkB1vrVT8Lo2KFEEB","name":"restore","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

          restores the most recently saved renderer state by popping the top entry in the drawing state stack

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gjgyzoJKZf3CYGLNo0W3a","name":"rotate","brief":"","examples":[{"caption":"","code":" // Rotated rectangle\n renderer.rotate((45 * Math.PI) / 180);\n renderer.setColor(\"red\");\n renderer.fillRect(10, 10, 100, 100);\n\n // Reset transformation matrix to the identity matrix\n renderer.setTransform(1, 0, 0, 1, 0, 0);"}],"scope":"instance","type":"MethodDoc","description":"

          adds a rotation to the transformation matrix.

          ","params":[{"identifier":"angle","optional":false,"description":"

          the rotation angle, clockwise in radians

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ysylteyhZVtlYOEA6F7SC","name":"roundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

          adds a rounded rectangle to the current path.

          ","params":[{"identifier":"x","optional":false,"description":"

          The x axis of the coordinate for the rectangle starting point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          The y axis of the coordinate for the rectangle starting point.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

          The rectangle's width.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

          The rectangle's height.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

          The corner radius.

          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"iZ44p7iZQobONxATvhXYM","name":"save","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

          saves the entire state of the renderer by pushing the current state onto a stack.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3QjhDfgFwnlUiaCa_JJPm","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

          adds a scaling transformation to the renderer units horizontally and/or vertically

          ","params":[{"identifier":"x","optional":false,"description":"

          Scaling factor in the horizontal direction. A negative value flips pixels across the vertical axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

          Scaling factor in the vertical direction. A negative value flips pixels across the horizontal axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"0sbRN_aeCWYovFsxY341O","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

          enable/disable image smoothing (scaling interpolation) for the given context

          ","params":[{"identifier":"context","optional":false,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":true,"default":"false","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"OPXrvwF8VIjWmha9V0Os_","name":"setBlendMode","brief":"","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation"],"type":"MethodDoc","description":"

          set a blend mode for the given context.
          \nSupported blend mode between Canvas and WebGL remderer :

          \n
            \n
          • &q...","params":[{"identifier":"mode","optional":true,"default":"\"normal\"","description":"

            blend mode : "normal", "multiply", "lighter, "additive", "screen"

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"context","optional":true,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"5Y83l-hPpCaKyJYJ_UFWc","name":"setColor","brief":"","scope":"instance","type":"MethodDoc","description":"

            Set the current fill & stroke style color.\nBy default, or upon reset, the value is set to #000000.

            ","params":[{"identifier":"color","optional":false,"description":"

            css color value

            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}}],"returns":[],"extends":[],"implements":[]},{"id":"vPeveNYg94JA1-81MjRpQ","name":"setGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

            Set the global alpha

            ","params":[{"identifier":"alpha","optional":false,"description":"

            0.0 to 1.0 values accepted.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"NWny5_H3paEdM6oHKG8qF","name":"setLineWidth","brief":"","scope":"instance","type":"MethodDoc","description":"

            Set the line width on the context

            ","params":[{"identifier":"width","optional":false,"description":"

            Line width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"h9MF8XBJ0fdhSJWa0zjE0","name":"setMask","brief":"","scope":"instance","see":["CanvasRenderer#clearMask"],"type":"MethodDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nIf the drawing or rendering area is l...","params":[{"identifier":"mask","optional":true,"description":"

            the shape defining the mask to be applied

            ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"invert","optional":true,"default":"false","description":"

            either the given shape should define what is visible (default) or the opposite

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"-8yYJq3QvvpF8gIfiUlIn","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

            set/change the current projection matrix (WebGL only)

            ","params":[{"identifier":"matrix","optional":false,"dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"OkEjRWY3Aphgm8NPW2dXG","name":"setTint","brief":"","scope":"instance","type":"MethodDoc","description":"

            set a coloring tint for sprite based renderables

            ","params":[{"identifier":"tint","optional":false,"description":"

            the tint color

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":true,"description":"

            an alpha value to be applied to the tint

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"N0dTralG3ljvZ6XRKcu_9","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

            Reset (overrides) the renderer transformation matrix to the\nidentity one, and then apply the given transformation matrix.

            ","params":[{"identifier":"a","optional":false,"description":"

            a matrix2d to transform by, or a the a component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

            the b component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

            the c component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

            the d component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

            the e component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

            the f component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"DHJ64LlKrwXFoUM5-s0Z_","name":"stroke","brief":"","scope":"instance","type":"MethodDoc","description":"

            stroke the given shape or the current defined path

            ","params":[{"identifier":"shape","optional":true,"description":"

            a shape object to stroke

            ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"fill","optional":true,"default":"false","description":"

            fill the shape with the current color if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"7U29kxcUNXyZr8eovXJD9","name":"strokeArc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Stroke an arc at the specified coordinates with given radius, start and end points

            ","params":[{"identifier":"x","optional":false,"description":"

            arc center point x-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            arc center point y-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

            start angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

            end angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

            draw arc anti-clockwise

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"fill","optional":true,"default":"false","description":"

            also fill the shape with the current color if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"-zfX55-duqZ_PvYGdR667","name":"strokeEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

            Stroke an ellipse at the specified coordinates with given radius

            ","params":[{"identifier":"x","optional":false,"description":"

            ellipse center point x-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            ellipse center point y-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            horizontal radius of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            vertical radius of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

            also fill the shape with the current color if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"KWTHtsUWZuYp228UfpM36","name":"strokeLine","brief":"","scope":"instance","type":"MethodDoc","description":"

            Stroke a line of the given two points

            ","params":[{"identifier":"startX","optional":false,"description":"

            the start x coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

            the start y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

            the end x coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

            the end y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"P21UgshetuELt2jbr3CsN","name":"strokePoint","brief":"","scope":"instance","type":"MethodDoc","description":"

            Stroke a Point at the specified coordinates

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"iqlHg36iCVFjbFdiwPpQW","name":"strokePolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Stroke the given me.Polygon on the screen

            ","params":[{"identifier":"poly","optional":false,"description":"

            the shape to draw

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

            also fill the shape with the current color if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"FTyA8t17a6CEwOBfh33vm","name":"strokeRect","brief":"","scope":"instance","type":"MethodDoc","description":"

            Stroke a rectangle at the specified coordinates

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

            also fill the shape with the current color if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"uYd7IpshhEhgZgv2ioDAe","name":"strokeRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

            Stroke a rounded rectangle at the specified coordinates

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

            also fill the shape with the current color if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"2lwnhFT00pWCzjZQpgJ2w","name":"tint","brief":"","scope":"instance","type":"MethodDoc","description":"

            tint the given image or canvas using the given color

            ","params":[{"identifier":"src","optional":false,"description":"

            the source image to be tinted

            ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2 | %3"}},{"identifier":"color","optional":false,"description":"

            the color that will be used to tint the image

            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"mode","optional":true,"default":"\"multiply\"","description":"

            the composition mode used to tint the image

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            a new canvas element representing the tinted image

            ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"9HCxT1A-IiAUpSLn3i64V","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderer.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

            creates a Blob object representing the last rendered frame

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning a Blob object representing the last rendered frame

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Qqqz0ITZvX2jV5fHUCOxP","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

            returns a data URL containing a representation of the last frame rendered

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning a string containing the requested data URL.

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KdX96w4779MktHtJJ9fII","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderer.transferToImageBitmap().then((image) => console.log(image));"}],"scope":"instance","type":"MethodDoc","description":"

            creates an ImageBitmap object of the last frame rendered\n(not supported by standard Canvas)

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning an ImageBitmap.

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6fqXjZgYHsv4i47C4F1-c","name":"transform","brief":"","scope":"instance","see":["{@link CanvasRenderer.setTransform} which will reset the current transform matrix prior to performing the new transformation"],"type":"MethodDoc","description":"

            Multiply given matrix into the renderer tranformation matrix

            ","params":[{"identifier":"a","optional":false,"description":"

            a matrix2d to transform by, or a the a component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

            the b component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

            the c component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

            the d component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

            the e component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

            the f component to multiply the current matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"S7t0pkfPhlOMmnNLukA9a","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

            adds a translation transformation to the current matrix.

            ","params":[{"identifier":"x","optional":false,"description":"

            Distance to move in the horizontal direction. Positive values are to the right, and negative to the left.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            Distance to move in the vertical direction. Positive values are down, and negative are up.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"VFi3W5sUhzm9X-z9KjZt6","name":"CanvasTexture","brief":"","type":"ClassDoc","description":"

            Creates a Canvas Texture of the given size\n(when using WebGL, use invalidate to force a reupload of the corre...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Uugk_RJBeuiT8YQvJ4_kH","name":"canvas","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the canvas created for this CanvasTexture

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0sqUxtaYCdzfDRKAiXuQz","name":"context","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the rendering context of this CanvasTexture

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ibWCe0Le6gK6AB10-_R8m","name":"height","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The height of this canvas texture in pixels

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jF5buneFPc3PXsfw9fwiW","name":"width","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The width of this canvas texture in pixels

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dVorkny2mG0QgwJHxMmmt","name":"clear","brief":"

            Clears the content of the canvas texture

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P_ogNCuKi3WHG6BaMNMdQ","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"width","optional":false,"description":"

            the desired width of the canvas

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            the desired height of the canvas

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"attributes","optional":false,"description":"

            The attributes to create both the canvas and context

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"attributes.context","optional":true,"default":"\"2d\"","description":"

            the context type to be created ("2d", "webgl", "webgl2")

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"attributes.offscreenCanvas","optional":true,"default":"false","description":"

            will create an offscreenCanvas if true instead of a standard canvas

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"attributes.willReadFrequently","optional":true,"default":"false","description":"

            Indicates whether or not a lot of read-back operations are planned

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"attributes.antiAlias","optional":true,"default":"false","description":"

            Whether to enable anti-aliasing, use false (default) for a pixelated effect.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Dw271JuUuYnvVpSjcUBd6","name":"getImageData","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns an ImageData object representing the underlying pixel data for a specified portion of this canvas texture.\n(Note: ...","params":[{"identifier":"x","optional":false,"description":"

            The x-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

            The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to t...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            The ImageData extracted from this CanvasTexture.

            ","dataType":{"tokens":[{"value":"ImageData","kind":"canonical"},{"value":"ImageData","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w65HZmZAE7k3Qub9IIfzH","name":"invalidate","brief":"","scope":"instance","type":"MethodDoc","description":"

            invalidate the current CanvasTexture, and force a reupload of the corresponding texture\n(call this if you modify the canva...","params":[{"identifier":"renderer","optional":false,"description":"

            the renderer to which this canvas texture is attached

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"YRAqeZ7UCgBeijNTAWFgO","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            Resizes the canvas texture to the given width and height.

            ","params":[{"identifier":"width","optional":false,"description":"

            the desired width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            the desired height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"p3JIhka3xVqih6bhgvnoX","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

            enable/disable image smoothing (scaling interpolation)

            ","params":[{"identifier":"enable","optional":true,"default":"false","description":"

            whether to enable or not image smoothing (scaling interpolation)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"ow2BBsZaPqd3u-PbtPfXL","name":"toBlob","brief":"","examples":[{"caption":"","code":"canvasTexture.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

            creates a Blob object representing the image contained in this canvas texture

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning a Blob object representing the image contained in this canvas texture

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nqbBcrI5egghA_uLTIUv5","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

            returns a data URL containing a representation of the most recently rendered image of this canvas texture\n(not supported b...","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning a string containing the requested data URL.

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_ix7qknS43EvajtBFue-g","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap));"}],"scope":"instance","type":"MethodDoc","description":"

            creates an ImageBitmap object from the most recently rendered image of this canvas texture

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning an ImageBitmap.

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"yWLwDbUccegv8U4YKDfOM","name":"Collectable","brief":"","type":"ClassDoc","description":"

            a basic collectable helper class for immovable object (e.g. a coin)

            ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"cu9M30ZoFQn38oj03Q5_a","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CQakb79RU1y4i0ihCR8qx","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Cf6YC5_hIBMXhKHQawaxL","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"99kqMeI1LJrWRs_PaVzdm","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aCBP_5ad8avOZb61uUOGV","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uUvI94fV6xQhbtFrTRkko","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u9r0RRYegA6J9dBRWPvZj","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SBdD1a5qth2qRyWCY-iWY","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O8eC3MKCOEBwZ0jJbTkpV","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zwHOmgw97k-U6GoL0mx81","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CJKYJwop94vx4uERKfSdg","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7ZGo_MzrUGOgsO7b3lqsv","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5jJP-gbf80wPeU-W0RfH2","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MEwIRL2TXzsZqFn5cE1Fz","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A3_j4lJCUytQEDadMczwB","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-y3BpCZMmWHrkSYpZroLm","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2fFBs7PWnJUDirzwNhz0v","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OBduZ-7TXi5aw_uK90_Sj","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VWvqDk2GIh_0bd3B9jUJf","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3xy7WOEXBcujiFfrm39rv","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hsqf9HuLYrxvkTifK584h","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MiVCBd9juoDTfeAJzfh9O","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1wX5NcCMY1iYZ1cBXUQYM","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p8DgkpR8vUTn2ORaeBgg2","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4v4Kmcs1e3qVzz38gtNMD","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uyb6q5VEmB9shFQ9iD26X","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G4jCwZ4MbEQ3sOEnqljcb","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W9eE_maWRLNOlaZiXEZyr","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8Yxst7SvrniwsQ3ZjSI0n","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

            global offset for the position to draw from on the source image.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r4xRKHcJaaApkunYRNU6B","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jBD6OamhrY7Svpro1-zbG","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UNjxX-Da4QQvrmKY3AWN6","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m9zQkLkl4UtNfH0CxFwSw","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YqaNXB15eoyuOu-_zQUDX","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"24XxAJ850OAzv_Arov2hy","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YypVKYRtMiZZuMEKFUt_6","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lxYKQUQNPQseEOR2S0ZuT","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y9ZqFIQriH14zar37WjdJ","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eibqqBmJY7LG3UvEkPTWr","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pKgzkgB1izFKQo4sNAE47","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D-hB8T1BjIkIiQ-PRvYJC","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZwIxl9eVweKLxwDoSC_EV","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            add an animation
            \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

            list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

            ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

            cycling speed for animation in ms

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            frame amount of frame added to the animation (delay between each frame).

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JMQsQTc7QjEVyho3Vu50b","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JXnG2bC6Y3WK-yz6hCeUm","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iy7aQsCwhW6QipHF5KmE1","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M2eNff1BUIWpsJrjhs0ff","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the collectable

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the collectable

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            See {@link Sprite}

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"c5nFdyrRDjRLqpw2IKvtT","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"stkwlsewBBALztUZzUjX8","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o9Tqvfglo2diHnmOP2F6T","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fzUyx5o1cvfpVGlYftNRd","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0S6heBOAizYODF9Nh21hP","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

            make the object flicker

            ","params":[{"identifier":"duration","optional":false,"description":"

            expressed in milliseconds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

            Function to call when flickering ends

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tb8p57REdfcr1Un8472rp","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5QPU6nHfZhrdseNuNY8ft","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kD8dHvicMQUlo3WggBR-W","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6-Xap1YPWxfNOKMDO3m-m","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mY4aTSlpkVyTkGnqwntL2","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the current animation frame index.

            ","params":[],"returns":[{"description":"

            current animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qVUGBTND-OZnOMzechzPs","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"93frHp0tJOEye8eTsPcHN","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zyzI98ZNapyI9NlD_ILvN","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5elzajjuB729BwtSuviWt","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

            return true if the specified animation is the current one.

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_-fHpZDRW6ioop4E_ZbHg","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"NWiE4RBVPWjWDNhrqvEJS","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the flickering state of the object

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"yP5l1ygVxNi9lrjbhSQRi","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"n3xfqxesNbZpiIyskyWKr","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"30Ptko6t77YH9xtfSfFpW","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-Q3uv_dtai-JNl07AwkqK","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8vtD5DZcxqm7nfoWh7Va_","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MmLgJYTNqhbBaI5k_HQxt","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CcuBV5bk8z-_kTVSDPiha","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"k-zoVB5L0hSGDAgAH2zCW","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"BqtHjZ_YwCmZm6w8tl382","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HsPzFBbS6mQ6UlYs4YlAx","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WM7igPggPjPLR342QfH-W","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            reverse the given or current animation if none is specified

            ","params":[{"identifier":"name","optional":true,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HAUAmn9nGUN5Uqr_pGMHV","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7Mgl4pfQBS7dprVHo0xy1","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rEjvy_R7cKaW12Pdp4rJr","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bkEaEq3C15b0tKRT8icd8","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

            force the current animation frame index.

            ","params":[{"identifier":"index","optional":true,"default":"0","description":"

            animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Jzwaz8_ZHWuGq2wLAPP8w","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

            set the current animation\nthis will always change the animation & set the frame to zero

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

            animation id to switch to when complete, or callback

            ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

            if false will reset the elapsed time counter since last frame

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LH1RexaPAyi4asZvCiC9B","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"lo5pbsbUcZeUKQtvBzmPq","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

            change the current texture atlas region for this sprite

            ","params":[{"identifier":"region","optional":false,"description":"

            typically returned through me.Texture.getRegion()

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LPt7B2KHGkjLs18RhXQLc","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FWm4iAkoUxy7v-DWdgp8U","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zHEAOKSZ_5KmGZIFFYsYQ","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"5oEq0mk3gB4IgvFwWizll","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZU1-1yN1Ct6DqlSkuem4A","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d9Zh6bXU0NWj7Us7f0Kvy","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Dkp9ua_QV2r4NuClYd3qB","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VajoZ04Jd3OA30xFQaJ2z","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ax6IQiEZZrnt6BeymbevI","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2Du9Ffzn9QDtaxzYb0ZBZ","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rTPSw7OlkLISGp9xvNXDC","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this srite (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rN9Rtbuswm3fybimL2tC2","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            update function.
            \nautomatically called by the game manager {@link game}

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the Sprite is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"M-JIY4_NKK4fisJT7q6zd","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"DD_LzKQjLAqfd1rY18Yry","name":"Color","brief":"","type":"ClassDoc","description":"

            A color manipulation object.

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"vRbd--FnDgz5fiUha2kIV","name":"alpha","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Alpha Component [0.0 .. 1.0]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lyHZoHw5XcSflxQbPije0","name":"b","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Blue Component [0 .. 255]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p_wnbk7YAwToCGVPFNYT5","name":"g","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Green Component [0 .. 255]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JJ1kFvmJ3pTTA4UJ9K5Qw","name":"r","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Red Component [0 .. 255]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SKCFkP0PBI4nASGdvblYx","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

            Blend this color with the given one using addition.

            ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"A-KMlF66ObNeq1GtCla4d","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            Create a new copy of this color object.

            ","params":[],"returns":[{"description":"

            Reference to the newly cloned object

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yaw5Ynh4zcqr6qst6W9su","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"r","optional":true,"default":"0","description":"

            red component [0 .. 255]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":true,"default":"0","description":"

            green component [0 .. 255]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":true,"default":"0","description":"

            blue component [0 .. 255]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"alpha","optional":true,"default":"1.0","description":"

            alpha value [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"DGAC4g0-0hMQyEpSOF-vo","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            Copy a color object or CSS color into this one.

            ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iXnllCiO8WR0GZxN0GeqP","name":"darken","brief":"","scope":"instance","type":"MethodDoc","description":"

            Darken this color value by 0..1

            ","params":[{"identifier":"scale","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"53wHfQ2bA0nCT6_jq8kXq","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            Return true if the r,g,b,a values of this color are equal with the\ngiven one.

            ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"3PcdTRatWoFTx5t1W9Vsw","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

            Linearly interpolate between this color and the given one.

            ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":false,"description":"

            with alpha = 0 being this color, and alpha = 1 being the given one.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NKQ8nhCsklSJADPPY6ZMt","name":"lighten","brief":"","scope":"instance","type":"MethodDoc","description":"

            Lighten this color value by 0..1

            ","params":[{"identifier":"scale","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XNPHxoywyGJ-rc7ZJi1h7","name":"parseCSS","brief":"","scope":"instance","type":"MethodDoc","description":"

            Parse a CSS color string and set this color to the corresponding\nr,g,b values

            ","params":[{"identifier":"cssColor","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8qwVCxlaHMvpu_LsIP4Ew","name":"parseHex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Parse a Hex color ("#RGB", "#RGBA" or "#RRGGBB", "#RRGGBBAA" format) and set this ...","params":[{"identifier":"hexColor","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"argb ","optional":true,"default":" false","description":"

            true if format is #ARGB, or #AARRGGBB (as opposed to #RGBA or #RGGBBAA)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rk_ViLNpguULOBVtFhWHE","name":"parseRGB","brief":"","scope":"instance","type":"MethodDoc","description":"

            Parse an RGB or RGBA CSS color string

            ","params":[{"identifier":"rgbColor","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P7Ix3vAwORa0vENPEahht","name":"random","brief":"","scope":"instance","type":"MethodDoc","description":"

            Generate random r,g,b values for this color object

            ","params":[{"identifier":"min","optional":true,"default":"0","description":"

            minimum value for the random range

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":true,"default":"255","description":"

            maxmium value for the random range

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"O4LVoLPdbMfzVA6aUSN9f","name":"setColor","brief":"","scope":"instance","type":"MethodDoc","description":"

            Set this color to the specified value.

            ","params":[{"identifier":"r","optional":false,"description":"

            red component [0 .. 255]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":false,"description":"

            green component [0 .. 255]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":false,"description":"

            blue component [0 .. 255]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"alpha","optional":true,"default":"1.0","description":"

            alpha value [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lNUmEr2emooNgviJfnDt7","name":"setFloat","brief":"","scope":"instance","type":"MethodDoc","description":"

            set this color to the specified normalized float values

            ","params":[{"identifier":"r","optional":false,"description":"

            red component [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":false,"description":"

            green component [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":false,"description":"

            blue component [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"alpha","optional":true,"default":"1.0","description":"

            alpha value [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zkiFD4gvFsovubPNmCBbG","name":"setHSL","brief":"","scope":"instance","type":"MethodDoc","description":"

            set this color to the specified HSL value

            ","params":[{"identifier":"h","optional":false,"description":"

            hue (a value from 0 to 1)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"s","optional":false,"description":"

            saturation (a value from 0 to 1)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"l","optional":false,"description":"

            lightness (a value from 0 to 1)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ztx_bvh4mOfyOs9fqur9C","name":"setHSV","brief":"","scope":"instance","type":"MethodDoc","description":"

            set this color to the specified HSV value

            ","params":[{"identifier":"h","optional":false,"description":"

            hue (a value from 0 to 1)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"s","optional":false,"description":"

            saturation (a value from 0 to 1)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":false,"description":"

            value (a value from 0 to 1)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RMJUf3rOmmwa-Sn-eicNo","name":"toArray","brief":"","scope":"instance","type":"MethodDoc","description":"

            return an Float Array representation of this object

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Mvkwd1CXXITOLhl2axkUf","name":"toHex","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the color in "#RRGGBB" format

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"DeV9G87R14BBonacglDZ0","name":"toHex8","brief":"","scope":"instance","type":"MethodDoc","description":"

            Get the color in "#RRGGBBAA" format

            ","params":[{"identifier":"alpha","optional":false}],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"QNYznZdUu2Thi8nYoky6x","name":"toRGB","brief":"","scope":"instance","type":"MethodDoc","description":"

            Get the color in "rgb(R,G,B)" format

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"DDPkMEY12VCFGzE4unMdp","name":"toRGBA","brief":"","scope":"instance","type":"MethodDoc","description":"

            Get the color in "rgba(R,G,B,A)" format

            ","params":[{"identifier":"alpha","optional":true,"default":"1.0","description":"

            alpha value [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"COxhyNl_H6wLiXzjFOxX5","name":"toUint32","brief":"","scope":"instance","type":"MethodDoc","description":"

            Pack this color RGB components into a Uint32 ARGB representation

            ","params":[{"identifier":"alpha","optional":true,"default":"1.0","description":"

            alpha value [0.0 .. 1.0]

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"W1cuM7DwnY8B20QpI5hwY","name":"ColorLayer","brief":"","type":"ClassDoc","description":"

            a generic Color Layer Object. Fills the entire Canvas with the color not just the container the object belongs to.

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"q3UQjQjL9Ade87b3-vHi6","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x2nK430-11GJmNkMxG0VG","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9zZKhLzL9lHLkRwHzik_a","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qjNwQVoUQdxHBZhUNtsPk","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-nbdLSwCcYtH7hK-fCuRv","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m-ncny9E-432ybiBWmUZa","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TZdEZ8kdpjoHMqxMhE9kY","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mGwogRCGXP8zrpTuvBzTw","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qtKvVNyx3mbbuxh5HCDnY","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2aLOlFJodN0zlBW8d_npB","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HkXxq-FRQFhvBc5qjXVLX","name":"color","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the layer color component

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WVrFrW0cMBeUd-XR3gXKv","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NNQQEW9G_vooh2MNg7TQt","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bTqvmie2VKLrgnR8TMqlp","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OkobpPJzov8JNDXCvFr4M","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sN8-HGIw_9StaGxn7cQH4","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qem4wwNLTtPMWFbh75hYy","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jz3_7_kWEA_FQzy09slRb","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"di51tM-7_JLCdkd_3LdMx","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mwL0uFkc7gwMWBm2RyRmg","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bciWeMF6LzCo7B-xeTJg3","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dGwLcbh59ywzoWMjWCfTn","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jihBybE6w63eyC7jQ_th5","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JpgBkCi7jSjuDNEqFgKoN","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YR2bLI3c3My1EuGbIbtpf","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gbIniJThPByQx0djd0S88","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OIBb8DzD0GGF9k7ehih--","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kpdlXMeSW9Nlsa2nPwWFf","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VRYbjWerxF2sQWMIpXoe8","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pp05By5tA4U-B4hqt1Ftc","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YXEKegrik3NLp1jjb4_6b","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w7buaCFP0zrWUFVmFFr2y","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xm-V3iUhSFxzt4bF07YF1","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QKet2D20N-scosL09FUO4","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i-Ovi7dKwaHae9kI76UYV","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"47yfMNOO1cY4Y6GXCgy97","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gMJiG_Hu7lNn3_qnGgoIQ","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YxS1o2aTTDNlSLcByEC3f","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sUYXYA7d07nN4tywuYIZy","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7SSSRDeZ6l-oAlpd6v84a","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UWyKVOowMmqu1Dh89yhq-","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"name","optional":false,"description":"

            Layer name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"color","optional":false,"description":"

            CSS color

            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"z ","optional":true,"default":" 0","description":"

            z-index position

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qT9Bg9wY0spaDLlmAgo-p","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"O5ma5kH-_VyKm3PaSi7S2","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y4KA_d-kleXWj_3ZHPuSX","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7wB3AwiZHJe57j4rhgQ9D","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ZsOzveaHozfFYVPrhSVzz","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nDyGehfduDDAFjnDihv3V","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ceEZVIZHwzLM16q4-Z_j1","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-kYZh9rviOPq7fyeJeypm","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aKW4--VwXYvaShEeLGj__","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"zkwBm6JORxh48JeyIv6lK","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tPbOvRaIWWJZEwVOgE8xa","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0lanQ5zGvlpMF2A82NtoN","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"VesbJ1rAfqCfRcmOvKNJL","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o0k4Td31JZojsJMHryI_z","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"U20E1KMKdsxTDqHjyOLtB","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dkeH0mdE-9dbtDRRTKZSd","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"UF7H0io-gO55TAQyBS8Do","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"1Zl0knRIzRJvTfmHaUn2V","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"wSIX2sHZn75py-TBG8qaa","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8jDbSx2ykGbj4ebmfpen3","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YBD8Dtg2lyvLCPaCSs4XQ","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5NY2WWTuK4AqfhfKabKag","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QZL_G85zHhKS8cDLcAVqD","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UOqFYfM1-3qmHKJSOlEcP","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4FKwy2QWYyIZeNSCp_gYz","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1XusvMSniXM8zGmA0EIyb","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NRvJs8X95MKSQjTFLQgBT","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"hT_lEVFEzc8MCCNp2M2ay","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HeFSYVQANitNqCQuoTb3n","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JRCPp43aT-DGwYzNq4zzi","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pqDlONgaUawGLOSCgkMQ_","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w_g4h1HCLOmQo5JiZ_5cv","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zrd-tJxvcxy7S8WjodPyp","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oSWqHMg05jY2BVe89Gf0F","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2s8PMhWTQXgbzX_y_FCS_","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FkrAaoAqy3b0sbkdpWqUr","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this color layer (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"u94CL4eAdKjHIsEremCuy","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"boPaxtX09afhkJxnIoj_y","name":"Compositor","brief":"","type":"ClassDoc","description":"

            A base Compositor object.

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"BBYXkxyYq3Ue6CXO4yBUx","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            an array of vertex attribute properties

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fVgo6ULOvJWCW1t4N_d09","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the shader currently used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LvSQ0aPBdVSHxo2Q2vUce","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the default shader created by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"suM7JWxgRGXzZfP9O5tbz","name":"mode","brief":"","defaultValue":"gl.TRIANGLES","scope":"instance","type":"PropertyDoc","description":"

            primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eY5bM_0Zw2bRdzM7qM78r","name":"vertexByteSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            the size of a single vertex in bytes\n(will automatically be calculated as attributes definitions are added)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tiWvJGUFhGBdxayEaExrZ","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            the vertex data buffer used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DSdJJA0G6TCJpyjEg1dWV","name":"vertexSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            the size of a single vertex in floats\n(will automatically be calculated as attributes definitions are added)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tvrdbF3ZrJHmOp4ubIg0J","name":"addAttribute","brief":"","scope":"instance","type":"MethodDoc","description":"

            add vertex attribute property definition to the compositor

            ","params":[{"identifier":"name","optional":false,"description":"

            name of the attribute in the vertex shader

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":false,"description":"

            number of components per vertex attribute. Must be 1, 2, 3, or 4.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"type","optional":false,"description":"

            data type of each component in the array

            ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"normalized","optional":false,"description":"

            whether integer data values should be normalized into a certain range when being cast to a float

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"offset","optional":false,"description":"

            offset in bytes of the first component in the vertex attribute array

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XZy4p-zncgrrfx8AjdC9c","name":"bind","brief":"

            called by the WebGL renderer when a compositor become the current one

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IwDgihcquImC1JbLUIG3z","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"renderer","optional":false,"description":"

            the current WebGL renderer session

            ","dataType":{"tokens":[{"value":"WebGLRenderer","kind":"canonical"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            additional settings to initialize this compositors

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.attribute","description":"

            an array of attributes definition

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.attribute.name","description":"

            name of the attribute in the vertex shader

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.attribute.size","description":"

            number of components per vertex attribute. Must be 1, 2, 3, or 4.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.attribute.type","description":"

            data type of each component in the array

            ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.attribute.normalized","description":"

            whether integer data values should be normalized into a certain range when being cast to a float

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"settings.attribute.offset","description":"

            offset in bytes of the first component in the vertex attribute array

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.shader","description":"

            an array of attributes definition

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.shader.vertex","description":"

            a string containing the GLSL source code to set

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.shader.fragment","description":"

            a string containing the GLSL source code to set

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"SHAB8UFiP-_jCiBCCXIF1","name":"flush","brief":"","scope":"instance","type":"MethodDoc","description":"

            Flush batched vertex data to the GPU

            ","params":[{"identifier":"mode","optional":true,"default":"gl.TRIANGLES","description":"

            the GL drawing mode

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3g3oyOonjkdIybH-IEyqq","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

            set/change the current projection matrix

            ","params":[{"identifier":"matrix","optional":false,"description":"

            the new projection matrix

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"EAEWFpCBsG_urK3xHwYzQ","name":"useShader","brief":"","scope":"instance","see":["GLShader"],"type":"MethodDoc","description":"

            Select the shader to use for compositing

            ","params":[{"identifier":"shader","optional":false,"description":"

            a reference to a GLShader instance

            ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"-XCAc4006OvxbF9UORRw7","name":"Container","brief":"","type":"ClassDoc","description":"

            Container represents a collection of child objects

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"WGwWswVpYZCZEWHGOJLiQ","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YMh4Z_IqJC2i5CrLxZFBI","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z-tFR-x-opMaR2OVCmLxl","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dnJrUM3tzv2Kt-MOchZxv","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kJAT9dUgjE4RAfZVD4x2Q","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            Specify if the children z index should automatically be managed by the parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"77Qy8EYt5XPx7P1absf6B","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            Specify if the children list should be automatically sorted when adding a new child

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8voBxanJyqH90OqCGjy6U","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I4jmWQ-PWMcuxJdnFCYEa","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a background color for this container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XM09RkyrcJsL2va-MoHQB","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LeTLaktEU3y7BKJNbPa31","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mWEjAfKjSPiulcLQbEf1a","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zSCDwaltdCgI3HSaD4EwJ","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YCL9sUq9JCfpbxhdpB5j0","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_C2nl6Sgz3GeOA6PE7hmo","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Specify if the container draw operation should clip his children to its own bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zThCe8xC3w9XCxR6oUm2m","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qxm__ihE0kCpcNmAmq9x-","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dkd2nFI6iBXt1KTLJRSGT","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JWZ2LmLt0qXBNiTDx3-P4","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"60UcZ74Lmp63_hjp2CSIW","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V_pEYsiYPnlJtOp2ZHKBp","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bl6bnH3n43o56A_9lT5Ce","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FWvCsMqnymnXU_vUzhH-7","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Zc-VLhbJihoJKcMuaf2eD","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tXz0bUeoYXwZMKKk0UTQv","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2HGM-xpOoYpoVZ412w0HR","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kdb94SX1tN77tLBetuBAB","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3qQH0HMhfnLUWacm_h1Gq","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NfVKkeoNS3zDgnua0rm12","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LwZyNTXLMIN1jiOJl6cNC","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d1esvHTECqFQHyK-PN6sz","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2inUabSkUWjct1v742je4","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SlYDcWm9g80wFr1Xamx2_","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xLqxl0BZuSTN80nJTeGv_","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OzBo7d8J8Km1BpQFoxqZT","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B-r0_p3jlswRJglwxTATI","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zzsIZMWsyouY62U32atrJ","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            whether the container is the root of the scene

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cul_FdHkRzEYeVCw4lLFn","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5HHCqL92fa_9EDysK3PFA","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

            The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vRDyoD1go4sTcm0V-c3Gb","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uLSftLj3lL12qR7TJi_ZE","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hBwggc8qnoG7wIzNTLHkF","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zRpRIaR9i4xHM9MJ1AYcu","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QOm3-5XYl0mTKsNDzsaqt","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-8Ze4XQMSvns-jCsGhotu","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Add a child to the container
            \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

            forces the z index of the child to the specified value

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            the added child

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aYwwsCGjNqX_1hBU0Avwd","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Add a child to the container at the specified index
            \n(the list won't be sorted after insertion)

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

            The index at which to insert the child

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            the added child

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_28KH5uBDVHPcIAJB1xAA","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NyDfgcpPv4oB0-E88MKzu","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sLXuonEqEAmzYc9cxGZwq","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2Z7bW7X8Z3PTWmIkKQ8Qo","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

            position of the container (accessible via the inherited pos.x property)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

            position of the container (accessible via the inherited pos.y property)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":true,"default":"game.viewport.width","description":"

            width of the container

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":true,"default":"game.viewport.height","description":"

            height of the container

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rh8Hz5LFuQerRYTZ71wrK","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"m3-w9f4lNa_StaRjnxv-P","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QGDkiXGWCUwg2tp9loHVE","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"njL_nTUoRJIpKwWSqIwjk","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"USkjFpKMOk3VFwxwxlq0H","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"64zZLslowpX-oz8lcjw7u","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KSnZxVqm_BTQ8XjJhzX-1","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

            The forEach() method executes a provided function once per child element.
            \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

            fnction to execute on each element

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

            value to use as this(i.e reference Object) when executing callback.

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"szZ7Dkjc3BSOeq_LVAjCT","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b11qr-8y0zquGrb28tuJ3","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Fbz6Cm78xSlJhtOtazARs","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the Child at the specified index

            ","params":[{"identifier":"index","optional":false,"description":"

            The index of the child

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            the child at the specified index

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AOtRIHCuTlBT7zbJTG6Ww","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the child corresponding to the specified GUID
            \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

            child GUID

            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

            corresponding child or null

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-iS-JWcpyc1g_tgPCuNiy","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the list of childs with the specified name
            \nas defined in Tiled (Name field of the Object Properties)
            \nnote ...","params":[{"identifier":"name","optional":false,"description":"

            child name

            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

            Array of children

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"vLa9mUV-cPKpaSpBQGhvN","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

            return the child corresponding to the given property and value.
            \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

            Property name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

            Value of the property

            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

            Array of childs

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"WdXme5cH_9FS7bORRcUOv","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the list of childs with the specified class type

            ","params":[{"identifier":"classType","optional":false,"description":"

            Class type

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            Array of children

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"rpFnsQtBSPhyYnDyXHGwA","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the index of the given Child

            ","params":[{"identifier":"child","optional":false,"description":"

            The child object

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

            index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WqGBBznvapUmDAkSFd7hR","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

            return all child in this container

            ","params":[],"returns":[{"description":"

            an array of renderable object

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"VC999SoWgSidR3Do8xYF1","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"H90CO36Na32MQCDo3Ytiw","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the next child within the container or undefined if none

            ","params":[{"identifier":"child","optional":false,"description":"

            The child object

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

            child

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WQWciCYfUYSCr7XliV_FT","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y7elzIiMEZ0rn9hEF8_up","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the instance of the root container (i.e. the current application World container).

            ","params":[],"returns":[{"description":"

            root container

            ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZngorXVGYNJbdrmFVlnzS","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if contains the specified Child

            ","params":[{"identifier":"child","optional":false,"description":"

            The child object

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2ziTlKXC28f7yWZOUrLPn","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

            Checks if this container is root or if it's attached to the root container.

            ","params":[],"returns":[{"description":"

            true if this container is root or if it's attached to the root container

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dpX6gKgwaV4mXIsDOtkr4","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"wNlIUACB-ito_iYNLK-p_","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"kGm28pXF0RFiADcXWJbEt","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-A74hVICfVC_Y1DMtWNyV","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the child in the group one step backward (z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"Z97TcwSQs2zsgREuUOWZh","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the specified child the bottom (z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"d_-z0IwviVxwI-TNOG0uJ","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the specified child to the top(z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"4EqMEnca1wY5clsj09srw","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the child in the group one step forward (z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"5c7Q33E7pLWtALoEVmUBN","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

            a callback to be extended, triggered after a child has been added or removed

            ","params":[{"identifier":"index","optional":false,"description":"

            added or removed child index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"k5ka8hAB-9FwXlP_r302A","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"cxtJWEBRwSrtBe0bR3GQc","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"se8S0rmYBXYgsGP7jNr7V","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"aTgcLDfa-UnbT-0sIrm3S","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"NqiEfn2ex3tQS9GWDPOyB","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"RLUfL06wXAtiZ6XdeJ0EO","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o4hhwTSgZVOdpsdcSMBro","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

            Child to be removed

            ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

            true to prevent calling child.destroy()

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"hafQyogeafifB9CnYnWiT","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

            Removes (and optionally destroys) a child from the container.
            \n(removal is immediate and unconditional)
            \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

            Child to be removed

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

            True to prevent calling child.destroy()

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"7AyENGNycDsZ1hQjQxaKD","name":"reset","brief":"

            reset the container, removing all childrens, and reseting transforms.

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eYocuwRL_ecflpVGOHm8U","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eH1k4wG2g_uaBYb2mIrWW","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"46WckfK1aMEDYxWxAAkjG","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gqhE8SvW7MFI28zuMRpEa","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IOtLDKq-sZNZ_NkV31djv","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

            Automatically set the specified property of all childs to the given value

            ","params":[{"identifier":"prop","optional":false,"description":"

            property name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

            property value

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

            recursively apply the value to child containers if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"fTOeECgAcFiNfFc82EV8F","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"A_C0m6kSK908Ux8okp5cd","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2A4jG0NYa9-aXHBXo347Y","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Yn7wuChDqjtBWdi_-oeOc","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4avcEyo0h36uCOAOaKRUB","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

            Manually trigger the sort of all the childs in the container

            ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

            recursively sort all containers if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"PNmM2KsalM9jeH-XrNK3s","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

            Swaps the position (z-index) of 2 children

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"fcR3BRq_Se5HHY7Op3sey","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3sPGVH8Nv1pdfEIRlmAZE","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OzK-DjAi2t-_SLjEPoOij","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kqcL-Db4puK6hARfKpPz8","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WTny6YFbFu_JZu5DteuZ9","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ShaCYCUmnvPWQE3xzNgYu","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2qAYH4OkjAZj2FB7yMPYH","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this container.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this container bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KpBsRT9oMZ7JeejsH_Lf2","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this renderable (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"73-b1jPcrTb865nuneTTU","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            container update function.
            \nautomatically called by the application update loop {@link Application}

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the Container is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"C_g-IQjY92nyVKkpExOWQ","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"ZGPR-hN_p27Ybwy8RbVhM","name":"Detector","brief":"

            the Detector class contains methods for detecting collisions between bodies using a broadphase algorithm.

            ","type":"ClassDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"ASPUDnLfPNG9UebtjkrKG","name":"response","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the default response object used for collisions\n(will be automatically populated by the collides functions)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YUgAln7bALRtScJocozKu","name":"collides","brief":"","scope":"instance","type":"MethodDoc","description":"

            detect collision between two bodies.

            ","params":[{"identifier":"bodyA","optional":false,"description":"

            a reference to body A.

            ","dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}},{"identifier":"bodyB","optional":false,"description":"

            a reference to body B.

            ","dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if colliding

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"3G7KnU3dLRCB-7s65zOZT","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"world","optional":false,"description":"

            the physic world this detector is bind to

            ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4ujt2vQBdGMRcNF9Ysd09","name":"shouldCollide","brief":"","scope":"instance","type":"MethodDoc","description":"

            determine if two objects should collide (based on both respective objects body collision mask and type).
            \nyou can redef...","params":[{"identifier":"a","optional":false,"description":"

            a reference to the object A.

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"b","optional":false,"description":"

            a reference to the object B.

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if they should collide, false otherwise

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"I7tBe1Jzwj485CjQRw4ba","name":"Draggable","brief":"","see":["DropTarget"],"type":"ClassDoc","description":"

            A Draggable base object

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"sz1C7iSJfvNfZAy3S6HVn","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"18LOXKwl8WpyWOCvi27op","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W5TystW962EKFEbkdIMVL","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UpMPv4eA-lyBsp1A48m4R","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WEHCPqWf35Tw4CeDidkgh","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RqPLe1K3q6KgqmecwwgP5","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"94BoiaNlKdxwjPFn0mJN8","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u6fg7w71sqMzg_TIk3Apo","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BMZ6wUXiUSOFqOhAxO1uh","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DhzvPYQSbdJa3hxFfx3Q0","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y99SnYiSe7bvsXtUyOjRN","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7D6BUlJUSm_6zBUH2suLx","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o5UraDPgvYrhZg6Js3wy_","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OGOUH4L0mv9ljZVwPzZRS","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ReWWLMwm9_OHflxJ6IKNW","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UvL6wzeW_5_QD8eb606yb","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YCYLWswpR9cDG0v1CaXhl","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7w-H_jQydraBm_gMjL6vl","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HtlUqn-gmtibq-HtgMUah","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"frMYcRYABjSq6SN8h8wJt","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OVrdXFH49uFNsgyxKqJME","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ORZFrFlFR37aLsmLvBeX8","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xe3GsXAVOmPgsuDz5Jz83","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kAhvocQkV8KtjbH5qa9dN","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KDt593BFKAgw43L9hb4VH","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XLTsUHyoWut47erLyOGlO","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"55IAuGlTChuJv8rzBLeTL","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y4B7kfX0N4oJBTB2SxfxO","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rp5bYDWX-MgTt60OBA4-W","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ThXiWWHda6lxDgQGtbUs9","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f7eZtqz-v6hIL1JW6pFbf","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IGHEeQcIlTmBuvnUjAqhy","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oGMPcWO7UsOe-ET3HJONA","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ccI8Zl8G6qJu2r4cKR475","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Tqcgx1uOxBEbmask2U3sh","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0jjGv95pIzNi_zsBKsV67","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cZx6ir5hvtkGxFMlnVaHK","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sQciZgt-XoSWYn-Ih3Weo","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uxVFpkdAtsK3Kz-iGmat3","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rpoDcjGpUaOAYs3FCCrUp","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the draggable object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the draggable object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

            draggable object width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            draggable object height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"h250ksumn_2uFmKgC32_Z","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0v3Xx8BHko2kZqu88s6Xv","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Oj-mJTOQCKVyRPVd8ud_5","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y49LmVnJfWbLEJbyoIW3L","name":"dragEnd","brief":"","scope":"instance","type":"MethodDoc","description":"

            Gets called when the user stops dragging the entity

            ","params":[],"returns":[{"description":"

            false if the object stopped being dragged

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"RV2AgWH6u1DPw67nsxzVR","name":"dragMove","brief":"","scope":"instance","type":"MethodDoc","description":"

            Gets called when the user drags this entity around

            ","params":[{"identifier":"e","optional":false,"description":"

            the pointer event

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"pBhASEKKYpletWvkuKbOP","name":"dragStart","brief":"","scope":"instance","type":"MethodDoc","description":"

            Gets called when the user starts dragging the entity

            ","params":[{"identifier":"e","optional":false,"description":"

            the pointer event

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            false if the object is being dragged

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dDCl5io_bwQUV1ck6GG27","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"MPpOyu-5pACmhLsXhqe98","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"q8hLvkqvdpkAs_xPwnd4K","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2VhYnJgGdmZYWyf2Gt5lM","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fi7U-C6ZeunUdF6QFjyC3","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"V1LuxmRN17T3HyEz2wsJa","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cUYzJQXBPzUhAW-PHFQAB","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"u1NU7xBazmgEKeY1Y6bXS","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EiREDtsYj_EuGsh8C3IJw","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JZEcNUZZ_LLACKD4a5VkT","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"tpzcqHLgIzmxCKqve7uoA","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IhNRByuJOAgef5aQqbHMg","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5gdhxep43K3D822U8Hes8","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0HZHkAM2sRrVf9rJmBI2U","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"IQrVvqQQ_GAL7G1dLvRwj","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"mfLc4fpw9lnWW6qs0yI9E","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"uiTFe1Xit29BQk_xYatLJ","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CorPEx0L9WNe526rD8OyI","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Fkpo8POeFjSJ1G3S2pD0D","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"x093S6xRVpjVVCKfN5msZ","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PtPZ8SBXa71HjzcOx5LYk","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vcdULyRlsgVGa1GAYjGOW","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"KjzmL2JE4WBG7FWQIojaE","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CjCwkVQnMWhjLZbOP64AB","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FvaMQfmoLPEm7QPQlnH6i","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LlL021ZmNO_oPUSQhwebl","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AwO0wY77jPvViuWdAe3Cx","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZzKRPKNjPUt_ZtQy3FRyI","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VaWrUKV1jlQxlFbUcPtcY","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PPGS8BhRrp2mfEKflIxjO","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Eul15xASJHQ1FfpUWtUpF","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Qy3lK69_a-e_DJ5ByNEDR","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ydYDoM9_DMJ_U_XXd8fyZ","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F4O2YCo7suDecHSH2bzBv","name":"initEvents","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            Initializes the events the modules needs to listen to\nIt translates the pointer events to me.events\nin order to make them ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G5N4puquQ890v8WiF0yNr","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"TSoN4Bt8cMw_LnvDHG85q","name":"DraggableEntity","brief":"","deprecated":"since 10.5.0","see":["Draggable"],"type":"ClassDoc","description":"

            Used to make a game entity draggable

            ","params":[],"returns":[],"extends":["Entity"],"implements":[],"members":[{"id":"vRomU6ahAMd1iL0om64wu","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            dead/living state of the entity
            \ndefault value : true

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sS8pJCTb7ylEwWCbMtYQz","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BMnkfIZ38hsQcWNEtFSCK","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F9zoBW-LJCPiPhrSD2DAj","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K6IDS6Vq96tPwp4d9n3jp","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-cupR6jNc720kCtxzYXm4","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hkByAfF76CB4kXUzkgT33","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SynuliLXuayYxn8BdYvL5","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the entity body object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MRAKfiVR_PtF-cL6I_agn","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mVQQoGqo2gQ7z_U1svIMn","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qH7iyY_5_pJxhc7CAqq65","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o3iW9M_pUhRFhNsI-XUtw","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6GhsfgUN2KNFYlh1JXnw2","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dPTFEIfRkJVsV3yBcgaGS","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DtTXQCTge3i98Cbettnax","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SBrW1ysk1mQtxAE3ViNX4","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WV4geJL02U__Rg30Bfvxm","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object unique ID (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"laj6M_F1IfulSZDyDYsk3","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t05koUj6T7Gxt68eJIRcn","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P63I8jhNiz9AuEhTX79hv","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hgbB1uy63o_PBOZTWKB4_","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LsvEvetp2hhmEhdrNLdor","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4ktTaTErMdQ8EB-4S6t5V","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nIrnSMWxccTq3lFMDpbN5","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CEJss16BbVxJoRM3M73v7","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gwgWfDLdZICr36_0ueqOw","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PQWya-iqD_ZzOmUnWyR6Q","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vM2b2b9nGYok4h5_W1ejn","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oE2zo9Akrc7JhNU4oSbnd","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AsBAmKY-e9JyeZ9AZOO8G","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jgN6cnUHngaptcwIIn5RS","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VClu_WstoDs2vTPxW6GNW","name":"renderable","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The entity renderable component (can be any objects deriving from me.Renderable, like me.Sprite for example)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I9y8hh7UmPLa4kRn75-sY","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"47edyrEhNku3MmnKsU5qq","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8tp_kPZQnRZXvqNPK1Zy1","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XVa7xMU1SkxzhWSfGNsZ2","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xPkpDwvE0VgpW6GUDagU4","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object type (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oQ6p8-8d36dJVe7Oj7ACz","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yvNCyqgiktUeMlrvhBZE5","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fr6K2DZ0MvOBY7RaMMSTv","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fJNc-qap0SeBVAn8v6XUd","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"p9LZCemoEcbVZNtmsTp8I","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t3pYYiCEgRhBu0s9vJBdD","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the draggable object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the draggable object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            Entity properties (see {@link Entity})

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"dN9uHoMR3k6JdoPzvMgAr","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dCgrOlhVRAzpxZO1o6AjP","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Z2kil3CXWY1D-qnetZEuu","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hZ-WOmDlGCxfEBQUmycoI","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"wIpDPwyOpTHZpit1JbfFd","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ls9Umt0rIWk_2QZxb9B47","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"35hFnpDW9pufM8GSE2-Wh","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WdoTD3oD5RXHbz6FqzW21","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kO6dNIe1YyEjPUFtExZGV","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"FKJYMz-ny7U0yN6ivX0VK","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rT6Ra-yPtoSx4xowVBdF5","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HI5EwNqKa-6bI076RM0DP","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"aKKqknvLyTYZ5FQ_y4qm-","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2b8A12w4LIOVuyF6oQS9L","name":"onBodyUpdate","brief":"

            update the bounds when the body is modified

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5bXHi6pTcY6zMUW97-1I2","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"LYBWpzWJ0XRCWgAgQvvjw","name":"onDeactivateEvent","brief":"

            onDeactivateEvent Notification function

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NJmDI5WcudeOGkXwRMr2_","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7bkUE36vvU0SHCOoiD_xV","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"chm_06PgK9WI7DTPRLaWn","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"K3Wkr6QWGubRsW0wyxWG0","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"XRbBv75ZYsnkBdjgZJpeK","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y_XfJOKL_CEgejE41OTgk","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bpmzeX-8GT95SsrMI0sbj","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Hilt5jocyslDNhzn7FLhT","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o9L88GMXRVseiMb1mmwPK","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HFvjDNhZHBpUaVOm4X-yf","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"-Zg7XFpQweABTJDecsdHQ","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xlb_8lZWj42RpOmFzjkrk","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gPlQ6UuJnQEwihp8ic7Q0","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"g_BY5SXMcoTqSREWNMtST","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9-s-YdQ92V7G-eL1F2qBF","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ad-Lx9EbBLqF6OpX17TF1","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Py5shH5DyTiN2DIMWOxQZ","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WbkbEEj-BH0kYBNwbJbof","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"m-la_HSLlntlD35iir-19","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cjqjzlw38odFwRh0iyiHJ","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Yr-myoL8MHJIQjazzBq7P","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this entity.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this entity bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"edYQhabXsqEZL0zbBNEOE","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this entity (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9sMQpffXf8tzC6OVu26gN","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"iQMFYOeperlmue3N9F4XX","name":"DropTarget","brief":"","see":["Draggable"],"type":"ClassDoc","description":"

            a base drop target object

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"JD1FGZPVq8VHUZGVFZ4WI","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y18r2jB2-Fxq5BV8WK7H0","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eBKLpXlq7v2D71-RiMzMQ","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wwut59g7QenFRQaU3SLFy","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"doOH9vQUYmGHaJZihdpWn","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BMCJzdcF2459wlM_rBk8c","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FpHGScrXe1iliNjNYs6i4","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FPedjDFbM7WBS-1ZFXhkS","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Otos9MQinoKhXSZcKDIQA","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k_2DngaFf_cenYpLbMNU5","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"adzS9K87qomcCHhGd9lYO","name":"checkMethod","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

            the checkmethod we want to use

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QcBQC-bUwZbgqO-T4v583","name":"CHECKMETHOD_CONTAINS","brief":"","access":"public","defaultValue":"\"contains\"","scope":"instance","type":"PropertyDoc","description":"

            constant for the contains method

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"unL5DuwMqYO5J4CSntpw7","name":"CHECKMETHOD_OVERLAP","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

            constant for the overlaps method

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ol-vHMFceK18HrhYujYIK","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"irUalR52wvUXUn05gPc65","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w0PqBrj77_pXeSp9xQyRU","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Tma3Iz1aGBp9EmrPPvDwB","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w6KkiBxa3hEw2Jga15PZF","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QXPhIuf9_cmEl9gVTs_6w","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xeFFfvXgNQtqy3yxqekfM","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JPYYuhXM8oHNTRBV_VIXX","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2UOtpnKifdhuac-BWEwSX","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7TYwsDZrY3cis_f5ERIDw","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W6R4kzUCfY_1Z0addcZeO","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nsxA24fn7dw-nPR6cL7sv","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tDHzPip2Lmxz8N9nHtcmd","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BL-xkQ5w1VDJzAL0tNPUM","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rBKshQxC-V17P_iiiqJ6z","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GkQ05QXlvlRJFDWK9X3_a","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JkClXZUjQ__PxzkGTTpAD","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZUsBXf0fNxaAhF4le9gAg","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gpqN4sW4K7IenIUwmQi2c","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VW6s1j4M_5VCKp7_9LRX_","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q4VPOV1g-BcK9rmHITicX","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a9YN1fsVTiVB3q3L_13xu","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"utxOgF_vrVbtBQdY3u9Vx","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EvSVSLVBJ2g0GQXTIIGBJ","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zpeq7sv5hpi7KNa1WaBvA","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0lZSQ16ilHfCA_AGfVoNK","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ynWYszsaQppqtu8V_ZD-a","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ed3j6DTvypb1lMhS6hCRa","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4cCDchd2d9UZm1wKWupwb","name":"checkOnMe","brief":"","scope":"instance","type":"MethodDoc","description":"

            Checks if a dropped entity is dropped on the current entity

            ","params":[{"identifier":"e","optional":false,"description":"

            the triggering event

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"draggable","optional":false,"description":"

            the draggable object that is dropped

            ","dataType":{"tokens":[{"value":"Draggable","kind":"canonical"},{"value":"Draggable","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6s256fuDROVd067ZrbLWW","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fY3nPsTG93kGgULQaRUoL","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the drop target

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the drop target

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

            drop target width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            drop target height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SpVDumKix_LCvkHkvH937","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"6t-ROc3jsPD3s2-UwfqCb","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UtbSb74VfrPixCuGOsvkB","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YWyuTAbMPp7yGip0E_vW_","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"sFHuBxtkwb9aQgxusojDr","name":"drop","brief":"","scope":"instance","type":"MethodDoc","description":"

            Gets called when a draggable entity is dropped on the current entity

            ","params":[{"identifier":"draggable","optional":false,"description":"

            the draggable object that is dropped

            ","dataType":{"tokens":[{"value":"Draggable","kind":"canonical"},{"value":"Draggable","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"R3Sw6QyLBMgi1iImvEtkx","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"omk2TphHrOyZkfzskrp_9","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"InMmOGkm13NzCXnpQ29Mn","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Yt5j5PHqSdNrTcd1_yqbH","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wGHtBMvE5qgas6ObPg2ca","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_qdCqMYoxwRdPF7dJl7mA","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"30klMyTRxjx8aVx3647jb","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"a0tMelerivO7xjjTN1VOQ","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"k4X4PEhpOelByGjqhiLdc","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ydq6ItX4oxwlVi8sqYOVd","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FLDVuXw4fqj1EZC9Fop6Z","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HKLuxew2I_oVaFRiVvi7e","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_5BX8NrGxuT4jxUIB0WXw","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"v1j5CUi2q3VLHBQr68Gff","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"_NFSPvua9HQMYlr5FF7dR","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"t2OpLbhhNSSL3u7zkPT0W","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HRvHxGiq8sKLTWjo5q1MA","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jBHgFE2xXFqE6O4oubgKJ","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"r3R0BSoetsDXs73GMMjjz","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d7ItoJ_sA5E3r_CGrchl5","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cTHy9tGpDiHYv_MElldAA","name":"setCheckMethod","brief":"","scope":"instance","type":"MethodDoc","description":"

            Sets the collision method which is going to be used to check a valid drop

            ","params":[{"identifier":"checkMethod","optional":false,"description":"

            the checkmethod (defaults to CHECKMETHOD_OVERLAP)

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"OsTQ57R1g_NdfLi81IQMi","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"MGoykymbkFC2XD-CHhAgr","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"W2Hbr5y8AX3RYScYVccPP","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jLfYeg7fLdI6MWlmzV2VG","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XHY8LPjyyxNGI2Nvron3Z","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F3sr1pOPqCae3PejUsvxM","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DdvHu0x0qs4gT9_kxL-30","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"itf2u649pxhJFziC2iRkL","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lbN-42MnQFosMDkJDgAzZ","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"C2KS9ojVasN6TSWYScFeG","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y1g979Yulu63TLPSkwwgn","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"3p5JjAcVc-NT14qJEHpcp","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YNPeUUXm5E7VzFXTmoLyc","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"lUOge6kq6iM0jXcxWy890","name":"DroptargetEntity","brief":"","deprecated":"since 10.5.0","see":["DropTarget"],"type":"ClassDoc","description":"

            Used to make a game entity a droptarget

            ","params":[],"returns":[],"extends":["Entity"],"implements":[],"members":[{"id":"6cqVcX4jEn-7mb-MlKjXT","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            dead/living state of the entity
            \ndefault value : true

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v2JIzFK9wrSth8Z6EYOgl","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vHOcw1f7QqSxWEwogAVd_","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N3hag7hdcRVeXIUMdlBHV","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"whyV87TJUlKg0FGCO3Fva","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cfIz7kzX0Bgb0D_fK9vMc","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D8h5FuE98Wjihw44vYx6M","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AfP9lfKNP34atd-1FpITL","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the entity body object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mOAht6GxeypuOinEFLpAX","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YX5yfltDSXIjxniWBPSh8","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qIhiyCffvglaNyuk2KsT7","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bf848DnVIyyXTtpzgKjJF","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S4Agtc32hoEeyiDyAM3Wv","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZAk2gnVP-EBmgSNVOs_yd","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eZw6oCdc5ZutXtiRRJlVM","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"afrvHEeFCDj1fkZIaw2Bo","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zIAR8MQrg4OnRPc2BVX1Y","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object unique ID (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H2Eq7U-zOlhgsK_XevY7k","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OAQydWkGfjyA7SsNNdQpz","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uOluTDzUVA-7d7lIptVzR","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H8tbbpdkk2jhCJ0Bs7nST","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8YTkz3C_16LgXJAWaHzJA","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BDBurDgEaDCk2YkEWKONt","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XZ2s-iITp1VOP0AALtsWR","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MZZeb6UMDB_nLuk6oauqh","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p985lovThPEe2-ujymWbp","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wGwjyVr7o4-anlqjHH_uq","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B5YqjWl23XQX3miiOr18F","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZeoQ-HtgkcRL4A87jXbGm","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iCzGYcn5cGDCq_PsC93Ld","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pz7QsaUUMwhFfzIlIc5BR","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hifMETETQ0UD1BjJ7zXH-","name":"renderable","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The entity renderable component (can be any objects deriving from me.Renderable, like me.Sprite for example)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CwEYjD5q0gqzeaUXdjQzN","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x9wHC-M402OSO79f2J1cP","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wp2b04eBp0tW9xgy2WMHc","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ixjwvoSs8F9mQHEdQsXsN","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UVrUlOwZfRB8A3TPQ6bTz","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object type (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oC_Ck71AgBL69j4_8nQgM","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LHaSXgFGpuGs7Mi-TCrvA","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jIRWvjS-NVHwPnQAgjFT_","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wOql6ggplkDbbr5UqV3CE","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wHTF72YT_JYqmDz5Xdq7R","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H_hwbPI9VylNu2Al-EBjz","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the draggable object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the draggable object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            Entity properties (see {@link Entity})

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"2nSDOyBlYPpkbcaWYkSvT","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JKg_Ct8rncKsI1Ob9Je-S","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l15iiVyJr9FgRZzZ9QqVM","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bc5I7qRl-AqMk1023LT_K","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"yMEDFnpmg6o5wVRNG_7uw","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rrmo7py6yoBcXJmjKl524","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UF2WFZjCwwCMTY7los_m5","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Wy6KBzPi5V1eXREWqP-II","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Jbqq2OBJ2qJkZhdagKRZj","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"-tBJBpYYPUZkOkyilyxBT","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iV4KVdPEt9hkaK2UUuKDz","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"tNz4t4I_ukcPJfSEBQOgu","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"S6LjNb8StVX-1UA87wGWM","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JOX_yPtVDjZcZhT3_YeG_","name":"onBodyUpdate","brief":"

            update the bounds when the body is modified

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eEsCVg6IFKTj4GPhzpnDE","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qpLtU1XgIhMk4SIugypUH","name":"onDeactivateEvent","brief":"

            onDeactivateEvent Notification function

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FbPWLZ1zSeYwi4SdM9Azr","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J_SkzoHCBRwL0iNua_swC","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ihNET2vAoxWTWvggAAiRE","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"hG6S62E3viEPk-2qO0hIQ","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"eHKCNLnXQDgj_-nDCORz3","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b0UZFUcBJD2mpEI0p5x2C","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MUOZ5zu6MawKKY6jWZKqx","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WqZivhL9gId3kzegQiaYX","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-tj3tPlH5KpwsptfVTSs8","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1TlVj54PoWTFdDkPYP-GO","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8UmW15s9TkVyo1gQBECl_","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"R0gRPHGPxUFyzrEoizZvy","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"f8DBvOKMF3INV-2i7QZpD","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"f81BfoZvJZJyKHKYFRHoy","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M9XbHhpuEanB8F2rVw9-3","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uinwMA0aprCVl9pBCtryH","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HnxopiFSoeyQVn3GxH087","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8LANllLzZ9vm8-73MF9Hi","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UgpMcE4XfFiewNMDd3we5","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wW375FohyBjPxSF5MPHgb","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"QxoTRVnhYb3txXCgbWXkp","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this entity.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this entity bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LZf09_dKwTVqscOJS-suz","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this entity (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"t9CNo6Lkz0RLURqJJMkRv","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"62vG0VM-OtZQDFpjoS954","name":"Ellipse","brief":"","type":"ClassDoc","description":"

            an ellipse Object

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"tbYb5qYpoc3wMvfZwgJ53","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the center coordinates of the ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Klrdqec3uVrcOAleQRW5-","name":"radius","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Maximum radius of the ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KSTZvkZ4MI4w2rpKVo9E1","name":"radiusSq","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Radius squared, for pythagorean theorom

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sloNCfa1jBcTRST3SN9UI","name":"radiusV","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Pre-scaled radius vector for ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YMso34I-Z5UphWK5j1WTW","name":"ratio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            x/y scaling ratio for ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YfOtxmE0hLQ_1c9z1gllE","name":"type","brief":"","defaultValue":"\"Ellipse\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7NFG4pR7r-7Js_GGxpZbW","name":"_bounds","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

            The bounding rectangle for this shape

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MU8SoCWJPOQy3iQfJw2sT","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this Ellipse

            ","params":[],"returns":[{"description":"

            new Ellipse

            ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZgdaQLSpSRhU-_SYsLYOI","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the center x coordinate of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the center y coordinate of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width (diameter) of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            height (diameter) of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"az4o6BgYc6VFvRsgmOarH","name":"contains","brief":"","examples":[{"caption":"","code":"if (circle.contains(10, 10)) {\n // do something\n}\n// or\nif (circle.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            check if this circle/ellipse contains the specified point

            ","params":[{"identifier":"x","optional":false,"variadic":true,"description":"

            x coordinate or a vector point to check

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if contains

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"71I0ZAci-DpTCJADQCL77","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VYSFzTv1KlDNUokEXq2qI","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this Ellipse (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FLjkU3_10GLHTFkgY9-2h","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Ellipse by the specified scalar.

            ","params":[{"identifier":"x","optional":false,"description":"

            the scale factor along the x-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            the scale factor along the y-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1z5GdMmds2pxyP6R9bH0S","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Ellipse by the specified vector.

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YvksA7H_xO5yWI4NSpM6Q","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the Ellipse shape

            ","params":[{"identifier":"x","optional":false,"description":"

            the center x coordinate of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the center y coordinate of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width (diameter) of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            height (diameter) of the ellipse

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5VZY858W_I7KfOenRbXwo","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the given transformation matrix to this ellipse

            ","params":[{"identifier":"matrix","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"C5U3noMN-G8O5tYc2uR7m","name":"translate","brief":"","examples":[{"caption":"","code":"ellipse.translate(10, 10);\n// or\nellipse.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the circle/ellipse by the specified offset

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this ellipse

            ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"YpMQoqmaTVoP-aRgH8_qg","name":"Entity","brief":"","type":"ClassDoc","description":"

            a Generic Object Entity

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"bqg-VM1l_PAU_iXPYReKA","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            dead/living state of the entity
            \ndefault value : true

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ro1uVjTFQo71P87xgjY4z","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_cmMbR2fmB25AP7hy2btg","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_IcogyuiLRH1bI0ikvOXM","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hF8FMqL8xkrYgYplqwWbn","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rUpEM8vAhnFKUpg3e9QaW","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uBI2hDOMIO9KnibwgfhnL","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ztWaZTqWZUxqN3DBzME9d","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the entity body object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-KQDoJddZEUFLqST-HxgG","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lpe7NzYTtMvO-QCmHytpN","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mSD01fdobvVSHJ3Vb11PX","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TWsAKQ3Wi_I-t1d49AwDD","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gV22omFvcAc--5dVN7Nzl","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lnLpP-lrawC6CGNwGETSN","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t7l38ZIT0UZiX143tPrCz","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WhFC3O3klsIgs-FU4skty","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QYdnl0qzCpe0_Q5bNhEgi","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object unique ID (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ke7WWBfmMrcVAlUL7eO5w","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4gKzgksJOnFN5opeBukEY","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1QOfRtdq7MkxJ-GEQ6XYF","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Sid7lbxIgWJWtlC65ZaGB","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m4npIEQY6ZNzxqfQyumkB","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kYsGvPHthQ_k3mwdAXmhP","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F_mJCE01n83EJ0FCBfD9h","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wjGOHhD02__EEQJK9RChX","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bGoyvHmJ6ilUDYp3grO2l","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XmxyfvTJltFiQogs5-fBl","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xgX-84Uh821h6bQi7-cSX","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v9q0t3nju9EznDH2m-ccB","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Jwa9O5yPNuA804OY1FonP","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pSP-harAMB04NwzhYR2oz","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T1RwMwvV9YDiwxATT77lg","name":"renderable","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The entity renderable component (can be any objects deriving from me.Renderable, like me.Sprite for example)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FZr1VxWlIStweZmfVODYD","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZaSbTwDcdngVzzwO3732D","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"98Uj7cnMo8O7AomLcR4dw","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wp6g-X-77js18HOuvlRK8","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7_DbUa0zRANDbJBO4vMyg","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object type (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"le9Dcf5X_IJbK6XVtXs0-","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6zW0pCa4N06N_t_4qthfG","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x2keBUtcwllGC5eWnrCOQ","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"m8gxqO18j0CT1mJtzmDRC","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"q3-rYTTuIOpeijpURNcv8","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4M4zIf7mH1QV5rIz3dhqX","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the entity object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the entity object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            Entity properties, to be defined through Tiled or when calling the entity constructor\nthe physical width the entity takes up in game

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.height","description":"

            the physical height the entity takes up in game

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.name","optional":true,"description":"

            object entity name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.id","optional":true,"description":"

            object unique IDs

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.image","optional":true,"description":"

            resource name of a spritesheet to use for the entity renderable component

            ","dataType":{"tokens":[{"value":"Image | string","kind":"canonical"},{"value":"Image","kind":"canonical"}],"template":"%1 | string"}},{"identifier":"settings.anchorPoint","optional":true,"default":"0.0","description":"

            Entity anchor point

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"settings.framewidth","optional":true,"default":"settings.width","description":"

            width of a single frame in the given spritesheet

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.frameheight","optional":true,"default":"settings.width","description":"

            height of a single frame in the given spritesheet

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.type","optional":true,"description":"

            object type

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.collisionMask","optional":true,"description":"

            Mask collision detection for this object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.shapes","optional":true,"description":"

            the initial list of collision shapes (usually populated through Tiled)

            ","dataType":{"tokens":[{"value":"Array | Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Line","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1<%2> | %3<%4> | %5<%6> | %7<%8>"}}],"returns":[],"extends":[],"implements":[]},{"id":"SXFtPS9O3crRtjErnTgvU","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"C7qoc5jidWdUGqMsRAYa8","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9A1QGLNj67fjiedveacwb","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nL8qYMrbcTAt5Gc-2lz3y","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"BFSCwCOhDAtMHmg2MXfzU","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"crML9ErCi7un5s8dxBLMI","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"z0uSg5iaIpLtBUL62KKDv","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ux4c49bG7aMgMgpVV_xsE","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PMHXShCzBv5vOaFckIyXF","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"eA186o35iTO0r4ifeMV7L","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XMC5vlp9IR5EA2Elw54uq","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"LMdStydH70MikdF3MXR4O","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zj3fNL2FIAC7IZG6HrPuK","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"avuGAMI7rmiWy7QIHqPc_","name":"onBodyUpdate","brief":"

            update the bounds when the body is modified

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JP8B-FruzaesePp0txyYF","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"onjOtWTp9_jwvkDvLr2lm","name":"onDeactivateEvent","brief":"

            onDeactivateEvent Notification function

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u2t8mXOTKz_Ts57AhaulT","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nOEjSd7TSL4MEpVAiWQcX","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PRr1VWT1Nviz2W3PjJlBu","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"3--ctwe9khAu4iOWVigHL","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"n8kg83YQYVv_9PeBC2rBN","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HNPUknuUu5n0LHBpopA2b","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"50qlwECBN6I3gH95xub_H","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bpXCRZyV19fAhqgRTtLuU","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1GBnH7RFTAqoMDDliZbfT","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oQW84KZs6p9MXeMyKawQq","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"786nt8uOQ2LfhAxcaEZ2_","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8LPJ6FhwIuPd53dcTo1g-","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yBttirozcViwNkngTFKRO","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LaC6HnSRPfoYkKyXyc0FR","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"B_puFoijzPxhrvDQ7FtQq","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Yi1_q3QzlHWALYcWF5Omx","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"m1ncL7we7ip_FFX5Z4w5b","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8CZa0dP0SXfvXBlgC_b8m","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CT8VXw5bYLx1HpzRa_3d6","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tCkxHouUCTxTFIX-7hv2J","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"44QXLbOQiagEc5GXpn7AK","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this entity.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this entity bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZsTNJnrIjb0gawSZrhuSE","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this entity (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"jr-ZOqX439mXo3UsLc1Dy","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"qXGNd_4YvoU2HFmUxdW5Z","name":"GLShader","brief":"","type":"ClassDoc","description":"

            a base GL Shader object

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"1TxjXUTv6BWvITsIa79Up","name":"attributes","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the location attributes of the shader

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"us77wEAeawdh5r0mEZP0q","name":"fragment","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the fragment shader source code

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n789S2RqXypv1YtftjqfA","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the active gl rendering context

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lxvCDDjB_bQVKhMRt628i","name":"program","brief":"","scope":"instance","type":"PropertyDoc","description":"

            a reference to the shader program (once compiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SCPPiX-9bkwNVVxHumBGy","name":"uniforms","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the uniforms of the shader

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dDfcqEMrdXUzs_Xs-8Tps","name":"vertex","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the vertex shader source code

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S5WftMhYg1pBjLAChu4Bl","name":"bind","brief":"

            Installs this shader program as part of current rendering state

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E1vT7PRNFiMEIrF7btHjC","name":"constructor","brief":"","examples":[{"caption":"","code":"// create a basic shader\nlet myShader = new me.GLShader(\n // WebGL rendering context\n gl,\n // vertex shader\n [\n \"void main() {\",\n \" gl_Position = doMathToMakeClipspaceCoordinates;\",\n \"}\"\n ].join(\"\\n\"),\n // fragment shader\n [\n \"void main() {\",\n \" gl_FragColor = doMathToMakeAColor;\",\n \"}\"\n ].join(\"\\n\")\n )\n// use the shader\nmyShader.bind();"}],"scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/GLSL_Shaders"],"type":"MethodDoc","params":[{"identifier":"gl","optional":false,"description":"

            the current WebGL rendering context

            ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}},{"identifier":"vertex","optional":false,"description":"

            a string containing the GLSL source code to set

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"fragment","optional":false,"description":"

            a string containing the GLSL source code to set

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"precision","optional":true,"default":"auto detected","description":"

            float precision ('lowp', 'mediump' or 'highp').

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"7SsizvrV8LOC7TM_bweSu","name":"destroy","brief":"

            destroy this shader objects resources (program, attributes, uniforms)

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RGVcha1rywnQCBV580A5z","name":"getAttribLocation","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the location of an attribute variable in this shader program

            ","params":[{"identifier":"name","optional":false,"description":"

            the name of the attribute variable whose location to get.

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            number indicating the location of the variable name if found. Returns -1 otherwise

            ","dataType":{"tokens":[{"value":"GLint","kind":"canonical"},{"value":"GLint","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vMIS6wBewADsj5LhrDYDH","name":"setUniform","brief":"","examples":[{"caption":"","code":"myShader.setUniform(\"uProjectionMatrix\", this.projectionMatrix);"}],"scope":"instance","type":"MethodDoc","description":"

            Set the uniform to the given value

            ","params":[{"identifier":"name","optional":false,"description":"

            the uniform name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

            the value to assign to that uniform

            ","dataType":{"tokens":[{"value":"object | Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"object | %1"}}],"returns":[],"extends":[],"implements":[]},{"id":"o3iT_bHdw2d5eDgBcdmW9","name":"setVertexAttributes","brief":"","scope":"instance","type":"MethodDoc","description":"

            activate the given vertex attribute for this shader

            ","params":[{"identifier":"gl","optional":false,"description":"

            the current WebGL rendering context

            ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}},{"identifier":"attributes","optional":false,"description":"

            an array of vertex attributes

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}},{"identifier":"vertexByteSize","optional":false,"description":"

            the size of a single vertex in bytes

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"vpszRFD8ZWnBBuThrAYNL","name":"GUI_Object","brief":"","deprecated":"since 14.0.0","see":["UISpriteElement"],"type":"ClassDoc","description":"

            A very basic object to manage GUI elements

            ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"q2KsY1ewVxgqLieKuNMQE","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5VAeG0CMw4IiPcfb0Eonh","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xq64Ue5cZHpxdBZTDCOJC","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FNKOCW7LtFwJG8PBSWi5V","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VOUe-9IksHKtVGwq5dqoI","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qA8_BC4R-f9hgvZUz7z0j","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J0Tv6s_W_bc75B_WDE_il","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"clfv2mMHgKUDa9oJnXaq8","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iqi-YGpLxWJWZAMjMfxvx","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sZEhxAEkmnS9I-DY4aACo","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XCZNLpx5krrh34SsdXH4r","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bRqdhvE7QpkyDsED5XMie","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yZbZAdojZ8ekkLUwoIqYz","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2XlxGTtOBDUUlhv_fkjLI","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EQXfK-8PL5zHae3O2LnZH","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tfX-fEHSPn3WXWd_lPsCb","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1uZBGkaUvENoH175y6H1j","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ToI4ZJqWGpUlBM-suvHg7","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lubn8lVOKHg7M317F_Fce","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TYKBd8eC8i6h0nbZ1hgld","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yYfTHr5ysU7qYNHpIQ95n","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VvQF4e8zgPICh0qn3qMfz","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1eyjPH0ijBjeVTLXtxb8n","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IF1C5pX1k3OUxqJl7XtR_","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uGh2sfFHR9VgDez5xQprh","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NkGtH42R9V56e4nfMeAGK","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LefijSw9csrpusyAsdsxg","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EqN-UjkaiIFUGn11aXKJF","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTRV17h-i13nQhP9Q8dYK","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

            global offset for the position to draw from on the source image.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Vyrh8n6qmM6Q6I6hXaLur","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UeMQE-7DCOmATOFTml3za","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KZM-cM_CkXk08RtslmefC","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KtOPswZkUfkWY3PWPCWKx","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2OUmrKAkcuUsLWkPloJq7","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5HaBlRKIkVkk6m42WdcHG","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2OVWG6RYdt097a8n5h-Tg","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MGg0dUduQHJF5a7PVNzE_","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DdsDiT-WYeVrWeQ0zxk43","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CKIbRAYvGAGinmDMR5rKA","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fkYvvr5xpJaDe_TgddMrU","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PbmG7Gz43AxIvBdfL6DWf","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vIdi5x5hjjwkNV7f5xaiK","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            add an animation
            \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

            list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

            ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

            cycling speed for animation in ms

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            frame amount of frame added to the animation (delay between each frame).

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TZRZcTSKtT2Jar8MZNOJp","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"r6wSJfeNP4JnmBEVyNcm5","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tuk_9AGqczefty0Ie5EMo","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"j5Es3z8ldqIPctGazTKha","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate of the GUI Object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate of the GUI Object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            See {@link Sprite}

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"QmNkCcKzBGvixwllZtzXi","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"g8Sh4l8XYzhMiQyoxPTKU","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jI2YIX1orG6A_M5aOiCxc","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PkOg_nbT78Gf641PKUx3S","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"du9oRuclD1CLMzkzSd7PW","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

            make the object flicker

            ","params":[{"identifier":"duration","optional":false,"description":"

            expressed in milliseconds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

            Function to call when flickering ends

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eTL21p1MkVbRofDwVd66P","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_d0Jx0NTKt4TnwQd16Jql","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"987aZb2J_3BguGwPLzSof","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YUdBGCkqg1DZkejUutxIu","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IJsDzbKx3Hiba_H7Pe-Uh","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the current animation frame index.

            ","params":[],"returns":[{"description":"

            current animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3OHTL9Op3p9MI8Yvp2Xt3","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"07P4kBJu1h9Y3A7dkl6ey","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_I0br3YW7_IAJ12u_kZfg","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PA-RBHGMhoF9X8jOSiKQE","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

            return true if the specified animation is the current one.

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"z7Dg6DY0Yw2Gdn3ZU03vO","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"P3YPlTTy9gcgvLtSb8krq","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the flickering state of the object

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"lkS95nnqzdScZW-mJlI68","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QsaJbDLUfKjtVhMwHQB4i","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"-w1sffbADK1JN_KTL9laG","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s8eg-_9c3ZVH-ocN8GB1F","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"WIq_8spC4WKfXbL1nrw6C","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hrzs5zjeGu_-lMobQFzxm","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OrSbmy5zX6MTIBFiGjTZC","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"h_afFp9k_UNt-aPD33BZK","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"AOkqr07VWzRH5VJ4zP9Qp","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xGqmFchlmRsdDwHm1P8gr","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vAdaUWqvbB4q0IdGcbYo3","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            reverse the given or current animation if none is specified

            ","params":[{"identifier":"name","optional":true,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bmTmnwrIT0lYZwBKqoeiW","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uO_nAUIJ8c5lqxgq4RpeH","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"578hprLm4ccrEjYM8xSwQ","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VRlxW_jaT7R9isX8W2S70","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

            force the current animation frame index.

            ","params":[{"identifier":"index","optional":true,"default":"0","description":"

            animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ekpgk_mnvnguiaQ33_SvS","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

            set the current animation\nthis will always change the animation & set the frame to zero

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

            animation id to switch to when complete, or callback

            ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

            if false will reset the elapsed time counter since last frame

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"p6PDt0MIE3tP1A0JAF9fS","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"FfTmM_vv8HywSABRiJZhE","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

            change the current texture atlas region for this sprite

            ","params":[{"identifier":"region","optional":false,"description":"

            typically returned through me.Texture.getRegion()

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3RMVuReHKaf10iw03zsYi","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TQ6vC558HztVlA7TVLcpF","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_Zl1MvK5QKiECcnf1UVjW","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"UCsyTJfijLYUtRg_3zW0f","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CjWaYXjS_dwO8FlZe7Jbo","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"K-4Ryxbdw-fwyY4HzfkUn","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HgX8_oiETy8G-XxW84ddN","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZokUGqkPDDEJXGNlZ_CYb","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DyYivsnO1esA-SMYWQ1vD","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L5uhYTFJeld9haXUcJswd","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DZLcCuad8RMib-ql3qAkj","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this srite (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wPOCoAcHg7OGfXVyEDv-p","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            update function.
            \nautomatically called by the game manager {@link game}

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the Sprite is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dTSlBryiStQ45xhXGGpeq","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"4Wplzr3j0_82u2xB_-ZSL","name":"ImageLayer","brief":"","type":"ClassDoc","description":"

            a generic Image Layer Object

            ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"PcRjNT7o3WZtI9SCLdlqh","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nTK9BNH4jENyoStX7lxYL","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oMKipEaH7P-NdwrGpij2h","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wBgMpX4kda6simpj3SsNi","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T9Nl2ZZtPJ9kz3F_vzsBY","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mkNMeCNO6l2K1EgQqUxo7","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MNcey5xZCGZHs2wfZSNMf","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q9n4AyLqKJ2_rB0PZ3Qfg","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W4BKBcwC9VT6iKEiAQNsd","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YTgbN04KQXQV23J0sGRfh","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-qlIxhBbJZMZ9ejQ6mXsx","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SeT4VYF86gAUGukInek9_","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lJY8yY4SANZvNLiHDO-yZ","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u9t9_MaWT9l8KDRH5XgCY","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X99WMs9Ye8RPwJ-t4TK5s","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5FzuFIhHzc-Pv17cRZBwx","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LsJLr-fdyrDo4udRjmTP-","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2UnleK7RY438PRH8ZGWZ9","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CoFboymerWOBSC0QJ08QU","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DDJWTFjnMIGvoHkJiiM3c","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IIKhZVhf1fl0UnUqjy2hp","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"psdq0SfZUS_TBdd0QLYHp","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kAaiFyQWHjUjvTb5Z2BPi","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CiMwTahRXs-Jc61i3Zbze","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"whvzAzeY-2EL_rn7CPjP5","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0cRvsnT6Bei5SBWNiiy3h","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a5SEePNr1BJGj5IJmAGBb","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C4cr8XcChqkCZdIC9pFtP","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J8fc8GM20Kpp0hKs1xfDR","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

            global offset for the position to draw from on the source image.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bp9rwQ3qVmNAa2AgJj_gX","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LZYenbFMWU1gkHIJiEAMy","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wlpufCu9Xo1hVsB9OmoBM","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2Ga3coLzTUuSIh9xAjDbh","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rKWeRzwTW1tGli6wTWvRb","name":"ratio","brief":"","defaultValue":"<1.0,1.0>","scope":"instance","type":"PropertyDoc","description":"

            Define the image scrolling ratio
            \nScrolling speed is defined by multiplying the viewport delta position by the specifie...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wO_Iljr_KyLhD93TVOlN3","name":"repeat","brief":"","defaultValue":"'repeat'","scope":"instance","type":"PropertyDoc","description":"

            Define if and how an Image Layer should be repeated.
            \nBy default, an Image Layer is repeated both vertically and horizo...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BCD7Nef8ESdWhjVQAOlgF","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M2U-z907qw9b1jEYoWZ2_","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uckVGpBB80t58J08pxb4G","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YVVy7TbAaLr1wlExrRzo5","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kRbCuHbZjg4s4RGqSws6S","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g_1_BxAvJfEX1U5KSVmW3","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YUrHXpKvL9El2eYNQuM5l","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8l6indHwX_KY8aXgOa2GB","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OjtiGKkMzLSHlZCpzcdYk","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            add an animation
            \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

            list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

            ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

            cycling speed for animation in ms

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            frame amount of frame added to the animation (delay between each frame).

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6CKw_f98HyF8kDNVLCHQP","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LRq0FvzGWaUt0An48jmO-","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JrDbPxBPfqQYucz9f-B7H","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"isEFPq5lTveX0e53CXmHM","name":"constructor","brief":"","examples":[{"caption":"","code":"// create a repetitive background pattern on the X axis using the citycloud image asset\nme.game.world.addChild(new me.ImageLayer(0, 0, {\n image:\"citycloud\",\n repeat :\"repeat-x\"\n}), 1);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            x coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            ImageLayer properties

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.image","description":"

            Image reference. See {@link loader.getImage}

            ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | string","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1 | %2 | string"}},{"identifier":"settings.name","optional":true,"default":"\"me.ImageLayer\"","description":"

            layer name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.z","optional":true,"default":"0","description":"

            z-index position

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.ratio","optional":true,"default":"1.0","description":"

            Scrolling ratio to be applied. See {@link ImageLayer#ratio}

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"settings.repeat","optional":true,"default":"\"repeat\"","description":"

            define if and how an Image Layer should be repeated. See {@link ImageLayer#repeat}

            ","dataType":{"tokens":[{"value":"\"repeat\" | \"repeat-x\" | \"repeat-y\" | \"no-repeat\"","kind":"canonical"},{"value":"\"repeat\"","kind":"canonical"},{"value":"\"repeat-x\"","kind":"canonical"},{"value":"\"repeat-y\"","kind":"canonical"},{"value":"\"no-repeat\"","kind":"canonical"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"settings.anchorPoint","optional":true,"default":"<0.0,0.0>","description":"

            Define how the image is anchored to the viewport bound. By default, its upper-left corner is anchored to the viewport boun...","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"_z6zXnhZN_7q88C6PzwX9","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"77cgmmATSesGopXJWGyAz","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uBm66P6PFzCtLJlCqcJfU","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tCurjB020R8HJBEENZ5tg","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7ufaP1aoJ1nwtfkhHS_Ok","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

            make the object flicker

            ","params":[{"identifier":"duration","optional":false,"description":"

            expressed in milliseconds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

            Function to call when flickering ends

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"srChAaot20sQpvCzWrXFH","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LYAQs6pBa4kuPPTFTnLV1","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"V6zjwfdzrFG369D-CEFP1","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t3MzKsQ76xQ91JgxawXNX","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hFEoz1w9mgLzpYdLZ6Mmt","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the current animation frame index.

            ","params":[],"returns":[{"description":"

            current animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JXiw6k92xXPdHZ-seM2tl","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"i3MXNeOIYcZCdSoAeMuzP","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jrz7jKMkFDI7qj8dxAzrD","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"-7ZQ5iY7CmkY2GUUW4RK-","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

            return true if the specified animation is the current one.

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"881qvQpmWtwK8ZOIhOMNe","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"6Fkn80GtS9n4Nwa2JGjk0","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the flickering state of the object

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8770W2V35s2c6k5gidFeF","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QA7-ap7MJJKhKQ7GUwhZh","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_s4QtHw0ClPepGA__hJ6g","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UFftMs46jCF7ihGHSeIOE","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"oq_nCTnSbGsiNqPSPm42d","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OWUL3cVSQ9IZdASpsHLyK","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RUmLBxNzG4c_7GSJjfo4V","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"4MeWCYAJ-4emi-fhEsGcs","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"3HGN19eQncRE-oQ9u4WIy","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1SURbvRnajXGJ6SkVq0ZH","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the Image Layer to match the given size

            ","params":[{"identifier":"w","optional":false,"description":"

            new width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"eREFg3cec7fjnUVLCD5BP","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            reverse the given or current animation if none is specified

            ","params":[{"identifier":"name","optional":true,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Hcf-LyeCFVaMoCmtkLz07","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mkbCvUUlLSuF-k8UH3v7u","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6bvj5BB4nkOPMjcFqAzZi","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gOgy5n0uYJ67iGIKcI5JS","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

            force the current animation frame index.

            ","params":[{"identifier":"index","optional":true,"default":"0","description":"

            animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8Dmb8eIIe9Kozi2ecDuS3","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

            set the current animation\nthis will always change the animation & set the frame to zero

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

            animation id to switch to when complete, or callback

            ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

            if false will reset the elapsed time counter since last frame

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WDK0qomz_hsFUg5QgnBQf","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"WpDOs3LmaEFDQeYujKtP4","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

            change the current texture atlas region for this sprite

            ","params":[{"identifier":"region","optional":false,"description":"

            typically returned through me.Texture.getRegion()

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"99ud22ebSJvriaNrRPsOW","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aNYYWGQwtBS33dTXl7zDl","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Jt4g4yFjnX2sOc83cn0IR","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"OtjDLnZgI4sps7sgAtCrw","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iZLWFegtycpR-0D7lKLLk","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Mla7SdO6u1KFBE2SdEvvS","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_dmjINIJ_EVqxyITjBvVM","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"noCGRn0A_irT4v_YezuH_","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kVma1S5ZyupHdeeCFOo2d","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HsBHc3IRGQ38OKurbbDfH","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lIDtUNEodr5oSylhKMtBQ","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this ImageLayer (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"DLZZjnytnoEuva1SqF0OT","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            update function.
            \nautomatically called by the game manager {@link game}

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the Sprite is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"6K2YzPqVY95JpE2d8cZQg","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"DYMPUfYJaPlEcoZjQIvFf","name":"Light2d","brief":"","see":["stage.lights"],"type":"ClassDoc","description":"

            A 2D point light.\nNote: this is a very experimental and work in progress feature, that provides a simple spot light effect...","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"RebgYvrCfpzv51d_ydzG9","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0BcYfkLB1HHJGWgEMXfij","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dMcnxGAeWXQ7EysETRWto","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dLlywPXvXJgJfuVJryfqb","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f82Lc-CDZSC3b5XP0gAbp","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7fruDRZ2oGPzgn8DIqTRu","name":"blendMode","brief":"","defaultValue":"\"lighter\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the default blend mode to be applied when rendering this light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NnNvzLdMdcvPgMMAEFuyo","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yc3Gvg3DhZVVnFVVMr-Ic","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oxzmyKL5rQdoXhP4MV6aq","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"06-EEYI2VTAxh9vmIZtZs","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p4IRhi5_-HkD-qBWBkzjg","name":"color","brief":"","defaultValue":"\"#FFF\"","scope":"instance","type":"PropertyDoc","description":"

            the color of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9E7pFaVf5Z5RS76wrYXB_","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dF19QUwKCOlyCQH-JXawK","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RJF1R2hFp6OH8jT7hhRrG","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-HwM-Ib1lpVR5iN0zbloD","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5Hnbxc6B_KRWedHiDwbCi","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TWPMtwUnlKvjHwBZakmVM","name":"intensity","brief":"","defaultValue":"0.7","scope":"instance","type":"PropertyDoc","description":"

            The intensity of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qyLRHfPtLENwcXijOaZoC","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ChBJhpUZB8Q6q80P2Flwr","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XbttvZiGj6A6alPpaKNOC","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EOBUAAlGy5fsCgDqenIdq","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vluyWl2SkY1QJyyOpYBsL","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vwYs8VeGKJrp4VrczlChC","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EWWmx_7b4o6RqSE1DnD63","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E8P8TbS6PBILumKIk1bjT","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xeht-OH9wCle2qxGc6g2h","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FBDu4S6hKeRbJA6TCfkZv","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"imm47VSsOUVaLG5A50mOU","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VbfF6fx0pdlRNVZfig8TV","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"myyvMQ6flOiGgNeIy2pu8","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mbxu_ABdBs3EFaviyYgqo","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z1Ryp45anIQ2d-tO-a64K","name":"radiusX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The horizontal radius of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GL-5EWRWbtUSt5noeYJDE","name":"radiusY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The vertical radius of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6JYd5WoEwNOKec8sV_j4x","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9YPC0x5KqtbEMCEmUj-ZA","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y9pLwnMRxdD7dXXZ4vYKb","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r6Kkurp59JDzz7I8HXlBb","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9flxG-6b-VixGUtFiU_Ix","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vx0Y74dGCPLVKipdF4e1C","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u1KOtRaI-lhaNYrNWIPOx","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kUlKqFVqlXnIog5C61Znd","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TB6zhuAYfoGTDdh_ZmYSj","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YYKRJWvWiTU7RJQiCiXmi","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6KnGRLRpBGrfbzGHINekT","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            The horizontal position of the light.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            The vertical position of the light.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusX","optional":false,"description":"

            The horizontal radius of the light.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusY","optional":true,"default":"radiusX","description":"

            The vertical radius of the light.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"color","optional":true,"default":"\"#FFF\"","description":"

            the color of the light

            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"intensity","optional":true,"default":"0.7","description":"

            The intensity of the light.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Oq4PF0K-qmyFr1RX3iWpg","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"xFooM_y671qS0wWvQcmoZ","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ud70yYEgiaTsWzW2Cngzr","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UX8-C1JftsDCrIu2i8G1x","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5iuEUs1-bLcKSdYvEAQ_n","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NQEE1MGtONWd4Z8XHXSxO","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MVHDbxeei_S-J8geLk9fL","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_0bQUc4pvBhF5_cdTh_wZ","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rDusukJP3O71kphtFpOVj","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"bJ0jcs7LHDvpAB88o_QkL","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"exzc4jD-XaiCRmIB8tLkX","name":"getVisibleArea","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a geometry representing the visible area of this light

            ","params":[],"returns":[{"description":"

            the light visible mask

            ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"K-Rar5nMSQyQumKnvxFXd","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"x36fiVOk3RUBSWuHLPlim","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"44hHXTMJ_y0XrChTr-zUO","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"s5YOlWT8Fp2DycCs59ga5","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"saWSPzvjCr0S2ekVZ8-G7","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bnf0RXdkpP5el5G_twVKs","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"MBg8aIyYkpXBuUYG8G5zp","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"emPZUDd0PF6tCKeMGl0Pq","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"sLhGwXQZVuQJvKkUFc1h8","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5izLmN4wPDs_lOfjyp6dp","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PWKkabRpbGyNCmclaRDyJ","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nTE2jWpEEIl93Hdt7Dn6A","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nMycJZTbgmy58tu_YmIiV","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1o7AUQ22V-7qQdabstFVh","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ENus8IKAjBPfMA8it6kJA","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OMAz5GgyEe_PgLBQKmcv8","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Msay27YV4uGKv2mGTbuhv","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CA67-MhJW3dpi6M7SopYc","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hZ_zXPQIjWnhqXA6_Z42W","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l-UMcMbtexachirJ1tRRp","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ymxwlpq1kAWYb6fs73YVr","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"19qBAS4GtSAjpiTCYP7x2","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hF79RvBsi6pFKo0xJhM5t","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rnjBH43pwvqBWBDxkk7Jj","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dzXP6yFx9kDxLpzWuJq-g","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MgBE8bZi516uJaD19BUKh","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this Light2d (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"H3GWmRdbZw6PC_zqxBw7l","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"j0fEeKVmrL4yUzpwQNbZl","name":"Line","type":"ClassDoc","description":"

            a line segment Object

            ","params":[{"identifier":"x","description":"

            origin point of the Line

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","description":"

            origin point of the Line

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","description":"

            array of vectors defining the Line

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[],"extends":["Polygon"],"implements":[],"members":[{"id":"YkEOq5uhrg5iE8l6gqfKT","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HIPC6NaDlZknbERIL10y1","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N4JaL7GleMLjo-gnP-7Vr","name":"type","brief":"","defaultValue":"\"Polygon\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u_Wl52e8u9DpC4e3qAxVQ","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this line segment

            ","params":[],"returns":[{"description":"

            new Line

            ","dataType":{"tokens":[{"value":"Line","kind":"canonical"},{"value":"Line","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1OXTax-QeFzrA_oinDuRb","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","description":"

            origin point of the Line

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","description":"

            origin point of the Line

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","description":"

            array of vectors defining the Line

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[]},{"id":"4WEMqfiZJvkite6LfFIRP","name":"contains","brief":"","examples":[{"caption":"","code":"if (line.contains(10, 10)) {\n // do something\n}\n// or\nif (line.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the Line contains the given point

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to check

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if contains

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"z1vTfnbc2QVpK3yf5Dt7n","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Eq-u25Bn3CCYtAmRnYzDX","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Dk8UrRD0ApECP_Hc1JYCw","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"14lUAtyXmEdtiWFJLQ53N","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision edges and normals.\nThis must be called if the points array...","params":[],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Line","kind":"canonical"},{"value":"Line","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Bush2nO1eHzsiaY-mRCrX","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7ujTRioY-JQaIpiqrruUz","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Polygon by the given scalar.

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zHioFyvs71Vbr5MbuJiv8","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Polygon by the given vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WBG1lI3xm2EBo1s2qlDMS","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the Polygon

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Polygon

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Polygon

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2> | %3<%4>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yix_i1ucuaan1d4y-rQmA","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_jtElNgDYB9CHTJOQ4h4H","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"PdXktlHntsJolpjMm-rBu","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HkFBFLq2nxzu7Wlj4UdBt","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vE7RmBn6tWwgp95tm1oEq","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the given transformation matrix to this Polygon

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5H4Bf4QPVdXuBmmzZsd21","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nJIdl69Tj0smK-7bZ5JUm","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"V7oVFdYgBtQHsDsnV74aC","name":"Matrix2d","brief":"","type":"ClassDoc","description":"

            a Matrix2d Object.
            \nthe identity matrix and parameters position :
            \n

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"CHSuHj_bC1Z7Bzy9q5-Wu","name":"tx","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

            tx component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-9OpxLrpVxuXxiFaNHgjk","name":"ty","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

            ty component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r5P_lzHBWT846wkbGdl1f","name":"apply","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the current transform to the given 2d or 3d vector

            ","params":[{"identifier":"v","optional":false,"description":"

            the vector object to be transformed

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            result vector object.

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"2lSYkCzAB8E1kad5yHMbw","name":"applyInverse","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the inverted current transform to the given 2d vector

            ","params":[{"identifier":"v","optional":false,"description":"

            the vector object to be transformed

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            result vector object.

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"e9mK6ezyWJqws1mefut5L","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            Clone the Matrix

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CFN_rfs_fYFhwDiW4G8HO","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"args","optional":false,"variadic":true,"description":"

            an instance of me.Matrix2d or me.Matrix3d to copy from, or individual matrix components (See {@link Matrix2d.setTransform}...","dataType":{"tokens":[{"value":"Matrix2d | Matrix3d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"Matrix3d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2 | %3"}}],"returns":[],"extends":[],"implements":[]},{"id":"jqu40_bVoCqEtC672WDTw","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            Copies over the values from another me.Matrix2d.

            ","params":[{"identifier":"m","optional":false,"description":"

            the matrix object to copy from

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vEe3veYkr991IIso-oCjF","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            return true if the two matrices are identical

            ","params":[{"identifier":"m","optional":false,"description":"

            the other matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if both are equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"R1kKH916a1Te15KnEbe7N","name":"fromMat3d","brief":"","scope":"instance","type":"MethodDoc","description":"

            Copies over the upper-left 3x3 values from the given me.Matrix3d

            ","params":[{"identifier":"m","optional":false,"description":"

            the matrix object to copy from

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RK5iA_hFSqsfyKKFLfL-6","name":"identity","brief":"","scope":"instance","type":"MethodDoc","description":"

            reset the transformation matrix to the identity matrix (no transformation).
            \nthe identity matrix and parameters positio...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1kK17u0XiN9-qcnI0-Wp0","name":"invert","brief":"","scope":"instance","type":"MethodDoc","description":"

            invert this matrix, causing it to apply the opposite transformation.

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-nYs76mzVhRPlqYpP5RbO","name":"isIdentity","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns true if the matrix is an identity matrix.

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"jtxQe8ycWRBUYOs-C9KbF","name":"multiply","brief":"","scope":"instance","type":"MethodDoc","description":"

            multiply both matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the other matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bsipBZmpkMxHg8RgozBSh","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            rotate the matrix (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            Rotation angle in radians.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w2yLZD3QMu6RtdKIAjS3N","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the matrix

            ","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XrJNE5uSLHkF7JDqx219C","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            adds a 2D scaling transformation.

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TnZRXk85hbuCeRyGjgtmu","name":"scaleX","brief":"","scope":"instance","type":"MethodDoc","description":"

            specifies a 2D scale operation using the [sx, 1] scaling vector

            ","params":[{"identifier":"x","optional":false,"description":"

            x scaling vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xUzjz3Gb6jJ8kw5usQcsw","name":"scaleY","brief":"","scope":"instance","type":"MethodDoc","description":"

            specifies a 2D scale operation using the [1,sy] scaling vector

            ","params":[{"identifier":"y","optional":false,"description":"

            y scaling vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"v6SQ6z3WfDT_wtjvpn8tz","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the matrix to the specified value

            ","params":[{"identifier":"a","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"i","optional":true,"default":"1","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9uRSVN0dbq318si5rbGU6","name":"toArray","brief":"","scope":"instance","type":"MethodDoc","description":"

            return an array representation of this Matrix

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6anlFE_nGgTP2aCUk_mg8","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

            convert the object to a string representation

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"KXjma-d_4YJQnMDycEyxS","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

            Multiplies the current transformation with the matrix described by the arguments of this method

            ","params":[{"identifier":"a","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Nz0A2NKcZ3wIyVCFIS5qK","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

            translate the matrix position on the horizontal and vertical axis

            ","params":[{"identifier":"x","description":"

            the x coordindates or a vector to translate the matrix by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            the y coordindates to translate the matrix by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TTvxXleN8AHhw-aMlz8mk","name":"transpose","brief":"","scope":"instance","type":"MethodDoc","description":"

            Transpose the value of this matrix.

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"3tkV4keAFRnv2imNnQ2qZ","name":"Matrix3d","brief":"","type":"ClassDoc","description":"

            a 4x4 Matrix3d Object

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"uzW2miRvPRfkPzZGLe-61","name":"tx","brief":"","scope":"instance","type":"PropertyDoc","description":"

            tx component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EfH9wjjSvmEK--BLn9sQ0","name":"ty","brief":"","scope":"instance","type":"PropertyDoc","description":"

            ty component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B-kXCIEIoYd6ozY2Z-mQp","name":"tz","brief":"","scope":"instance","type":"PropertyDoc","description":"

            ty component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wt6XP_pMrLOahRH-eG4Ur","name":"apply","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the current transform to the given 2d or 3d vector

            ","params":[{"identifier":"v","optional":false,"description":"

            the vector object to be transformed

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            result vector object.

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"loHV1z0fyzuhyc80hAaPS","name":"applyInverse","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the inverted current transform to the given 2d or 3d vector

            ","params":[{"identifier":"v","optional":false,"description":"

            the vector object to be transformed

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            result vector object.

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"nAXTxup4UG7IKYRJgVlYh","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            Clone the Matrix

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kj-tyzwJgM3MkXETYSbqh","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"args","optional":false,"variadic":true,"description":"

            An instance of me.Matrix3d to copy from, or individual Matrix components (See {@link Matrix3d.setTransform}). If not argum...","dataType":{"tokens":[{"value":"Matrix3d | number","kind":"canonical"},{"value":"Matrix3d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"HZVVHNoNNORl1yqoL8n4M","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            Copies over the values from another me.Matrix3d.

            ","params":[{"identifier":"m","optional":false,"description":"

            the matrix object to copy from

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rQ80Y_NwHzrQ-ZRlwu0Jf","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            return true if the two matrices are identical

            ","params":[{"identifier":"m","optional":false,"description":"

            the other matrix

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if both are equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ODZD4FerhZlSJw8h_oiTs","name":"fromMat2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            Copies over the upper-left 2x2 values from the given me.Matrix2d

            ","params":[{"identifier":"m","optional":false,"description":"

            the matrix object to copy from

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Vj-accebk-A1spFnzgC3O","name":"identity","brief":"","scope":"instance","type":"MethodDoc","description":"

            reset the transformation matrix to the identity matrix (no transformation).
            \nthe identity matrix and parameters positio...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F3YgnUxS0SjiUYfpxU3Mr","name":"invert","brief":"","scope":"instance","type":"MethodDoc","description":"

            invert this matrix, causing it to apply the opposite transformation.

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lAr46ZP4-ie4oOa23fZMy","name":"isIdentity","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns true if the matrix is an identity matrix.

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"-MhaAz03B2lJiaATppudp","name":"multiply","brief":"","scope":"instance","type":"MethodDoc","description":"

            multiply both matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            Other matrix

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"19WPpZz4zOxyOvIdWAUuA","name":"ortho","brief":"","scope":"instance","type":"MethodDoc","description":"

            generate an orthogonal projection matrix, with the result replacing the current matrix\n
            ...","params":[{"identifier":"left","optional":false,"description":"

            farthest left on the x-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"right","optional":false,"description":"

            farthest right on the x-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"bottom","optional":false,"description":"

            farthest down on the y-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"top","optional":false,"description":"

            farthest up on the y-axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"near","optional":false,"description":"

            distance to the near clipping plane along the -Z axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"far","optional":false,"description":"

            distance to the far clipping plane along the -Z axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Npo5BZxTWu0ktsyEzhC5Z","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            rotate this matrix (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            Rotation angle in radians.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":false,"description":"

            the axis to rotate around

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2EozApq6e-J4xJ3v2HCxw","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the matrix

            ","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

            a number representing the depth vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i9Y3r76azYmbu5tSZUtdH","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            adds a 2D scaling transformation.

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xss3oYNwHrxMTUuygPVc-","name":"scaleX","brief":"","scope":"instance","type":"MethodDoc","description":"

            specifies a 2D scale operation using the [sx, 1] scaling vector

            ","params":[{"identifier":"x","optional":false,"description":"

            x scaling vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_SAO76DIpNg-eYAq2_cyM","name":"scaleY","brief":"","scope":"instance","type":"MethodDoc","description":"

            specifies a 2D scale operation using the [1,sy] scaling vector

            ","params":[{"identifier":"y","optional":false,"description":"

            y scaling vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QcfCW_hI4xjZXD6XWzct4","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the matrix to the specified value

            ","params":[{"identifier":"m00","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m01","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m02","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m03","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m10","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m11","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m12","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m13","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m20","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m21","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m22","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m23","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m30","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m31","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m32","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m33","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VpMz7OhZCTkQkIdz2_EM5","name":"toArray","brief":"","scope":"instance","type":"MethodDoc","description":"

            return an array representation of this Matrix

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o7gIV3MOE3I7B248LMz6r","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

            convert the object to a string representation

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"-3z-dE2-lKRfmD2gPqg3u","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

            translate the matrix position using the given vector

            ","params":[{"identifier":"x","description":"

            a number representing the abscissa of the vector, or a vector object

            ","dataType":{"tokens":[{"value":"number | Vector2d | Vector3d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            a number representing the ordinate of the vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

            a number representing the depth of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PkjaXBkM38vCMvE-36KeG","name":"transpose","brief":"","scope":"instance","type":"MethodDoc","description":"

            Transpose the value of this matrix.

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"t8dZ4N0xxvjk52b4fMbUj","name":"NineSliceSprite","brief":"","see":["https://en.wikipedia.org/wiki/9-slice_scaling"],"type":"ClassDoc","description":"

            A NineSliceSprite is similar to a Sprite, but it uses 9-slice scaling to strech its inner area to fit the size of the Rend...","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"yebYCsk6VOIG1RAqcph6m","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2YoJmZj26i66h0XeQ1Cdo","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wdhtay0aP657f-CEp8rsz","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uQLK7tbOEy_zD0k8jPbqI","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BMcc3A8zyHtfoJbF_AIlJ","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zaC9l0w2byXQxvRC3r8H5","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IC0c2kI0vSPWpWKUyeeXK","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oE3j1_ANQ6R_T2kSlc8OZ","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jNiHuLAamSxZBq5sx-BB2","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GuyMC-zXty1PEF652iau9","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QM6IG2QjaK9ZmQnrBCw6l","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U5JKqEzdX-x_KBuLzsBub","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D8q6zbcqvdjUk8Ox83GDZ","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oWHmC9M0FW-1cxCyPQG4G","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vSRF0899VqrVQLgZ1g71Z","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AiVTb8B1Uy_lelNiTZH74","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mYsOgXllSqLv7JPrypu5B","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the NineSliceSprite

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5hJlHi1vw9Bm4_TVklwzp","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VFWAzCG1kFAWVRPkPQg9D","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ShUKb5-Iyc-wdlbXrYJhN","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Yn1KmyyXHlG8miI5BsXrp","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D2iE0L5E9ElHCR3YqzO2g","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5Zs6Z3VWFrhZUuVNxtYD6","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rrr2uVCzDGl4_m2dWl_dk","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eQ2VofkTO2NuDkhx4RBFV","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_X0E38SogiHjkmNi23UvS","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iZKR0wsjfmDdH3xOswC12","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mh2ah2Anci916EzRmmYvQ","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LLSHoUPAjXKrP5dyj2xxN","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

            global offset for the position to draw from on the source image.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hz6Y6zTtYm--5qDtaqvEY","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YnBKunJS7t2egSQKZWQZo","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JN_XGTLzz0D5HT-lShuzv","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wehzq62-f7dJQzaSCTZg4","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8TQ0doP79RrO_uu8ecmlz","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8kLTFc59lqkwpFsTx8J13","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lhJLvyfAraeDvcoD2nnLa","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8iB5NKimtU3f6Y0XXYL-k","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6gppghqztJje8UhsU9Coa","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9t5_aJjPXa9VlKOFQeFWm","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pzcHGcyrqI0OOZZhvRlYy","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eNWDOFKWmulS5f9KvGjeO","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the NineSliceSprite

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zZjpDPt0ZTuKeiT-Fvsox","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            add an animation
            \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

            list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

            ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

            cycling speed for animation in ms

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            frame amount of frame added to the animation (delay between each frame).

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dVaSnn-UWIEf8x2_YDM4K","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_thvrN7o4n-hvMIKYWwpw","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"k-mrQfoJ1U0QEun9N-ay6","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wGNGa4f2yxWRV17PnspsA","name":"constructor","brief":"","examples":[{"caption":"","code":"this.panelSprite = new me.NineSliceSprite(0, 0, {\n image : game.texture,\n region : \"grey_panel\",\n width : this.width,\n height : this.height\n});"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the sprite object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the sprite object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            Configuration parameters for the Sprite object

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.width","description":"

            the width of the Renderable over which the sprite needs to be stretched

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.height","description":"

            the height of the Renderable over which the sprite needs to be stretched

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.insetx","optional":true,"description":"

            the width of a corner over which the sprite is unscaled (default is a quarter of the sprite width)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.insety","optional":true,"description":"

            the height of a corner over which the sprite is unscaled (default is a quarter of the sprite height)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.image","description":"

            reference to spritesheet image, a texture atlas or to a texture atlas

            ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | TextureAtlas | string","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1 | %2 | %3 | string"}},{"identifier":"settings.name","optional":true,"default":"\"\"","description":"

            name of this object

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.region","optional":true,"description":"

            region name of a specific region to use when using a texture atlas, see {@link TextureAtlas}

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.framewidth","optional":true,"description":"

            Width of a single frame within the spritesheet

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.frameheight","optional":true,"description":"

            Height of a single frame within the spritesheet

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.tint","optional":true,"description":"

            a tint to be applied to this sprite

            ","dataType":{"tokens":[{"value":"string | Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.flipX","optional":true,"description":"

            flip the sprite on the horizontal axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.flipY","optional":true,"description":"

            flip the sprite on the vertical axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.5, y:0.5}","description":"

            Anchor point to draw the frame at (defaults to the center of the frame).

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"z-BhXOk4dSCIfipJ3L9fd","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"i8Labp3OpB8f2G3lI1WaU","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ARbdSN0X7APNLNGZUZlPx","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H2kSSkaYLCUPV1_KNfB9g","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fggvmOFl6S9RXjwOAFEAa","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

            make the object flicker

            ","params":[{"identifier":"duration","optional":false,"description":"

            expressed in milliseconds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

            Function to call when flickering ends

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GvfPwtJmGKrk-NO1MF2lM","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P5wzmVEQFL1dmRKBMdWai","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SF0fUrS7xM8Ws9HfJgyHw","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LzI7dRAfUY5DWM6vqhHjQ","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"O4CBUQBDqqVGOl6Q2kN7F","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the current animation frame index.

            ","params":[],"returns":[{"description":"

            current animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Fg-AysNh9j2-wfCcF4aRZ","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Fdt6MWPUKTS0_iflf4Tli","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ye-Da3gSRs8W_sroJxGge","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ZGMAXPR3dVKrfixy5ZYrp","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

            return true if the specified animation is the current one.

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_KYDNBrEgf-A1lwRuK1Sl","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"et25pZThGDklFzN2Lbyua","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the flickering state of the object

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PBi2L0zhf7V0UiPoV3Rwj","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9Cp9b59_RffhxSey3FWca","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"BrAxTY6ME6FUvVLiRza55","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aRu2ELWxUenqig3Y3awl9","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rkLtAvzKckAPTn0MSYjKp","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IFtgMD0qkKVDbExYjEh8H","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b7O0R3HGd100lR1uPAFET","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"6nbHP11B8_ilT3WUHcwZX","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"nHWPNfzywcHZFhrYN1pA1","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dW3OLAE5K5QvEkHvXMQ-a","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OQJckClj0dyDf4SLTZ_MH","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            reverse the given or current animation if none is specified

            ","params":[{"identifier":"name","optional":true,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Zm5ftunJRVweDTgztGhTT","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zsJIJun4eLZAP9Tu9-8vp","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jznK4COP5P0m1yRE6R-S6","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pQgcMBLBSBW8hshD5mcN0","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

            force the current animation frame index.

            ","params":[{"identifier":"index","optional":true,"default":"0","description":"

            animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6iOjwdX6nxr_TeswzZxlD","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

            set the current animation\nthis will always change the animation & set the frame to zero

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

            animation id to switch to when complete, or callback

            ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

            if false will reset the elapsed time counter since last frame

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qpgEpX8K6PuOl6g5GWt5L","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"7aGHv--Abxbyj5s7UcT99","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

            change the current texture atlas region for this sprite

            ","params":[{"identifier":"region","optional":false,"description":"

            typically returned through me.Texture.getRegion()

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Lg8X4t1rIWuO3w30NmkGk","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Oa0Q_Tnl5ZbtVvktRkn7L","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xt11SRjbmByP5kgyjnEeI","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SqB4v_4DwV7UiVcRO7MyC","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NQ1etP8Q2np4CzQ7w6vxY","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IXT98V1J9XQrWLwLffPjd","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pegXggAGwjaRa3sD6_BXq","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cZJ486Ww33t1yy5ne15zE","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wlNf_5xZ1-6gJa6FgWz_5","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vIRAMLtjplHjOKNhX7RJG","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8gGU3LrLFUIVRDRu2jG54","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this srite (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Xcuj4RRYZfaznr6ucERFE","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            update function.
            \nautomatically called by the game manager {@link game}

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the Sprite is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Eki9I3NLJNe8EOjcvwSXr","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"ZwKrFgQK9y2atL0SyLK2u","name":"ObjectPool","brief":"","see":["{@link pool} the default global instance of ObjectPool"],"type":"ClassDoc","description":"

            Object pooling - a technique that might speed up your game if used properly.
            \nIf some of your classes will be instantia...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"GeHzMNJ_wPclGOObQKeNa","name":"exists","brief":"","scope":"instance","type":"MethodDoc","description":"

            Check if an object with the provided name is registered

            ","params":[{"identifier":"name","optional":false,"description":"

            of the registered object class

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            true if the classname is registered

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"OFijDeNP6VTqRESQl3ud-","name":"getInstanceCount","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the amount of object instance currently in the pool

            ","params":[],"returns":[{"description":"

            amount of object instance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"T_pAs4dwXeXoJ7owbnATE","name":"poolable","brief":"","examples":[{"caption":"","code":"if (!me.pool.poolable(myCherryEntity)) {\n // object was not properly registered\n}"}],"scope":"instance","see":["register"],"type":"MethodDoc","description":"

            Check if an object is poolable\n(was properly registered with the recycling feature enable)

            ","params":[{"identifier":"obj","optional":false,"description":"

            object to be checked

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            true if the object is poolable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0388kz-645s8KWj0HbAKJ","name":"pull","brief":"","examples":[{"caption":"","code":"me.pool.register(\"bullet\", BulletEntity, true);\nme.pool.register(\"enemy\", EnemyEntity, true);\n// ...\n// when we need to manually create a new bullet:\nlet bullet = me.pool.pull(\"bullet\", x, y, direction);\n// ...\n// params aren't a fixed number\n// when we need new enemy we can add more params, that the object construct requires:\nlet enemy = me.pool.pull(\"enemy\", x, y, direction, speed, power, life);\n// ...\n// when we want to destroy existing object, the remove\n// function will ensure the object can then be reallocated later\nme.game.world.removeChild(enemy);\nme.game.world.removeChild(bullet);"}],"scope":"instance","type":"MethodDoc","description":"

            Pull a new instance of the requested object (if added into the object pool)

            ","params":[{"identifier":"name","optional":false,"description":"

            as used in {@link pool.register}

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

            arguments to be passed when instantiating/reinitializing the object

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            the instance of the requested object

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"DrVSAcXmGcO3zO8aDoaBJ","name":"purge","brief":"","scope":"instance","type":"MethodDoc","description":"

            purge the object pool from any inactive object
            \nObject pooling must be enabled for this function to work
            \nnote: thi...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V53zkQgeG4GONG1GC0jqh","name":"push","brief":"","scope":"instance","type":"MethodDoc","description":"

            Push back an object instance into the object pool
            \nObject pooling for the object class must be enabled,\nand object mus...","params":[{"identifier":"obj","optional":false,"description":"

            instance to be recycled

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"throwOnError","optional":true,"default":"true","description":"

            throw an exception if the object cannot be recycled

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            true if the object was successfully recycled in the object pool

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gfypW9sl7hhwAiGnlVdSn","name":"register","brief":"","examples":[{"caption":"","code":"// implement CherryEntity\nclass Cherry extends Sprite {\n onResetEvent() {\n // reset object mutable properties\n this.lifeBar = 100;\n }\n};\n// add our users defined entities in the object pool and enable object recycling\nme.pool.register(\"cherrysprite\", Cherry, true);"}],"scope":"instance","type":"MethodDoc","description":"

            register an object to the pool.
            \nPooling must be set to true if more than one such objects will be created.
            \n(Note...","params":[{"identifier":"className","optional":false,"description":"

            as defined in the Name field of the Object Properties (in Tiled)

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"classObj","optional":false,"description":"

            corresponding Class to be instantiated

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recycling","optional":true,"default":"false","description":"

            enables object recycling for the specified class

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"4pPtN-Jpb_Lg548sGC8Eo","name":"ObservableVector2d","brief":"","type":"ClassDoc","description":"

            A Vector2d object that provide notification by executing the given callback when the vector is changed.

            ","params":[],"returns":[],"extends":["Vector2d"],"implements":[],"members":[{"id":"e5uzC4Yv9iCJpRLNfd7pT","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            x value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-dh5Xujo3WIG4fG9LD311","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            y value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iiSF2Kj3wiOgA3xsHi6GP","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

            Update this vector values to absolute values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NgF5gfDyBMvMJk95S5nWW","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

            Add the passed vector to this vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"D7qpZOGCHPEvDP-opT4uS","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle between this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pR_cHEdi0y5j5ZOwxAGrb","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

            Ceil the vector values

            ","params":[],"returns":[{"description":"

            new me.ObservableVector2d

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XWWsYGzFGCbt1XGguQCwG","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Ceil this vector values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HKoEESeIy5nZWggB5DaCG","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

            Clamp the vector value within the specified value range

            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            new me.ObservableVector2d

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"waqbRTWAO1dl8XrkvML2E","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Clamp this vector value within the specified value range

            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jCwgYC4JlRFwTgnIwXwon","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            return a clone copy of this vector

            ","params":[],"returns":[{"description":"

            new me.ObservableVector2d

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"O1mtZDfo0k_NM6tK_xQL9","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"default":"0","description":"

            x value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","description":"

            y value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            additional required parameters

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.onUpdate","description":"

            the callback to be executed when the vector is changed

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.scope","optional":true,"description":"

            the value to use as this when calling onUpdate

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"li3iR3O0YMuJbs62rSAIQ","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            Copy the x,y values of the passed vector to this one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eg1boua3ACkU5DVVE_gJ4","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the cross product of this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            The cross product.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mUNxwzUVsyS7uiTyj2Nc9","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance between this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ewvp0HG8-zmzEM-pKxdja","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

            Divide this vector values by the passed value

            ","params":[{"identifier":"n","optional":false,"description":"

            the value to divide the vector by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3_UH5nN5jRXf4Sze1407g","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the dot product of this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            The dot product.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aq8-jqeTwl0goB0zdDeNG","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            return true if the two vectors are the same

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"cQUckQQKaMFtBGXm56Dkm","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

            Floor the vector values

            ","params":[],"returns":[{"description":"

            new me.ObservableVector2d

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8DCzlNyoq_h6cMBJ4GKI1","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Floor this vector values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3GM0VcFL9ed57xusjnykE","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the length (magnitude) of this vector

            ","params":[],"returns":[{"description":"

            the length of this vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oa5NwUByHpDWBN2HFOttS","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the square length of this vector

            ","params":[],"returns":[{"description":"

            The length^2 of this vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3u5NaYzvURqk_vWrkc5aP","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

            Linearly interpolate between this vector and the given one.

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"alpha","optional":false,"description":"

            distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gwQcEf0VsL-50AokIvjJ8","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Update this vector with the maximum value between this and the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TtvjndUDjOtMU9cgq37oQ","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Update this vector with the minimum value between this and the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HuHdw0Csct2HxS_qNzjeJ","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

            interpolate the position of this vector towards the given one while nsure that the distance never exceeds the given step.

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"step","optional":false,"description":"

            the maximum step per iteration (Negative values will push the vector away from the target)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iLMpcLPBayAWM4kmw_IwB","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Negate the vector values

            ","params":[],"returns":[{"description":"

            new me.ObservableVector2d

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d6leJ-HDH1-d81oGG36AY","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Negate this vector values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dgWWmZdC5uqCUJ_NXA74J","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

            normalize this vector (scale the vector so that its magnitude is 1)

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wyK6ryOK1bT_oZ83OlIOK","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

            change this vector to be perpendicular to what it was before.
            \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GpV5nXxxtYL07aDxhCkMR","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

            project this vector on to another vector.

            ","params":[{"identifier":"v","optional":false,"description":"

            The vector to project onto.

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qcuWsqDH3eVplD16u3W9r","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

            Project this vector onto a vector of unit length.
            \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

            The unit vector to project onto.

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rub59xTCwurIMSv9dttPP","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this vector (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t8W_Zk5F4wEaDD292QyBz","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            Multiply this vector values by the given scalar

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xh9DadKvHiOfXTdrztnKQ","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Multiply this vector values by the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xzVpFMJQgzKsOFDlOWoT7","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the Vector x and y properties to the given values

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aizOgolR8dXsCcrOMC4g7","name":"setCallback","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the callback to be executed when the vector is changed

            ","params":[{"identifier":"fn","optional":false,"description":"

            callback

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"scope","optional":true,"default":"null","description":"

            scope

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hPgEUIbAjGiUBZsTEKb5L","name":"setMuted","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vector value without triggering the callback

            ","params":[{"identifier":"x","optional":false,"description":"

            x value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            y value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RTFOLTuLjM-fyWvDOL0_1","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the Vector x and y properties using the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uMnY-NvAJUWvMSwTxbjVF","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the Vector x and y properties to 0

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pf8vO3jT30zYy1H84UG-C","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

            Substract the passed vector to this vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"p5tFvnWzXAKh8Nw3ttpbG","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            Convert this vector into 2d coordinate space

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AuVE0dXjaqNAc01BWXz73","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            Convert this vector into isometric coordinate space

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6EoUhkMq8NBIBXd5F61yY","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

            convert the object to a string representation

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"B_2Z8gXqkSWUSsDcMhlVe","name":"toVector2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            return a me.Vector2d copy of this me.ObservableVector2d object

            ","params":[],"returns":[{"description":"

            new me.Vector2d

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"WIuitUFGP4FTvQTu8o0Ej","name":"ObservableVector3d","brief":"","type":"ClassDoc","description":"

            A Vector3d object that provide notification by executing the given callback when the vector is changed.

            ","params":[],"returns":[],"extends":["Vector3d"],"implements":[],"members":[{"id":"HA8vgbxHaX8HRCQhUUM7s","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            x value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"koX4HhL70iqsh8x_q1HqP","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            y value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_NdG-20Z7VQu9MxBRTWTG","name":"z","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            z value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"97Ssl8Mk6QsH9JeFoeYaR","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

            Update this vector values to absolute values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y6CBR1kpfKzNReX28WPTX","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

            Add the passed vector to this vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ojc7sLNR8zXlbXVEfPalH","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle between this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EufyqCxMvCAAX4m9CUUtn","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

            Ceil the vector values

            ","params":[],"returns":[{"description":"

            new me.ObservableVector3d

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dUDPfWMuY0dGRHAO3WFzp","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Ceil this vector values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0ltHRsbM8DAEOAJ6qrMZF","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

            Clamp the vector value within the specified value range

            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            new me.ObservableVector3d

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HbCtk2bRuZJCSBBwe3aP5","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Clamp this vector value within the specified value range

            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LTx_-tsw27_9FYs5PJgCS","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            return a clone copy of this vector

            ","params":[],"returns":[{"description":"

            new me.ObservableVector3d

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jJOd5UOk77-ao0pHYAall","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"default":"0","description":"

            x value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","description":"

            y value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":false,"default":"0","description":"

            z value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            additional required parameters

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.onUpdate","description":"

            the callback to be executed when the vector is changed

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.scope","optional":true,"description":"

            the value to use as this when calling onUpdate

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"Oh1t6nE8GAQhSjtkC5hYt","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            Copy the components of the given vector into this one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vQUKlVxbOi8sx1PYE_msz","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

            calculate the cross product of this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d | ObservableVector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"S65C6B-1N_kvn9PhREkYU","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance between this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZnSjbIYbkKtUnGZ89lc2h","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

            Divide this vector values by the passed value

            ","params":[{"identifier":"n","optional":false,"description":"

            the value to divide the vector by

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1z4eUjttOJ1tlAVOAK6uO","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the dot product of this vector and the passed one

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

            The dot product.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rA8CqL7nxvOunD7dZPDaP","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            return true if the two vectors are the same

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"VwquiAfdPnbc9VPTWsK9s","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

            Floor the vector values

            ","params":[],"returns":[{"description":"

            new me.ObservableVector3d

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mtlZWJvxzTG1gOdThbJmz","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Floor this vector values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MOpUtTGkFgpO8cBrsJo7x","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the length (magnitude) of this vector

            ","params":[],"returns":[{"description":"

            the length of this vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sNT5dDCQmNSmT_NeO9pJi","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the square length of this vector

            ","params":[],"returns":[{"description":"

            The length^2 of this vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bgsG8BV3Z4wN-9Z3rKrzi","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

            Linearly interpolate between this vector and the given one.

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d | ObservableVector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"alpha","optional":false,"description":"

            distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FVLBCK_qwEruF3AahMcMc","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Update this vector with the maximum value between this and the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IYuURKePPttJ5ANj1Rfaf","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Update this vector with the minimum value between this and the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0YfaiI40WajMRh2xZBTP6","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

            interpolate the position of this vector on the x and y axis towards the given one while ensure that the distance never exc...","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d | Vector3d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"step","optional":false,"description":"

            the maximum step per iteration (Negative values will push the vector away from the target)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pJDmZnOXzfP1g96VxKOPw","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Negate the vector values

            ","params":[],"returns":[{"description":"

            new me.ObservableVector3d

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eLhP5yMYlHtkbtdp1JfkB","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

            Negate this vector values

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HKDURmsnpiD97cTa9FgL0","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

            normalize this vector (scale the vector so that its magnitude is 1)

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OHBHfrW6ZRGQ2qL9qVBv0","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

            change this vector to be perpendicular to what it was before.
            \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZduHCdamgfcY4dhoAZTm-","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

            project this vector on to another vector.

            ","params":[{"identifier":"v","optional":false,"description":"

            The vector to project onto.

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5OzBt_7_uk4R2O--pp3BO","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

            Project this vector onto a vector of unit length.
            \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

            The unit vector to project onto.

            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aqPVLoo3UnjD78u0GaXS5","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this vector (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around (on the same z axis)

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zTXYuX1TQAwEdR7lWGYQ5","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            Multiply this vector values by the given scalar

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"1","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HK92-zNOBc-PEWnLZRskI","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Multiply this vector values by the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i9BXp1F1ReaaH7tq95m0o","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the Vector x and y properties to the given values

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"p15ATzGsU3KjJ6yqlFpru","name":"setCallback","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the callback to be executed when the vector is changed

            ","params":[{"identifier":"fn","optional":false,"description":"

            callback

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"scope","optional":true,"default":"null","description":"

            scope

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"McChXuBlee_9FzFxWjcSl","name":"setMuted","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vector value without triggering the callback

            ","params":[{"identifier":"x","optional":false,"description":"

            x value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            y value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

            z value of the vector

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GNY4VbGbfM-iH6ecxoJUz","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the Vector x and y properties using the passed vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IV_7_l8Dnc8Xq1yCIlGb9","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the Vector x and y properties to 0

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6QjAxfoytUnHOwFBd2vbM","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

            Substract the passed vector to this vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"njYpObLdf6trlBCeP23Uc","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            Convert this vector into 2d coordinate space

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i-2CRBraNtbXpd5zAd_Ej","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            Convert this vector into isometric coordinate space

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WWMPZfNhrOY2GSoXB2bAs","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

            convert the object to a string representation

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"_2OK4pGiU0fzo4SQ-Z1P8","name":"toVector3d","brief":"","scope":"instance","type":"MethodDoc","description":"

            return a me.Vector3d copy of this me.ObservableVector3d object

            ","params":[],"returns":[{"description":"

            new me.Vector3d

            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"sse8Gpk9moyFx2xFjUSMJ","name":"Particle","brief":"","type":"ClassDoc","description":"

            Single Particle Object.

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"jZEBuezp6JcmidhJsuulN","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9mrbOlDADM3IT3Xng05RO","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UvtcCBPVajYhSO0SpGtPL","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Qi1bDg75nQ6nYXsvyfcfU","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eLgFnZOJLhxfp1XPX3QKI","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Nf0zrue_GiHwTNdcXtLx2","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"54tCCLpmAsSBz7-xukrM0","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3OWMANyNsA4x29e6AgkLV","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YrLWoNCKgQ11S4zDd00Ze","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q54MSCzsNSO_N1fYigG2j","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HEvPfwX14br8MitKyYcW5","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CdScRgOrQCKexQG8HULca","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZFohSesK68pX7KdvAtZzm","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7DmyqLyC3gJfweioTrSGM","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LWnn3grnE5Lntkdf26S6m","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SVLIrMhiHpBjUtEGRQDZ7","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b8Y1vUO_5adNyfFokBSQQ","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pZMaMJrEa-2Ezf-cGC1kn","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"naWYRHbTmEgk7-JgngRwi","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"42PVpAdZjyxBGlzxUSqSB","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XjFDjWu0aHQa82hWVla84","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HyAfbxdzrcMAmxcI5120C","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZnIxun_G53qV3F4MCR3Q2","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8HeVxzay6Bidb8aqPDZKs","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Qa3e47N7q-HAnGb_OaHVv","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k-f3a7abceExBOiT7JxA6","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Chaujl9MPItCPMlURstAG","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"15pkZySobE7c4xCnbl-72","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IoPsoDItIpx6Qh4pxAwXi","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nqetfM8zig8EMpUPaA-K3","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jDU2Pmq1yRG2oEqgi4LrV","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YVhzYFMc7ysja3fOSRwAE","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QFkFVwu-w3rHaO4ymFoZP","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zmeqyS08RPNMabODr7dbv","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RU2tD2VPdx-0tE3JCKAjp","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0GjAr4KENYR2d3kRes-45","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wx1OPHRp0x5lv76AHOj13","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VXlZP3m0qh6tz3JoSmMJj","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"on6BOzkw9TkXIlwtzKEvu","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SKx2G1IzUn-x51gugMLrf","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"emitter","optional":false,"description":"

            the particle emitter

            ","dataType":{"tokens":[{"value":"ParticleEmitter","kind":"canonical"},{"value":"ParticleEmitter","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2OEqqExA6-7YjUQOoGnII","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Li79X7jqUJC8MKuO6ocBm","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wEI_VxJyynHLpumC92qnP","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dm7ixaHfRkNQs92CVnzzP","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"meydq2y-OxyskYT5JH7f3","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ghXunEdz6tv33KcIedFTN","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SZ-MCU4VTGBlbwGny5FFX","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hjftfyDEUetRtYSqAukhI","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JZVujgr9ohoBWThsuq9qJ","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Cj_D6VBFZ_KZmiJXM1TVi","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"2l159WJQONW_kvdoxNkpe","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-ocHBGrb3UNUGBs21dWd2","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8p42fGoujpt-vhu67DEcJ","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Ajetogy_LM41RK6LoDzsd","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dmbq8rjG2YDZcLMyS9_G-","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"J-eZ9vPgvVJz3fWYOpF7p","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fBnasAD307Sh-gr-v2mB9","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dolnkdffSjynRZ4BUAfrE","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"OkzS-YRKu3_0Png5bnRpQ","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"GoRXJrrv5plQXRHEXjErN","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"h5hyHUxqyo1xTEADVGgij","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_7iuGSep_4vyBOd0b4_B2","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rfu2jKGWj5L4rtr5aOYgI","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DM0DISFMYhBRe9JFhLiVZ","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-NW4zV_1_mcoQepip_Etn","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"EsyEAp0yu29cEyuFlj71g","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GLUk3m-qWETayhtUiUvy7","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1fXLox15ltDspZpN_5mmJ","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"oijkwVe8Q8j3AL8drVw9g","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fHkFio9of0Jg8Sk3Uf8A1","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"roFSlowoY-F-hr03yIskr","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LeL_hcdFp19o3y4JdN0vX","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GRGncsNFlkeLb6YHatbUl","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TqL2HrMKn7yd3CowzuUZE","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iD1s0ejI4M0Bx8lfB-6lA","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"azoTzUsCbpGCPob5s4zmy","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IBkciHaBKzGl-J_5J8s9s","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"QWbaKi2Z9B29xAWP64i2_","name":"ParticleEmitter","brief":"","type":"ClassDoc","description":"

            Particle Emitter Object.

            ","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"NzzPFHFqSc4IYwte0fJIJ","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vk8WTlLQHwEHOfuKmDwtA","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mwQs0IvFf7zl4lk0in-aD","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dMIaaaE9lqEm0TpeaaH0Y","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yszQIUfMeUKmauf7HIopR","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            Specify if the children z index should automatically be managed by the parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TVmdUMqiWPavXiZ3V2Fwm","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            Specify if the children list should be automatically sorted when adding a new child

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R_Ofu9DZA-vCFXacvMb1n","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"StftSJhN2DxOixq1tyCTF","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a background color for this container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JjNVuMP5vszErf3e6ULF_","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gCMy0En69gGIawKCvDdOB","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZKEhTDHR1wvb_dqmHCMIO","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ky-eHCTdoG5S0azCsvKcu","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QO6X9qH5ZwDbGPOkD6GHV","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TQVWW1SaVB9mX7rueBxse","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Specify if the container draw operation should clip his children to its own bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"po7toO7nT0zhwcDVuPU2_","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lkAwlU1MVYF3jrIg4BbYM","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_Jkziijw3tb7kDBwqhvyu","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jiyh1jKeCv0WlJ3ZAdKoU","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UlxtyC7iGl6p_XTXpOqnZ","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ylMsqa0XpL4TV1SR-4xa2","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T7G_yxDNKYrHsP31fOUaN","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IhIgJupsS2-xVLQIvQhHi","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YvnSal0-X2wATEJIbR_yA","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ojXpGX71SM2MzcwAHOkgI","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hFXuJHuEjCeEdCeZuh0R-","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w8gmMl4u1sa63I9awtsQh","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zBMUM8Lq64oCX9r-r7y5d","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ofWz-EYvpoXh2i6EGM_JX","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u1CKUynki2TyQdx3q5MZr","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3zYKGiKYnxXUH2WSxD74P","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K42rr9RDDEiPKaWqVi4lo","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IPDqhj8nz8gVS4gDaD5OC","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"I0uztEWVxdHlOnU71wmfs","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FEk88ef2uu7V78MlwJuly","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qAv9SQgUtPnFGCc8g8LQ5","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aJrUnzdfUPdBL8XtOIP4n","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            whether the container is the root of the scene

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3Boz7mSo1P7Rr_KUht9IA","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the current (active) emitter settings

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HTUeiuWQSDUfA0jcFWtJU","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KHzCbJv8cSnEXAWeMHqhU","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

            The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hPCYBVJlA0cCWqoG0o91g","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_p6u38kuKAd8OlGvJGqVm","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5Ih7GF-7FJdUb6vW33AfO","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sxzdwj17HBtTs2oOHDtXn","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ehEe_gZiUKrgvP4us3FUu","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fV-_FKyxRVFl3kuRaxxc6","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Add a child to the container
            \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

            forces the z index of the child to the specified value

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            the added child

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6ZSfSEI6Ff5Dj5z85ZMAG","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Add a child to the container at the specified index
            \n(the list won't be sorted after insertion)

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

            The index at which to insert the child

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            the added child

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8rlviDjz3vNHDPzmQ7dp4","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aASIF4VIzDWiS3od5_qVJ","name":"burstParticles","brief":"","scope":"instance","type":"MethodDoc","description":"

            Launch all particles from emitter and stop (e.g. for explosion)

            ","params":[{"identifier":"total","optional":true,"description":"

            number of particles to launch

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XPEEsX1AAJu8gvEtDctHD","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fWT0jn2Gio6jaPE-_AgLm","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y05Fc1hzrDuyaBZDgZWV5","name":"constructor","brief":"","examples":[{"caption":"","code":" // Create a particle emitter at position 100, 100\n let emitter = new ParticleEmitter(100, 100, {\n width: 16,\n height : 16,\n tint: \"#f00\",\n totalParticles: 32,\n angle: 0,\n angleVariation: 6.283185307179586,\n maxLife: 5,\n speed: 3\n });\n\n // Add the emitter to the game world\n me.game.world.addChild(emitter);\n\n // Launch all particles one time and stop, like a explosion\n emitter.burstParticles();\n\n // Launch constantly the particles, like a fountain\n emitter.streamParticles();\n\n // At the end, remove emitter from the game world\n // call this in onDestroyEvent function\n me.game.world.removeChild(emitter);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            x position of the particle emitter

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            y position of the particle emitter

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":true,"default":"ParticleEmitterSettings","description":"

            the settings for the particle emitter.

            ","dataType":{"tokens":[{"value":"ParticleEmitterSettings","kind":"canonical"},{"value":"ParticleEmitterSettings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"hy3ElRPaxSH2MTZzv49ff","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"oHJ6EQoGSAYqeJB1PhS2b","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ie64D6uoVUI-01f7-6wu8","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1_HHpv-4sW8uMTRcmTNit","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"onXTKhlnfAJhrq2mMfiY_","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MwtyvGfgPY_n8_C7_2tLA","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"g1nAaabbskcMDsAOssAws","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

            The forEach() method executes a provided function once per child element.
            \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

            fnction to execute on each element

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

            value to use as this(i.e reference Object) when executing callback.

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"Jjm0QdGKYPOpOYCKN7bS0","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Tlw4l-1XNgQbN43y0J4kT","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w30qcbKFEP_ErKyo0aDok","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the Child at the specified index

            ","params":[{"identifier":"index","optional":false,"description":"

            The index of the child

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            the child at the specified index

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Vrv_F-gTUHgUD_FCTb46c","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the child corresponding to the specified GUID
            \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

            child GUID

            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

            corresponding child or null

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GNuTmz9_FsfhYjaSJ8v6e","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the list of childs with the specified name
            \nas defined in Tiled (Name field of the Object Properties)
            \nnote ...","params":[{"identifier":"name","optional":false,"description":"

            child name

            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

            Array of children

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"LSlMdjRCu60qDa8XfL2Z5","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

            return the child corresponding to the given property and value.
            \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

            Property name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

            Value of the property

            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

            Array of childs

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"U9z2-foSOWAr3EWN9wpsy","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the list of childs with the specified class type

            ","params":[{"identifier":"classType","optional":false,"description":"

            Class type

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            Array of children

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"mBgnq_hbP9evrNHpk-7G7","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the index of the given Child

            ","params":[{"identifier":"child","optional":false,"description":"

            The child object

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

            index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WhIrDEHhzh4pBXZhwwmY8","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

            return all child in this container

            ","params":[],"returns":[{"description":"

            an array of renderable object

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"9_0YTqHxU02exsIQEon_v","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"jDxoPyOJbpOKvZ79dHSHd","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the next child within the container or undefined if none

            ","params":[{"identifier":"child","optional":false,"description":"

            The child object

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

            child

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H4lFOmHo3frlJHYjHASAX","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XhPZTLR4hy5NEPAd9KVTv","name":"getRandomPointX","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a random point on the x axis within the bounds of this emitter

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wVEhP__TKGhiYXOcNxn5Y","name":"getRandomPointY","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a random point on the y axis within the bounds this emitter

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZzepaoHZpYRhV4MYjjsu6","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the instance of the root container (i.e. the current application World container).

            ","params":[],"returns":[{"description":"

            root container

            ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3day1K7QHkm8eNEHZUmVG","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if contains the specified Child

            ","params":[{"identifier":"child","optional":false,"description":"

            The child object

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"u-e1cD1fwt3oXno6yCJwV","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

            Checks if this container is root or if it's attached to the root container.

            ","params":[],"returns":[{"description":"

            true if this container is root or if it's attached to the root container

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"WmKMM6nFfQ0zOODbUL52N","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"xuy7lBtEJF96S8rIKxP1l","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"WFK_q2RIUz7tnQ5Qju0Ty","name":"isRunning","brief":"","scope":"instance","type":"MethodDoc","description":"

            Emitter is of type stream and is launching particles

            ","params":[],"returns":[{"description":"

            Emitter is Stream and is launching particles

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"9005miY467O-jZYmX7jnN","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7zbHAkMKTri0z0HXqaw5O","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the child in the group one step backward (z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"4oH1bh1yJ1y1fiyeqxAlE","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the specified child the bottom (z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"IpG828LMHopMCEAVrrLIV","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the specified child to the top(z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"qrPyXvjCh5z4Bi6YBHHth","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

            Move the child in the group one step forward (z depth).

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be moved

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"M_D3M7eDSCBVjDeKPgsSN","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

            a callback to be extended, triggered after a child has been added or removed

            ","params":[{"identifier":"index","optional":false,"description":"

            added or removed child index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"UogAOLmSYFuXoCs6zl7va","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7qPq6Bp-V3RMT_sN7u8az","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A4GRAAWMYKS68ANW8dxFb","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gyXr5ovYsGfkItkZj_jZD","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"UPVYzFTmqwkjHDzqZllyU","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"mPKMq7nqW0WxrwdNOmZIQ","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H3fAWkLjWwUh1hZ9MEwfS","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

            Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

            Child to be removed

            ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

            true to prevent calling child.destroy()

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"IB97QEhEdjOCuos3hKxs0","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

            Removes (and optionally destroys) a child from the container.
            \n(removal is immediate and unconditional)
            \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

            Child to be removed

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

            True to prevent calling child.destroy()

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"lX-CIv_ikTIbPpiJk3rqW","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

            Reset the emitter with particle emitter settings.

            ","params":[{"identifier":"settings","optional":false,"description":"

            [optional] object with emitter settings. See {@link ParticleEmitterSettings}

            ","dataType":{"tokens":[{"value":"ParticleEmitterSettings","kind":"canonical"},{"value":"ParticleEmitterSettings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6S_a6rObaRyRIkcQcfK94","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Nw5qWrnK3XxShVCu5C_xp","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jXilzvKx7VQwuIsdo4JhS","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"59RAhqyk-5uGYQlqTjPLw","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_EBEk8VWeZnd1sduWqpTc","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

            Automatically set the specified property of all childs to the given value

            ","params":[{"identifier":"prop","optional":false,"description":"

            property name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

            property value

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

            recursively apply the value to child containers if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"PrG9YroLs5cmXTJrmlXKc","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"TUSMqBToQXA8aiU1nw6u5","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0hYdpnDUu3zGEZbdYy3Wh","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HCjodFqtqDzPwuB9sjtgc","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vKEWPMMcr4nPQYF1CTzJA","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

            Manually trigger the sort of all the childs in the container

            ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

            recursively sort all containers if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"a-IW69XXCQsJ4vrTdFS5s","name":"stopStream","brief":"

            Stop the emitter from generating new particles (used only if emitter is Stream)

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mw6WlN1PKarKIq18U0IAK","name":"streamParticles","brief":"","scope":"instance","type":"MethodDoc","description":"

            Launch particles from emitter constantly (e.g. for stream)

            ","params":[{"identifier":"duration","optional":true,"description":"

            time that the emitter releases particles in ms

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"S-dPKT34eZXSvpjHGofxr","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

            Swaps the position (z-index) of 2 children

            ","params":[{"identifier":"child","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

            Child to be added

            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"v1r4TgnENaLSKPVxuSu_m","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"krvQU0mAjyvC7Vhj6W6jN","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kHEHWXKbpTEp30UxFLSPs","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HuG2CUOq7hJ6UqLlirORu","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"I7FpZabPBF9rVIFF9REjO","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CErFtrR84XEBBQdmG2znq","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"m5uhXRpcp__LzcLAyFrI_","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this container.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this container bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hNkOtg2f3c1CNHZYcM3lB","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this renderable (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"38vy9FOTg1_ZNwvcvBVaT","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            container update function.
            \nautomatically called by the application update loop {@link Application}

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the Container is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"WYTETC48VYSiX6uMlZI1a","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"CCdI08SoA6avLxreZTbPL","name":"Path2D","brief":"","type":"ClassDoc","description":"

            a simplified path2d implementation, supporting only one path

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"fsi-MEldppFK-0inV7KiI","name":"arcResolution","brief":"","defaultValue":"5","scope":"instance","type":"PropertyDoc","description":"

            space between interpolated points for quadratic and bezier curve approx. in pixels.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3SeJB1cQBxi01WRrgV1lu","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the points defining the current path

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U2nepfcFR6orlBLe5adla","name":"arc","brief":"","scope":"instance","type":"MethodDoc","description":"

            adds an arc to the current path which is centered at (x, y) position with the given radius,\nstarting at startAngle and end...","params":[{"identifier":"x","optional":false,"description":"

            the horizontal coordinate of the arc's center.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the vertical coordinate of the arc's center.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

            the arc's radius. Must be positive.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startAngle","optional":false,"description":"

            the angle at which the arc starts in radians, measured from the positive x-axis.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endAngle","optional":false,"description":"

            the angle at which the arc ends in radians, measured from the positive x-axis.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"anticlockwise","optional":true,"default":"false","description":"

            an optional boolean value. If true, draws the arc counter-clockwise between the start and end angles.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"-5ds-SRVs5CuOMQ77Wv8a","name":"arcTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            adds a circular arc to the path with the given control points and radius, connected to the previous point by a straight li...","params":[{"identifier":"x1","optional":false,"description":"

            the x-axis coordinate of the first control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

            the y-axis coordinate of the first control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x2","optional":false,"description":"

            the x-axis coordinate of the second control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y2","optional":false,"description":"

            the y-axis coordinate of the second control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

            the arc's radius. Must be positive.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"NtGqx4DvfpGYzEMZRdGL4","name":"beginPath","brief":"

            begin a new path

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"emcA6RdLQt4YJXL-aUwHS","name":"bezierCurveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            Adds a cubic Bézier curve to the path.

            ","params":[{"identifier":"cp1X","optional":false,"description":"

            The x-coordinate of the first control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cp1Y","optional":false,"description":"

            The y-coordinate of the first control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cp2X","optional":false,"description":"

            The x-coordinate of the second control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cp2Y","optional":false,"description":"

            The y-coordinate of the second control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

            The x-coordinate of the end point of the curve.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            The y-coordinate of the end point of the curve.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_beuo5xl2mhdIgnbTbJWD","name":"closePath","brief":"","scope":"instance","type":"MethodDoc","description":"

            causes the point of the pen to move back to the start of the current path.\nIt tries to draw a straight line from the curre...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JqaNLXVTlzSyg4bNqufaX","name":"ellipse","brief":"","scope":"instance","type":"MethodDoc","description":"

            adds an elliptical arc to the path which is centered at (x, y) position with the radii radiusX and radiusY\nstarting at sta...","params":[{"identifier":"x","optional":false,"description":"

            the x-axis (horizontal) coordinate of the ellipse's center.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y-axis (vertical) coordinate of the ellipse's center.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusX","optional":false,"description":"

            the ellipse's major-axis radius. Must be non-negative.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusY","optional":false,"description":"

            the ellipse's minor-axis radius. Must be non-negative.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"rotation","optional":false,"description":"

            the rotation of the ellipse, expressed in radians.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startAngle","optional":false,"description":"

            the angle at which the ellipse starts, measured clockwise from the positive x-axis and expressed in radians.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endAngle","optional":false,"description":"

            the angle at which the ellipse ends, measured clockwise from the positive x-axis and expressed in radians.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"anticlockwise","optional":true,"default":"false","description":"

            an optional boolean value which, if true, draws the ellipse counterclockwise (anticlockwise).

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"kb98jlPYxP2CTkGusjUsi","name":"lineTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            connects the last point in the current path to the (x, y) coordinates with a straight line.

            ","params":[{"identifier":"x","optional":false,"description":"

            the x-axis coordinate of the line's end point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y-axis coordinate of the line's end point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"DDLrzW8CfIcXCs34uT5s_","name":"moveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            moves the starting point of the current path to the (x, y) coordinates.

            ","params":[{"identifier":"x","optional":false,"description":"

            the x-axis (horizontal) coordinate of the point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y-axis (vertical) coordinate of the point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4jceCxQY34dGqeq9YHfIn","name":"parseSVGPath","brief":"","scope":"instance","type":"MethodDoc","description":"

            Parses an SVG path string and adds the points to the current path.

            ","params":[{"identifier":"svgPath","optional":false,"description":"

            The SVG path string to parse.

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"W2Wub6usFK2BHAyD7rgbj","name":"quadraticCurveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            Adds a quadratic Bézier curve to the path.

            ","params":[{"identifier":"cpX","optional":false,"description":"

            The x-coordinate of the control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cpY","optional":false,"description":"

            The y-coordinate of the control point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

            The x-coordinate of the end point of the curve.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            The y-coordinate of the end point of the curve.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZMqi7oi3oJubtpVwVthC6","name":"rect","brief":"","scope":"instance","type":"MethodDoc","description":"

            creates a path for a rectangle at position (x, y) with a size that is determined by width and height.

            ","params":[{"identifier":"x","optional":false,"description":"

            the x-axis coordinate of the rectangle's starting point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y-axis coordinate of the rectangle's starting point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

            the rectangle's width. Positive values are to the right, and negative to the left.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            the rectangle's height. Positive values are down, and negative are up.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Jto73Hxpcgug5gWjyI2Av","name":"roundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

            adds an rounded rectangle to the current path.

            ","params":[{"identifier":"x","optional":false,"description":"

            the x-axis coordinate of the rectangle's starting point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y-axis coordinate of the rectangle's starting point.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

            the rectangle's width. Positive values are to the right, and negative to the left.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            the rectangle's height. Positive values are down, and negative are up.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

            the arc's radius to draw the borders. Must be positive.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rBDXPlFzBnDiUsMXtbsw4","name":"triangulatePath","brief":"","scope":"instance","type":"MethodDoc","description":"

            triangulate the shape defined by this path into an array of triangles

            ","params":[],"returns":[{"description":"

            an array of vertices representing the triangulated path or shape

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]}]},{"id":"MnSJjOwio0D4gYS0F2Sff","name":"Point","brief":"","type":"ClassDoc","description":"

            represents a point in a 2d space

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"u8RcpoXOrUDBCPqLjywdZ","name":"type","brief":"","defaultValue":"\"Point\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vAKIMevcG-7fjNP0fZZiI","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            the position of the point on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DbEDx1mI1QxR0IezcwZEW","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            the position of the point on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wlZn6lhN0RC_M0OPyL37m","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this Point

            ","params":[],"returns":[{"description":"

            new Point

            ","dataType":{"tokens":[{"value":"Point","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WOrNwOR111uik6q2hwkRN","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            return true if this point is equal to the given point

            ","params":[{"identifier":"x","optional":false,"variadic":true,"dataType":{"tokens":[{"value":"number | Point | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Point","kind":"link"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"uJckGJOIVKLBV0QdIQZZx","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the Point x and y properties to the given values

            ","params":[{"identifier":"x","optional":false,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Point","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"WH9MhKord_MzJyHL4nyyZ","name":"Pointer","brief":"","type":"ClassDoc","description":"

            a pointer object, representing a single finger on a touch enabled device.

            ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"j0Myi8XTwO-dBZsR7UV9m","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PKMlazcTW81TYYsVOiD1I","name":"button","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button"],"type":"PropertyDoc","description":"

            the button property indicates which button was pressed on the mouse to trigger the event.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ekUXxoia-AA3nNFYAYcvL","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

            return the center position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mWOFa5xD1KPouJTdSauHx","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the x axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JM2UWIIVQTFgZyoCeM7nV","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the y axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pQOFzYHBD6TjgGVRXAYgY","name":"clientX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX"],"type":"PropertyDoc","description":"

            the horizontal coordinate within the application's client area at which the event occurred

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wG0KQ-_Me-AIl1AwR1p4E","name":"clientY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY"],"type":"PropertyDoc","description":"

            the vertical coordinate within the application's client area at which the event occurred

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wzhEDEufgvWkErHEWDp7b","name":"deltaMode","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode"],"type":"PropertyDoc","description":"

            an unsigned long representing the unit of the delta values scroll amount

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"14yRdUkaE2Ex52dLQtvEX","name":"deltaX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaX"],"type":"PropertyDoc","description":"

            a double representing the horizontal scroll amount in the Wheel Event deltaMode unit.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a2QaMjz8QBrOcvQ-OBdcl","name":"deltaY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaY"],"type":"PropertyDoc","description":"

            a double representing the vertical scroll amount in the Wheel Event deltaMode unit.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l_7hSe5m29TFILalvelSi","name":"deltaZ","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaZ"],"type":"PropertyDoc","description":"

            a double representing the scroll amount in the z-axis, in the Wheel Event deltaMode unit.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5f9QdJcAVRg0yFx72O30v","name":"event","brief":"","access":"public","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent","https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent","https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent"],"type":"PropertyDoc","description":"

            the originating Event Object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pqR0FgxGkZhzkIZnW2Ecj","name":"gameLocalX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event X coordinate relative to the holding container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dSdnqipkhK0-FVvzPnH3y","name":"gameLocalY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event Y coordinate relative to the holding container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9yxZTpLDen_BF_vHTS56_","name":"gameScreenX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event X coordinate relative to the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u6uFy0EUQYW8JouwR5Kx7","name":"gameScreenY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event Y coordinate relative to the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GrSHpInzyQro-ZMjO0lgd","name":"gameWorldX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event X coordinate relative to the map

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b4fFsipqiCcUbF46WxUV0","name":"gameWorldY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event Y coordinate relative to the map

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mGyFDxSKM_Jwy0HMEb8CX","name":"gameX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event normalized X coordinate within the game canvas itself
            \n

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vY1z_0TfxyKgaEXfCFdKh","name":"gameY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event normalized Y coordinate within the game canvas itself
            \n

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CdTLFZpAzjnbaKZx8YbTD","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V9Vx249Vwpq1HRfnwy4y2","name":"isNormalized","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if not originally a pointer event

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U5aHKR_3tmiEslaDg8gKF","name":"isPrimary","brief":"","access":"public","defaultValue":"false","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary"],"type":"PropertyDoc","description":"

            indicates whether or not the pointer device that created the event is the primary pointer.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9yitGEyRdtuyk3YcwRCN8","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7fwdkV9FYBQk2YE1M9I8s","name":"LEFT","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            constant for left button

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pvFjXiaeq_sYtmxEtHmjg","name":"locked","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if the pointer is currently locked

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-oZ9poLHjdzL658Jsbn0p","name":"MIDDLE","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

            constant for middle button

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dSzjFTUZmOUFjGEy4T3fS","name":"movementX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX"],"type":"PropertyDoc","description":"

            the difference in the X coordinate of the pointer since the previous move event

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wF4s6cpbzpO1fq0Kcg7eZ","name":"movementY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementY"],"type":"PropertyDoc","description":"

            the difference in the Y coordinate of the pointer since the previous move event

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RpAnw4n8f1Ngf396lJYSh","name":"pageX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX"],"type":"PropertyDoc","description":"

            the horizontal coordinate at which the event occurred, relative to the left edge of the entire document.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xPnY4ZMFh8nO-gAMW7U59","name":"pageY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY"],"type":"PropertyDoc","description":"

            the vertical coordinate at which the event occurred, relative to the left edge of the entire document.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UA6_tl9cJOn09tC1-REpI","name":"pointerId","brief":"","access":"public","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerId"],"type":"PropertyDoc","description":"

            The unique identifier of the contact for a touch, mouse or pen

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-N7l6gGUCFLhADE7ksJRL","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FNHO3rtdbePCno2i5c2vo","name":"RIGHT","brief":"","access":"public","defaultValue":"2","scope":"instance","type":"PropertyDoc","description":"

            constant for right button

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tCx6CYdc26qt-5czE0Ao4","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tKjoLf2Ece3HYnroDbSWW","name":"type","brief":"","access":"public","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/Event/type"],"type":"PropertyDoc","description":"

            a string containing the event's type.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"77vAOUdtJE1GnTxWCdO5p","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1Vi4Buxs3uo0OkH1GM7ZK","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

            x position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zozh7R0W48FZkjRwMMl53","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

            y position of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cPnOOkfLrU667pcURflNg","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given vertices to the bounds definition.

            ","params":[{"identifier":"vertices","optional":false,"description":"

            an array of Vector2d or Point

            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

            either to reset the bounds before adding the new vertices

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"CE_EyBPrFFrD54Q6NUISH","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given bounds to the bounds definition.

            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

            either to reset the bounds before adding the new vertices

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"DUVosB0jwHC6YnnAvFwNO","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given quad coordinates to this bound definition, multiplied by the given matrix

            ","params":[{"identifier":"x0","optional":false,"description":"

            left X coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

            top Y coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

            right X coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

            bottom y coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

            an optional transform to apply to the given frame coordinates

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1BrikhR2icfd7N5N4jE3w","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given point to the bounds definition.

            ","params":[{"identifier":"point","optional":false,"description":"

            the vector or point to be added to the bounds

            ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

            an optional transform to apply to the given point (if the given point is a Vector2d)

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"FbAAOq6v-3NXp6Lv9CAHB","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the bounds position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this bounds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this bounds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"toG-S038-63BSKx31uTh4","name":"clear","brief":"

            reset the bound

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cL9fJb0sSu-M_1BLdgzyG","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this bounds

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ixd9YOr7IR3U9DphovIGF","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the bounds contains the given point.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to check

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the bounds contain the point, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rG4AL3jVEg5b561Z0DFrS","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this bounds are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"02nck1qYzAEi1Ej4lQPbE","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the two bounds intersect.

            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            True if the bounds overlap, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"AVgVdh9Izp4TgRYJ1MMwv","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

            sets the bounds to the given min and max value

            ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"w0Q4OrSQz2LdeYMRXijhl","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the bounds to the given x, y position.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"xY6tEh_rK9n74LaN0OFfI","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this bounds.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this bounds.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1n4NaUNnOTla2jAW14gud","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Translates the bounds by the given point

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"cMwvbxIDYZaZ7jHdeuCP_","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            Updates bounds using the given vertices

            ","params":[{"identifier":"vertices","optional":false,"description":"

            an array of Vector2d or Point

            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]},{"id":"Dcmq6kNDyafjNIfbRURJz","name":"set","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            initialize the Pointer object using the given Event Object

            ","params":[{"identifier":"event","optional":false,"description":"

            the original Event object

            ","dataType":{"tokens":[{"value":"Event","kind":"canonical"},{"value":"Event","kind":"canonical"}],"template":"%1"}},{"identifier":"pageX","optional":true,"default":"0","description":"

            the horizontal coordinate at which the event occurred, relative to the left edge of the entire document

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pageY","optional":true,"default":"0","description":"

            the vertical coordinate at which the event occurred, relative to the left edge of the entire document

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"clientX","optional":true,"default":"0","description":"

            the horizontal coordinate within the application's client area at which the event occurred

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"clientY","optional":true,"default":"0","description":"

            the vertical coordinate within the application's client area at which the event occurred

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pointerId","optional":true,"default":"1","description":"

            the Pointer, Touch or Mouse event Id (1)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"DgzpZKMatrYb64wgQGGR0","name":"Polygon","brief":"","type":"ClassDoc","description":"

            a polygon Object.
            \nPlease do note that melonJS implements a simple Axis-Aligned Boxes collision algorithm, which requir...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"CS2aLXYAwfzUmFJdB0o7T","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bMInOjOuW7w6mk9mS73Z6","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m02BXTXVGSizI-E2WqULd","name":"type","brief":"","defaultValue":"\"Polygon\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r8wsQOPujZ2RgFzr1ZajT","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this Polygon

            ","params":[],"returns":[{"description":"

            new Polygon

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wSODW0nqe0s5XTQMi0mC-","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

            origin point of the Polygon

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

            origin point of the Polygon

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","optional":false,"description":"

            array of vector defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[],"extends":[],"implements":[]},{"id":"1l7kifc3Sim9r1rf5z_oq","name":"contains","brief":"","examples":[{"caption":"","code":"if (polygon.contains(10, 10)) {\n // do something\n}\n// or\nif (polygon.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the polygon contains the given point.
            \n(Note: it is highly recommended to first do a hit test on the c...","params":[{"identifier":"x","optional":false,"variadic":true,"description":"

            x coordinate or a vector point to check

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the polygon contain the point, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"VYuqPHIiCVqU8pVt-EXR8","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jwCq1iHNLVg4HzcXF3te_","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"-Y6RoUByXuWeP_dnpqk5c","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"J49i_zTsLv1HrSBW7O5YT","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SM4wMukeOK2LdAvW9f25O","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GWDk93WjHC2dG8EwRYziN","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Polygon by the given scalar.

            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QCsAbMq33t2lyIIB4pthT","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Polygon by the given vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IZ5-c_F8l1-TIhnzjn0Hj","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the Polygon

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Polygon

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Polygon

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2> | %3<%4>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QvDtDTlmwor4IfuPG91e_","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"c_8vjnIVUGeDocxTT83FF","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Zvus2A4coYHbzhrldIXi_","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sA7ZT-M3olmetc3G8YB4B","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3tt1Z6Z7Xk_fcEbQLELMl","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the given transformation matrix to this Polygon

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mJtOnJqDe58Dle7MzNnC-","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w1XjKDe-yYw_5TgZLJ2X7","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"MhpA2eVSvvcbf8VCm6eyP","name":"PrimitiveCompositor","type":"ClassDoc","description":"

            A WebGL Compositor object. This class handles all of the WebGL state
            \nPushes texture regions or shape geometry into Web...","params":[],"returns":[],"extends":["Compositor"],"implements":[],"members":[{"id":"rNT4tx6zSXjfxaU5rM8ib","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            an array of vertex attribute properties

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"34RmXQoJ6LHqFrixJ55PD","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the shader currently used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"up44LCm3FnyGST8OgkeDy","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the default shader created by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NhE7XdNBxQYgK6HmFqyX9","name":"mode","brief":"","defaultValue":"gl.TRIANGLES","scope":"instance","type":"PropertyDoc","description":"

            primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cmlRaIkcbhSq1E0lRexbX","name":"vertexByteSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            the size of a single vertex in bytes\n(will automatically be calculated as attributes definitions are added)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NYxHv9I6y4MdtUDpGmCJY","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            the vertex data buffer used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vLgRd7SEyuAgrLa2N_Oug","name":"vertexSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            the size of a single vertex in floats\n(will automatically be calculated as attributes definitions are added)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HHjpJoX2N2u6f_uoVHtzX","name":"addAttribute","brief":"","scope":"instance","type":"MethodDoc","description":"

            add vertex attribute property definition to the compositor

            ","params":[{"identifier":"name","optional":false,"description":"

            name of the attribute in the vertex shader

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":false,"description":"

            number of components per vertex attribute. Must be 1, 2, 3, or 4.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"type","optional":false,"description":"

            data type of each component in the array

            ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"normalized","optional":false,"description":"

            whether integer data values should be normalized into a certain range when being cast to a float

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"offset","optional":false,"description":"

            offset in bytes of the first component in the vertex attribute array

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"RPNlAgpDEsMK3LfOPPjB6","name":"bind","brief":"

            called by the WebGL renderer when a compositor become the current one

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t1JjWHSgcONx8HutrHYWg","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"VDMVdUonGJriqUD8_PDAj","name":"drawVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            Draw an array of vertices

            ","params":[{"identifier":"mode","optional":false,"description":"

            primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"verts","optional":false,"description":"

            an array of vertices

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2>"}},{"identifier":"vertexCount","optional":true,"default":"verts.length","description":"

            amount of points defined in the points array

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"INO-LFLlAe_E3zb1FMX9s","name":"flush","brief":"","scope":"instance","type":"MethodDoc","description":"

            Flush batched vertex data to the GPU

            ","params":[{"identifier":"mode","optional":true,"default":"gl.TRIANGLES","description":"

            the GL drawing mode

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4RzI9-Ox0I0Duj7sj-ybO","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

            set/change the current projection matrix

            ","params":[{"identifier":"matrix","optional":false,"description":"

            the new projection matrix

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_1-D3EZHusTahIUKYbQ1e","name":"useShader","brief":"","scope":"instance","see":["GLShader"],"type":"MethodDoc","description":"

            Select the shader to use for compositing

            ","params":[{"identifier":"shader","optional":false,"description":"

            a reference to a GLShader instance

            ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"m1uCuNfxj-Z3KJSRf0uB-","name":"QuadCompositor","type":"ClassDoc","description":"

            A WebGL Compositor object. This class handles all of the WebGL state
            \nPushes texture regions or shape geometry into Web...","params":[],"returns":[],"extends":["Compositor"],"implements":[],"members":[{"id":"75BPaIVEi5jVAIstSl6D1","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            an array of vertex attribute properties

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8jf_fjLjGCvUOqAp15_Mo","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the shader currently used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"shl5j5mjdtH87KXnqdl3h","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the default shader created by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DJcEE-S7OE5VN8z-HwSUC","name":"mode","brief":"","defaultValue":"gl.TRIANGLES","scope":"instance","type":"PropertyDoc","description":"

            primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D1qCyITixEy76ql1G_8ze","name":"vertexByteSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            the size of a single vertex in bytes\n(will automatically be calculated as attributes definitions are added)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G1oQlsdXSfy6V_kVCRqT9","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            the vertex data buffer used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u-qzJkq4DWibByZP8v_bU","name":"vertexSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            the size of a single vertex in floats\n(will automatically be calculated as attributes definitions are added)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7ewjJRxx5gjrwvtJpdQhk","name":"addAttribute","brief":"","scope":"instance","type":"MethodDoc","description":"

            add vertex attribute property definition to the compositor

            ","params":[{"identifier":"name","optional":false,"description":"

            name of the attribute in the vertex shader

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":false,"description":"

            number of components per vertex attribute. Must be 1, 2, 3, or 4.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"type","optional":false,"description":"

            data type of each component in the array

            ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"normalized","optional":false,"description":"

            whether integer data values should be normalized into a certain range when being cast to a float

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"offset","optional":false,"description":"

            offset in bytes of the first component in the vertex attribute array

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QtjqVKUnaEYH4BLCs4OS8","name":"addQuad","brief":"","scope":"instance","type":"MethodDoc","description":"

            Add a textured quad

            ","params":[{"identifier":"texture","optional":false,"description":"

            Source texture atlas

            ","dataType":{"tokens":[{"value":"TextureAtlas","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

            Destination x-coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            Destination y-coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            Destination width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            Destination height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"u0","optional":false,"description":"

            Texture UV (u0) value.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v0","optional":false,"description":"

            Texture UV (v0) value.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"u1","optional":false,"description":"

            Texture UV (u1) value.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v1","optional":false,"description":"

            Texture UV (v1) value.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tint","optional":false,"description":"

            tint color to be applied to the texture in UINT32 (argb) format

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"reupload","optional":false,"default":"false","description":"

            Force the texture to be reuploaded even if already bound

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"yNNGDv36SFJNf1EAnXIVT","name":"bind","brief":"

            called by the WebGL renderer when a compositor become the current one

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_jy6_ZY369-Wd3Ylh1pkH","name":"bindTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

            assign the given WebGL texture to the current batch

            ","params":[{"identifier":"texture","optional":false,"description":"

            a WebGL texture

            ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}},{"identifier":"unit","optional":false,"description":"

            Texture unit to which the given texture is bound

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ts9kZm-f_iy1o-yomekPV","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"Ck6eM7Qa5bbGdFPgufV1C","name":"createTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

            Create a WebGL texture from an image

            ","params":[{"identifier":"unit","optional":false,"description":"

            Destination texture unit

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pixels","optional":true,"default":"null","description":"

            Source image

            ","dataType":{"tokens":[{"value":"Image | HTMLCanvasElement | ImageData | Array | Array","kind":"canonical"},{"value":"Image","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageData","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Uint8Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1 | %2 | %3 | %4<%5> | %6<%7>"}},{"identifier":"filter","optional":false,"description":"

            gl.LINEAR or gl.NEAREST

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"repeat","optional":true,"default":"\"no-repeat\"","description":"

            Image repeat behavior (see {@link ImageLayer#repeat})

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"w","optional":true,"default":"pixels.width","description":"

            Source image width (Only use with UInt8Array[] or Float32Array[] source image)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":true,"default":"pixels.height","description":"

            Source image height (Only use with UInt8Array[] or Float32Array[] source image)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"premultipliedAlpha","optional":true,"default":"true","description":"

            Multiplies the alpha channel into the other color channels

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"mipmap","optional":true,"default":"true","description":"

            Whether mipmap levels should be generated for this texture

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            a WebGL texture

            ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AvvPM6EipyRMWDdHhf3Wp","name":"deleteTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

            delete the given WebGL texture

            ","params":[{"identifier":"texture","optional":true,"description":"

            a WebGL texture to delete

            ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"nahx61uj3icNaPepjEGsf","name":"flush","brief":"","scope":"instance","type":"MethodDoc","description":"

            Flush batched vertex data to the GPU

            ","params":[{"identifier":"mode","optional":true,"default":"gl.TRIANGLES","description":"

            the GL drawing mode

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"AO41RoXJBeD6Zsyj8PJ6G","name":"getTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the WebGL texture associated to the given texture unit

            ","params":[{"identifier":"unit","optional":false,"description":"

            Texture unit to which a texture is bound

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            texture a WebGL texture

            ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YXa7DP4yZqGpCumTATexl","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

            set/change the current projection matrix

            ","params":[{"identifier":"matrix","optional":false,"description":"

            the new projection matrix

            ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LxkmnJyedYS65tpEN5BJG","name":"unbindTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

            unbind the given WebGL texture, forcing it to be reuploaded

            ","params":[{"identifier":"texture","optional":true,"description":"

            a WebGL texture

            ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}},{"identifier":"unit","optional":true,"description":"

            a WebGL texture

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            unit the unit number that was associated with the given texture

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DwP1Dn4UqLvDhjG20rVwO","name":"useShader","brief":"","scope":"instance","see":["GLShader"],"type":"MethodDoc","description":"

            Select the shader to use for compositing

            ","params":[{"identifier":"shader","optional":false,"description":"

            a reference to a GLShader instance

            ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"Et-IpH8J4V5dM4CY0SMLI","name":"QuadTree","brief":"","see":["game.world.broadphase"],"type":"ClassDoc","description":"

            a QuadTree implementation in JavaScript, a 2d spatial subdivision algorithm.

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"xT6TOkA4WETyccbIH-Zr9","name":"clear","brief":"","scope":"instance","type":"MethodDoc","description":"

            clear the quadtree

            ","params":[{"identifier":"bounds","optional":true,"default":"this.bounds","description":"

            the bounds to be cleared

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"v4SzR_Qp8E8_YDEw2FvG6","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"world","optional":false,"description":"

            the physic world this QuadTree belongs to

            ","dataType":{"tokens":[{"value":"World","kind":"canonical"},{"value":"World","kind":"link"}],"template":"%1"}},{"identifier":"bounds","optional":false,"description":"

            bounds of the node

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"max_objects","optional":true,"default":"4","description":"

            max objects a node can hold before splitting into 4 subnodes

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max_levels","optional":true,"default":"4","description":"

            total max levels inside root Quadtree

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"level","optional":true,"default":"0","description":"

            deepth level, required for subnodes

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"sAKr_Lu8ZwR1BTtMULpmg","name":"hasChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

            return true if the node has any children

            ","params":[],"returns":[{"description":"

            true if the node has any children

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ZyTm8c-8gogNCvtFx6cGY","name":"insert","brief":"","scope":"instance","type":"MethodDoc","description":"

            Insert the given object into the node. If the node\nexceeds the capacity, it will split and add all\nobjects to their corres...","params":[{"identifier":"item","optional":false,"description":"

            object to be added

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"hdgvCPMhfbsQ4VSxk3_u6","name":"insertContainer","brief":"","scope":"instance","type":"MethodDoc","description":"

            Insert the given object container into the node.

            ","params":[{"identifier":"container","optional":false,"description":"

            group of objects to be added

            ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"88dps2VR8qZYufFIvWhPi","name":"isPrunable","brief":"","scope":"instance","type":"MethodDoc","description":"

            return true if the node is prunable

            ","params":[],"returns":[{"description":"

            true if the node is prunable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"LJb5JuFoHWGhk7sc_jjzo","name":"remove","brief":"","scope":"instance","type":"MethodDoc","description":"

            Remove the given item from the quadtree.\n(this function won't recalculate the impacted node)

            ","params":[{"identifier":"item","optional":false,"description":"

            object to be removed

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            true if the item was found and removed.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"yrvrhYbbVMGJzJgJr8daj","name":"retrieve","brief":"","scope":"instance","type":"MethodDoc","description":"

            Return all objects that could collide with the given object

            ","params":[{"identifier":"item","optional":false,"description":"

            object to be checked against

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"fn","optional":true,"description":"

            a sorting function for the returned array

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            array with all detected objects

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"3V28lfzPGSA-lDxHkrEs9","name":"Rect","brief":"","type":"ClassDoc","description":"

            a rectangle Object

            ","params":[],"returns":[],"extends":["Polygon"],"implements":[],"members":[{"id":"EtDzONxs8MLcwhvvFcbQ3","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JBfAfPO0sBJGuOw8TXOrX","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nOFeoYbHVi33AuiesESE5","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9wCHxLbErT68BIqyBWu7a","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QntttUYXEl3mGGYSMs9TR","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nBtDSjbFijwLp-IZpZCmK","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wJEqMefHKRST51gfzarGz","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n7WbSjMCJ87FmXmAHWy4j","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ofywjq_0IbmrxekD5Bduw","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DpijU81RfaSt1f-XVHSkI","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TZ-qAXC3X0fsfYewUr2n4","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JvwbOURQyygpfce1ZtHGD","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BYmsnhNfRv22YmjyrIaJD","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QX0IQSQ7oc_3pMfzkg5Me","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LYf7zEX0TOvpE5SB0TaaV","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"4jG6_hCpUJVVkhA45ahqT","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"f17mTix_LLp5GiEQCx9sE","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zwhyN29t0aHPhgHpl9uDs","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0bl7nw7tq03Axm_N6PyIu","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"-4Db5PRyKvANpVGQ1W--j","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zbsflfRNtjDhAn9B4Rjeh","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"t7tIK5dQDufUQB3pDEOqx","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"UHqqC_-i1i7TAYgLHENyJ","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zlc6KYAVyhory6QiBaU18","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lHvhmAfMNAVIjTu_HIdKB","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wP47lrOLI390uDeRRTzCy","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the rectangle

            ","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i-k-qkaSyuFJrMGAOz2ch","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Polygon by the given vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bZrzenne6BUQ64OK_N069","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7wBRVsnl7wuWt5YgoNOMW","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uLbYJIq4yym5-WaTIyOFz","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wuXie2SVzXl2fC6RhIpo3","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uBrGLRG4s46PMXYv4KHBv","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E_-u0gqTjPZ_pVHK_gSYd","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3AHWlNmAoFaOEnd2L159C","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the given transformation matrix to this Polygon

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"guJgNWxbfEUiOKL6inX3P","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"968_NpYFmKhIwYNnf_0De","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NN6RTdHajvbTMR7h4pWKJ","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"De0fT_WHf1v_S9dyfnJB0","name":"Renderable","brief":"","type":"ClassDoc","description":"

            A base class for renderable objects.

            ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"AczKrkSCp2hn94mYTYATq","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IhOkiZSK4kkO3UgmgRewi","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yWEBH_37b5ALTQTSuCZbE","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"totmIl0cDRqH_D4pATkn0","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"86nRsk_p2Q6Qkb2bJLTze","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dxBHr3CPgm5uOZFtD-fYi","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GGwXEuTMIaxue43ZATusq","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E8HjUdGQTFz64vhb1d0tH","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FNL25q6KE9dhwUzPSs4y0","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mskb-onTjxlfB6e4PziQC","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_kKjj5Xi1wjKJUBgyMgv9","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vX-QLGT3jd0nzE9dkXLJ_","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FSa4yBbGOYoRp5xg76V3h","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jgyPgT6fiRvwbdLivl0qU","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D0Mmcy143GwDjMrHSBfjN","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q6T-7lK7yYAS-2yl6jT1x","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ol2Rwy4bp93irFtkeG7p3","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mrck-vge9QK0m6IH063kq","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nvuo0DIP4XnrcITaQ9jEA","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D1TvR26eNsLQA598dgsU8","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fjUjIv7AIWLQemEwBATSW","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YQ-fNvOEiCWNL1fSTq1xr","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SoROTIFDb4blSmOSdVrT3","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o_mgIEiF1QiVTcVKilQ2J","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TC7NRTdRyC7-eHtjHapqM","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xS5sontMxSWKyn2rhc5me","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GbPTU8EOneIdpTzns40o6","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uHl0GooktFhzXSETfnMoo","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JAUjUEpXytfithkbKNLLG","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7ROj7WazQFx-54m1jlB3t","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gcby_hL2y2n5XJz98yX_V","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ebkn3hbQ6LBohOGAE-Ro0","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_ghbmHuu7kSGqgKGiZETs","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"az1TEKq0Yapkh70VSBXP7","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UdPU_PlviUhVlblhBomyH","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o2BCRiRoO8A0P035IGIGJ","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YKmwkVYqWeD8Rgzh7bP-7","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Zr2oh0LhA9a0jo2OgbC2A","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"q3K4iivLdMR6PBfsd-QTG","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5EjVBNH6tg6_c9rwduAXO","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            position of the renderable object (accessible through inherited pos.x property)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the renderable object (accessible through inherited pos.y property)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

            object width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            object height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Wa4DZPKzvfg4fyFqdoHUh","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"AKROQkTNSnp1fhHx3Kh4S","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GrTFi1eldW5sDFkGNeeic","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wPICCHh6m0BzyJeyAmYds","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"K1NEmzFzHjZLjPYvM4ec7","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Lyw-qgqx5cCJik4CH-Zjb","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L4UOYbVHo6L_esVVBG5uQ","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SlJ4p3nbGvr46xNGU4Tco","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nBYNmZ3Leu8hR7AMvKmh9","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1wnMy_H-tdB0_IFa7Fv0r","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"zaN-mWw3uOCJHZGcXWSKY","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SvWpi3BeChIpk1NKsVSvW","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"yM3C4jYnoRE--7vnJkpQY","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"nN7H2TpdBal03xGFZdJkz","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sk-t5FYQt81AG0zk39CJV","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"6VQYIVoiZnhco9rpbQfnT","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xbAldr8kR26cOaRYlIxua","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"nxSo2mWScqN8TjIRFMQUK","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"0Jq6hyBp7CQc1smmS-lHm","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"XwqJNAt8sUrfVn1i2DkNU","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6rucE7lm5D0NwtZciekYt","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fsij9ZmGdLBvAHgw-LmNt","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zLItLxRxptxlSue06h8IN","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zOt2UWE6qTNYv4NGXYMhX","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZdixSWVVSlzbng0xEGUpf","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"tXJ0HqEBfiC8pfJTJk30i","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"j8Gk6BSOZK8pQTKMKhduO","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"a3TF9NHQSAACJqMMcvLE-","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"65vxmqQlWJvFqcFYw8mM7","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bSjgJ3K8HORltiuWZR24B","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Jh3XVlkxkDk6Z1U-utvIA","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"J1kQzTfc-MVPK7_-4YG9D","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_Ak7K1GV7Ou4anepXFeB4","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4ruRPGTyKQMyaSS6CYLXI","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AGxiui7L6aFieN9lK4aAe","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"txLiDsIZuAp2d3jt1ZrMf","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CNqeOHlinHjo4dnJ7nfEm","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"yg0J7Z3z9eFT18C9t3eky","name":"Renderer","brief":"","type":"ClassDoc","description":"

            a base renderer object

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"UfCHIuNqzpmwNwnk0nzmZ","name":"getHeight","brief":"","access":"public","deprecated":"since 15.12.0","see":["height"],"type":"ClassDoc","description":"

            return the height of the system Canvas

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"X4pIxyIoaDMJZdIvaboQj","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"yAKryoq-q7YLwV8PUdCXp","name":"getWidth","brief":"","access":"public","deprecated":"since 15.12.0","see":["width"],"type":"ClassDoc","description":"

            return the width of the system Canvas

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"crWuklVCApxvQoOaQCQId","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"VPUDU24ZRKsdBLaR5kxmy","name":"Texture","brief":"","access":"public","deprecated":"since 10.4.0","see":["TextureAtlas"],"type":"ClassDoc","description":"

            Alias of {@link TextureAtlas}

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"DL67XzDiX5w20E9Falcon","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"Rx-CENHjafhX09MXknIRw","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

            the default method to sort object ("sorting", "z-buffer")

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5OrfP7gLGoIP087rsHNNY","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the requested video size ratio

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rvfiDgOlp46--wnspceDb","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            return the height of the canvas which this renderer draws to

            ","params":[],"returns":[{"description":"

            height of the system Canvas

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OHIeqAWPF-zSEu1DH9FWf","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            true if the current rendering context is valid

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P9lJBwPNJFAiQlfTpemac","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The Path2D instance used by the renderer to draw primitives

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TLOS8qO5O6dyYlQaS_7d4","name":"scaleRatio","brief":"","defaultValue":"<1,1>","scope":"instance","type":"PropertyDoc","description":"

            the scaling ratio to be applied to the main canvas

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gg72HGRA0aBjvLzGGV4ut","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The given constructor options

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_lI_v6ZR0RyzXoknfaNub","name":"type","brief":"","defaultValue":"\"Generic\"","scope":"instance","type":"PropertyDoc","description":"

            The renderer type : Canvas, WebGL, etc...\n(override this property with a specific value when implementing a custom rendere...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8n_va2S2UrGXnafAKreBZ","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            return the width of the canvas which this renderer draws to

            ","params":[],"returns":[{"description":"

            width of the system Canvas

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QYQPFAopJYHkwlYhI6D3A","name":"clear","brief":"

            prepare the framebuffer for drawing a new frame

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9w0QX8h8bmC5P3F4uqyV3","name":"clearMask","brief":"","scope":"instance","see":["Renderer#setMask"],"type":"MethodDoc","description":"

            disable (remove) the rendering mask set through setMask.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qzAataY0d10hJFjigQmm_","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

            clear the rendering tint set through setTint.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9lRHwCoBDa3nZLuASKJOP","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"options","optional":true,"description":"

            optional parameters for the renderer

            ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"s2E9d6JBrLC2NrOO5NKOL","name":"fill","brief":"","scope":"instance","type":"MethodDoc","description":"

            fill the given shape

            ","params":[{"identifier":"shape","optional":false,"description":"

            a shape object to fill

            ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[],"extends":[],"implements":[]},{"id":"eJc2917qd9grixIjxuR4H","name":"flush","brief":"

            render the main framebuffer on screen

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jNHr-Wbej9F2ra3QTs6Br","name":"getBlendMode","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the current blend mode for this renderer

            ","params":[],"returns":[{"description":"

            blend mode

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"-wZqqG-UWHAHu2F5h2yps","name":"getCanvas","brief":"","scope":"instance","type":"MethodDoc","description":"

            return a reference to the canvas which this renderer draws to

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wm2jfbovK1VAW6LveFbwr","name":"getColor","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the current fill & stroke style color.

            ","params":[],"returns":[{"description":"

            current global color

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Jqb3LqnPClbXUq4-AOtwB","name":"getContext","brief":"","scope":"instance","type":"MethodDoc","description":"

            return a reference to this renderer canvas corresponding Context

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D | WebGLRenderingContext","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"El8PLLFvUkryJ7bOTFzis","name":"getContext2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the 2D Context object of the given Canvas
            \nAlso configures anti-aliasing and blend modes based on constructor o...","params":[{"identifier":"canvas","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"true","description":"

            use false to disable transparency

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XarZcz40Tl7rY2jDJuvRI","name":"getScreenCanvas","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getCanvas();"],"type":"MethodDoc","description":"

            return a reference to the screen canvas

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BD8HbLQVBS4Z-CHXhNPq8","name":"getScreenContext","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getContext();"],"type":"MethodDoc","description":"

            return a reference to the screen canvas corresponding 2d Context
            \n(will return buffered context if double buffering is ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bVjylEgn4Iy4nkrpMpNFW","name":"globalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the current global alpha

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cXV4gEjcUdqoY9R4T4Rto","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if the given rect or bounds overlaps with the renderer screen coordinates

            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Rect | Bounds","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Ns8f9DErqWFsLXE2vmcn1","name":"reset","brief":"

            Reset context state

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2wMSsJYP4aGOHB1iKK0vy","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resizes the system canvas

            ","params":[{"identifier":"width","optional":false,"description":"

            new width of the canvas

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            new height of the canvas

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"pGx70UeY-7shcutdreHFU","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

            enable/disable image smoothing (scaling interpolation) for the given context

            ","params":[{"identifier":"context","optional":false,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":true,"default":"false","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Z-T3x3pEUasMILb4QJkGT","name":"setMask","brief":"","scope":"instance","type":"MethodDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[{"identifier":"mask","optional":true,"description":"

            the shape defining the mask to be applied

            ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"invert","optional":true,"default":"false","description":"

            either the given shape should define what is visible (default) or the opposite

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"TUQW4J5O55PTlNMsJR_EF","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

            set/change the current projection matrix (WebGL only)

            ","params":[{"identifier":"matrix","optional":false,"dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"c_YxkjC5RcuTIFAx9stZe","name":"setTint","brief":"","scope":"instance","type":"MethodDoc","description":"

            set a coloring tint for sprite based renderables

            ","params":[{"identifier":"tint","optional":false,"description":"

            the tint color

            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":true,"description":"

            an alpha value to be applied to the tint

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"G1k8DUktlTJ5rEpB2tU2O","name":"stroke","brief":"","scope":"instance","type":"MethodDoc","description":"

            stroke the given shape

            ","params":[{"identifier":"shape","optional":false,"description":"

            a shape object to stroke

            ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"fill","optional":true,"default":"false","description":"

            fill the shape with the current color if true

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"80Pg9NiUbg4ZIfPngMNwS","name":"tint","brief":"","scope":"instance","type":"MethodDoc","description":"

            tint the given image or canvas using the given color

            ","params":[{"identifier":"src","optional":false,"description":"

            the source image to be tinted

            ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2 | %3"}},{"identifier":"color","optional":false,"description":"

            the color that will be used to tint the image

            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"mode","optional":true,"default":"\"multiply\"","description":"

            the composition mode used to tint the image

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            a new canvas element representing the tinted image

            ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"9IvQ-4Km3wdGzLuVpQGtV","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderer.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

            creates a Blob object representing the last rendered frame

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning a Blob object representing the last rendered frame

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0HQ-yr3YSMI3iUI39iTEO","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

            returns a data URL containing a representation of the last frame rendered

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning a string containing the requested data URL.

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yWDSZM2rZ412bSh7y5GQR","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderer.transferToImageBitmap().then((image) => console.log(image));"}],"scope":"instance","type":"MethodDoc","description":"

            creates an ImageBitmap object of the last frame rendered\n(not supported by standard Canvas)

            ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

            A string indicating the image format

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            A Promise returning an ImageBitmap.

            ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"yUOLxl-0M_wlIO3LKWX7f","name":"ResponseObject","brief":"","access":"public","type":"ClassDoc","description":"

            An object representing the result of an intersection.

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Q8-MbKj7ussL13M7maAfy","name":"a","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The first object participating in the intersection

            "},{"id":"EY82KMBA_A5lbuNbril8U","name":"aInB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Whether the first object is entirely inside the second

            "},{"id":"v2NjLwnUvgfQU8MuaYxc-","name":"b","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The second object participating in the intersection

            "},{"id":"sN1S60V7rhgwuereavE_A","name":"bInA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Whether the second object is entirely inside the first

            "},{"id":"Ofp3kKjPs5a9X16NwgaVt","name":"indexShapeA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The index of the colliding shape for the object a body

            "},{"id":"bH9yg4aCDpT0pLcuQp7Zb","name":"indexShapeB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The index of the colliding shape for the object b body

            "},{"id":"NSSGKiKVdTCpy6krnNd0k","name":"overlap","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Magnitude of the overlap on the shortest colliding axis

            "},{"id":"HFKXISKiUK8sIx5U7fCMn","name":"overlapN","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The shortest colliding axis (unit-vector)

            "},{"id":"xegI6MnmVeZLjzdDuwjMT","name":"overlapV","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The overlap vector (i.e. overlapN.scale(overlap, overlap)). If this vector is subtracted from the position of..."},{"id":"V97vz8cKnExtAbXrZtGrz","name":"clear","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

            Set some values of the response back to their defaults.
            \nCall this between tests if you are going to reuse a single this object for chaining

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]}]},{"id":"8LXt8zMJxVb-FCE7mcWq7","name":"RoundRect","brief":"","type":"ClassDoc","description":"

            a rectangle object with rounded corners

            ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"kCRYBSyAPFx4oBZ5TMbQ_","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X2G-z2ipKKhZlpUev3Kkl","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wmq8nO4i0BpFs6LCG_Mz2","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"enlitriSPQjX1x_t3rOKD","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l6bCPX1iSDy2RrZNfVBxk","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_2JTucQ6J6xc94fd0VR12","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Si93bT7-3SbzYVw3XxqHY","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4vzBUh46p6HCVFBnNFpeY","name":"radius","brief":"","defaultValue":"20","scope":"instance","type":"PropertyDoc","description":"

            the radius of the rounded corner

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S9-otrsLAHZYOjYEY8Cla","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3yYhMTQ6G-KCxISCcPX95","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_DjXdFuFuOVKZjatPAfJO","name":"type","brief":"","defaultValue":"\"RoundRect\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PUuzHBCgg3vKhYR9S06u8","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wB681WZ6E9SVMO4qJWbGq","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PzVitP9-pWOwVM6XgQEIp","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this RoundRect

            ","params":[],"returns":[{"description":"

            new RoundRect

            ","dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Wadf1ycLENb6cRxmTbZn-","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            position of the rounded rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the rounded rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

            the rectangle width

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

            the rectangle height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":true,"default":"20","description":"

            the radius of the rounded corner

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_HqoefNpyrtQNw9O_4m_C","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rounded rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a Rect to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rounded rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"9vx_sUTz9eFH0f3ychAiH","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position, size and radius of the given rounded rectangle into this one

            ","params":[{"identifier":"rrect","optional":false,"description":"

            source rounded rectangle

            ","dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"O4reekeCjAat4lwxzNQhD","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this RoundRect is identical to the specified one

            ","params":[{"identifier":"rrect","optional":false,"dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"tLL_h4XVYQdVH3R1cYYfJ","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1Fr2pjBSq-6alpQ-dn6qD","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Mvls-JZuU2PI1xugV6UbY","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"aqG5QJ-7DdM98xF-U5soZ","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"3jzEeKjCZKZa8x07tZ8m5","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PX7gJUdJCBi20AEQ9t9nu","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kD5dg7tj5byb_rJMUYIBo","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6nBTA4LWjv-VIMn0PK4C_","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Id-JUorhZaz4lh7JWpTIO","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the rectangle

            ","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bgSkYgxF-4qNxZqxCG-6E","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            Scale this Polygon by the given vector

            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hpD6Q3tiQuFC3DrwNTjpT","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BxN6qzdpH88wsDeyiu-Tp","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E9VIrsVeu2w-1j98YazVe","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"NpoTr_pG-iQk261obSaRU","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UIBNC1lpaE9OWMNrrwMwo","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZXo0iIB2KVOK0O5NSLpy1","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KgTVwK4b2n1bcsQIV3Olz","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply the given transformation matrix to this Polygon

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oaNLSJb8LdG3GubhL89rq","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mgb_uhp39uue0jEkMtHhH","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ck355aVPZZ_vC-8-PLss8","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"3r2EAupFtkBPnF8gwdR6n","name":"Sprite","brief":"","type":"ClassDoc","description":"

            An object to display a fixed or animated sprite on screen.

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"v3iwHBtievLFH265w7k9V","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7q9buvE3O-tc_dP0e54IN","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hatDUN1E8mFuCL8BSW2Z3","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sLEmNVdladaOssm9ARAB1","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OVkOwkDG9QX3g9ZMomXJ-","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IzP3BtborgaOl_vpD2gte","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ck7YTAU0sYZjBfSHVJAOv","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D7KcV3Yxmki86scp_nDu1","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d2HMEX0ZMH7HXBbrLCv9O","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fzmKVIf-wv5S6-9i7vG0N","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"boLyHlr30eOtBk0b95sEV","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uicRzqioLQr7eYwy1xLPi","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GafpO3BEjMVD1mPZQf7vG","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lDEz-HKftxADIFe1ghtJI","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O5KjqCmNC2EYQrlqvgS71","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_q3QrnELWC2zqGdBc3ipv","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Iv5kqgsqxDTQlfxWYztqd","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aiBL7e9fUmooncZvGabKN","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CovXZ0RLXWud_uAwEklzs","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B4XuDj8tJrOo0T3Px295L","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-N7F5y4d3KH9Mllz6QNi1","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Vz2iBJz3E02BCqYa5JD89","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YGAv8PPdZ4nfSbda_oLVF","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gbWzSeOztdoPouTR_eyAT","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E8jti5snWwFuMoQuOZlth","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h1n54ErMtcchY79K2ApoY","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EAdPnebSZgRhBGKDi2O9T","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4GfAAH8dPq9-XUYZQtKXM","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NRc10jaZI9bz0b4s4CxF2","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

            global offset for the position to draw from on the source image.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6j6y6T8sObImsIZ1rNVgL","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UOhv01t9JLJkyoj65wK2W","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y_i9789tGUqHqUN3VGUfZ","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cCWntGyeOCxi0p3Djqiog","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dMoute78e_8ASBLKVmnI9","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zaZiW-YTGquvSmenqdRQr","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ebx908f2PPHIGMQbp-YIX","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YK5_nZNu5NvVFmlDXSbSG","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"706Q0KdZQd-u2vPy43Ctu","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hJGdI6EzRLd7cETGJGxVy","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dOgsrv4ks-AQMTCjEq_ge","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9U_iSYKYeOjoZWjUvjAlG","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tsu2cpMkkVQKqhKAe6M0Z","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            add an animation
            \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

            list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

            ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

            cycling speed for animation in ms

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            frame amount of frame added to the animation (delay between each frame).

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"33tZbrmS0Ya9_8jBDNHCg","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JvOumUwcUi56wtAa9H0sV","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gVE-JrcjMUu0FbCt1RzYq","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"17lMT74_EUJ2Dnprx0YQ9","name":"constructor","brief":"","examples":[{"caption":"","code":" // create a single sprite from a standalone image, with anchor in the center\n let sprite = new me.Sprite(0, 0, {\n image : \"PlayerTexture\",\n framewidth : 64,\n frameheight : 64,\n anchorPoint : new me.Vector2d(0.5, 0.5)\n });\n\n // create a single sprite from a packed texture\n mytexture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\"),\n me.loader.getImage(\"texture\")\n );\n let sprite = new me.Sprite(0, 0, {\n image : mytexture,\n region : \"npc2.png\",\n });\n\n // create a video sprite\n let videoSprite = new me.Sprite(0, 0, {\n image : me.loader.getVideo(\"bigbunny\"),\n anchorPoint : new me.Vector2d(0.5, 0.5)\n });\n // scale the video sprite\n videoSprite.currentTransform.scale(2);\n // start playing the video (if video is preloaded with `autoplay` set to false)\n videoSprite.play();"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            the x coordinates of the sprite object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinates of the sprite object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            Configuration parameters for the Sprite object

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.image","description":"

            reference to spritesheet image, a texture atlas, a video element, or to a texture atlas

            ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | TextureAtlas | string","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1 | %2 | %3 | %4 | string"}},{"identifier":"settings.name","optional":true,"default":"\"\"","description":"

            name of this object

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.region","optional":true,"description":"

            region name of a specific region to use when using a texture atlas, see {@link TextureAtlas}

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.framewidth","optional":true,"description":"

            Width of a single frame within the spritesheet

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.frameheight","optional":true,"description":"

            Height of a single frame within the spritesheet

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.tint","optional":true,"description":"

            a tint to be applied to this sprite

            ","dataType":{"tokens":[{"value":"string | Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.flipX","optional":true,"description":"

            flip the sprite on the horizontal axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.flipY","optional":true,"description":"

            flip the sprite on the vertical axis

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.5, y:0.5}","description":"

            Anchor point to draw the frame at (defaults to the center of the frame).

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"U-7wRNvERFmNXLEvJekp5","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"lo_i18UoXlLjKNMP7-FOX","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fC2InEWUvpImwy6Z053k0","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7jKPcVEYs8ITU2sidIcUC","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8KLyR8V0NKyP1TaYyLYDA","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

            make the object flicker

            ","params":[{"identifier":"duration","optional":false,"description":"

            expressed in milliseconds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

            Function to call when flickering ends

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DWFKFwAaseoAs6EBWpZ7J","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3lmZLIAgExPakFqDVtOYt","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xlTQnS9tIuhRse2kdIp5Y","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bR1aQIJX13GBERA-v5YFs","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M_kLS-zAQV7Q5oJ4x7aVt","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the current animation frame index.

            ","params":[],"returns":[{"description":"

            current animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qWOW1RWiymYasdELaqC4G","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"HpzQyNt-yr0IiRt8V-ApB","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1OVybjL2Osx1soJPdmesx","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"p9aShWaFt-tpRu0PxcJ78","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

            return true if the specified animation is the current one.

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"kZSNZAWFZOeeY0mfBM-W_","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"m_45FJ9ojNinryc4xiZnG","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the flickering state of the object

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"XZE3aAM-cadG_iA1ttgia","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BC-P-cwtBH6uLElgt6Qzy","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"eGR0TOGBM6EKruonKg7kM","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TpDsuR-2AHxIQlOtOS3hK","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"blFnihRlrRuIFfou3loYw","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7xYqdiF7BQB9vr-4H7OLC","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tpzojCd3-Miaw0CiPN1v5","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"OKWxM0tDbZvs_aoMf8w6K","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"JCeB88UaNzvTtCU9uhC93","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"J33-T7vIKhmzfiu9BUrqs","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fZW6wAlI6vQGlmX7cpfzP","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

            reverse the given or current animation if none is specified

            ","params":[{"identifier":"name","optional":true,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qRx3F9W0lttUGNeRq5OyU","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qGSpw024UfQksovIJsbce","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"e0H6Y1ltRgzqohAaF649W","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HIxprkffKUOPf-8YiBLEo","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

            force the current animation frame index.

            ","params":[{"identifier":"index","optional":true,"default":"0","description":"

            animation frame index

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ziLc-KK--Yo4zMk3oatPm","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

            set the current animation\nthis will always change the animation & set the frame to zero

            ","params":[{"identifier":"name","optional":false,"description":"

            animation id

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

            animation id to switch to when complete, or callback

            ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

            if false will reset the elapsed time counter since last frame

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hKrKkxTnqi8FHqzE1zDFe","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"NnrkQFqGqbwwzpBClpXzQ","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

            change the current texture atlas region for this sprite

            ","params":[{"identifier":"region","optional":false,"description":"

            typically returned through me.Texture.getRegion()

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"x5mMkpoPi81PC9_yZwAZ0","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AIsYajuA5FEqXpLVit72y","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H2USSXm3JCtE_dg6QDluF","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9K37RXcpu-i5vmLDquqOt","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-2zK9Qq6uwwLvVjpSnj7W","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wK1Tcjfqp63fobA1u_3Ir","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dvb2ZyUDhlzRepgk2rUWG","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OGU85bXuiE-kssBbyDM9d","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Mhu8r1Kl_JR8AqWjHKEyA","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FIcjwq5fq3OmEEmTYEeP8","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d-DuyhLBA3xCxPpNA-H_b","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            draw this srite (automatically called by melonJS)

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

            the viewport to (re)draw

            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"HY3qV6wHx-gtH0-jUeg1R","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

            update function.
            \nautomatically called by the game manager {@link game}

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the Sprite is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"yx1Kl3hLSmZ47Dkp5cL8Z","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"SiBcRsN5FAPfv014o1hu9","name":"Stage","brief":"","see":["state"],"type":"ClassDoc","description":"

            a default "Stage" object.\nevery "stage" object (title screen, credits, ingame, etc...) to be managed\nt...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"xWLidsZiGCvJBYW_R_vjj","name":"ambientLight","brief":"","access":"public","defaultValue":"\"#000000\"","scope":"instance","see":["Light2d"],"type":"PropertyDoc","description":"

            an ambient light that will be added to the stage rendering

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9K8IN_n-kxapQvMYUPPzu","name":"cameras","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The list of active cameras in this stage.\nCameras will be renderered based on this order defined in this list.\nOnly the &q...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jWdscR099zfypuryUHOCq","name":"lights","brief":"","access":"public","examples":[{"caption":"","code":"// create a white spot light\nlet whiteLight = new me.Light2d(0, 0, 140, \"#fff\", 0.7);\n// and add the light to this current stage\nthis.lights.set(\"whiteLight\", whiteLight);\n// set a dark ambient light\nthis.ambientLight.parseCSS(\"#1117\");\n// make the light follow the mouse\nme.input.registerPointerEvent(\"pointermove\", me.game.viewport, (event) => {\n whiteLight.centerOn(event.gameX, event.gameY);\n});"}],"scope":"instance","see":["Light2d","Stage.ambientLight"],"type":"PropertyDoc","description":"

            The list of active lights in this stage.\n(Note: Canvas Renderering mode will only properly support one light per stage)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nca3LdA0XxY6k4I0ojEbY","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The given constructor options

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R3ypB9NOQMdqoSUOhee_r","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"settings","optional":true,"description":"

            The stage` parameters

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.cameras","optional":true,"default":"[new me.Camera2d()]","description":"

            a list of cameras (experimental)

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1<%2>"}},{"identifier":"settings.onResetEvent","optional":true,"description":"

            called by the state manager when reseting the object

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.onDestroyEvent","optional":true,"description":"

            called by the state manager before switching to another state

            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"UdIes3MTkeAR-OyXqdKj9","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            onDestroyEvent function
            \ncalled by the state manager before switching to another state

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5M7FJM6cJ4et8ljb1qFRE","name":"onResetEvent","brief":"","scope":"instance","see":["state#change"],"type":"MethodDoc","description":"

            onResetEvent function
            \ncalled by the state manager when reseting the object\nthis is typically where you will load a lev...","params":[{"identifier":"...arguments","optional":true,"variadic":true,"description":"

            optional arguments passed when switching state

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"mZEMibu_TlPa7oLUT7Sk9","name":"Text","brief":"","type":"ClassDoc","description":"

            a generic system font object.

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"tWcM3XpdJOgT8xYB5moZb","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

            Define the renderable opacity
            \nSet to zero if you do not wish an object to be drawn

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_fcJlh4KnqUzkHpiNbPCk","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object will always update, even when outside of the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kMVxrb0-pJW3gZnIGB9VP","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AMujGR_0g5niZ_8TNGwFs","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

            The anchor point is used for attachment behavior, and/or when applying transformations.
            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"35LTgYJjEGpg1jw36HzxB","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JQ6Fp4lc60qLZ0JWADSmW","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sOcIoisrYC0toKiJhqhDW","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

            the renderable physic body

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cYhBuoLOtM_t6UBBuz46J","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KkDjckLc3mLZDTYskgmco","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aQWQM9KCGYT9TvaCzFTmY","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YXQ9HoHl1U0YQSguzdJpi","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mK5FOpRWSJeQCnfIrhiUj","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LfuzbfUEAc5G2nsLEerOw","name":"fillStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

            defines the color used to draw the font.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IpATyKM2Y4ptSch1Iw0uO","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yPsG1lfdh1u3lGnA3YkFU","name":"fontSize","brief":"","defaultValue":"10","scope":"instance","type":"PropertyDoc","description":"

            the font size (in px)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MZciFB4XOtYEZwcazs1ii","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

            (G)ame (U)nique (Id)entifier"
            \na GUID will be allocated for any renderable object added
            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qLop2wE_zt4H1X9PIyNlh","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tTgujURcUqKqKVFRfkXfO","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether the renderable object is visible and within the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aRmSCRx_wGnICyezO13G5","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            when true the renderable will be redrawn during the next update cycle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wSsRdQC4Utjqbv2-l8z2O","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eQGY3ZHkTwNwnoqacTqjs","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

            returns true if this renderable is flipped on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C0OI8G6kbcp10n3sJOYvQ","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c--WjNQP7L-gbl8ohYzhQ","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            If true then physic collision and input events will not impact this renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a2wFFKVduWIVNNZIini-X","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OA_ooJb392Zw6b0M_bhWc","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_yEEzuRidcx6Y2hrQELsN","name":"lineHeight","brief":"","defaultValue":"1.0","scope":"instance","type":"PropertyDoc","description":"

            Set the line spacing height (when displaying multi-line strings).
            \nCurrent font height will be multiplied with this va...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eAamA38B1JFwUuW55LU8Z","name":"lineWidth","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            sets the current line width, in pixels, when drawing stroke

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cg3u8_U_EbZD1JlCpqPWb","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GFclksKyfMPhzJirpfihk","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wtWSFJ2SWKMdpxTy2gg5u","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

            an event handler that is called when the renderable leave or enter a camera viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dGFouICMMA1No521prTjp","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

            returns the parent application (or game) to which this renderable is attached to

            ","params":[],"returns":[{"description":"

            the parent application or undefined if not attached to any container/app

            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-jKwXzUPaVcUYxFKXbio2","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Array of points defining the Polygon
            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0zRqqgB7oQMMvr-PoKnJL","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2-J_E78yHsuIlQdwiXVyW","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bu3u_YW6QJ_kP3oIIu58X","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XrXfcJ4Nqs4Yrteri-hLV","name":"strokeStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

            defines the color used to draw the font stroke.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rqDDkWVTys0SFau1N1j5i","name":"textAlign","brief":"","defaultValue":"\"left\"","scope":"instance","type":"PropertyDoc","description":"

            Set the default text alignment (or justification),
            \npossible values are "left", "right", and "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T9QOjV-7DTZeG6nxoXkZj","name":"textBaseline","brief":"","defaultValue":"\"top\"","scope":"instance","type":"PropertyDoc","description":"

            Set the text baseline (e.g. the Y-coordinate for the draw operation),
            \npossible values are "top", "hang...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1fzhu82-iRf4fUXZvm6U5","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sgOJi38-vU3AlKabk9Ehd","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IK0Elm7ojayPv0YpBwi1s","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ar0FEFVdZ2UKkW59HQtGA","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            Whether to update this object when the game is paused.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xd8f-xVN7VoyxfG4-ln05","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nYNSofm6D2KPBVN81Ns8m","name":"wordWrapWidth","brief":"","defaultValue":"-1","scope":"instance","type":"PropertyDoc","description":"

            the maximum length in CSS pixel for a single segment of text.\n(use -1 to disable word wrapping)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1zbm8Dp3rsaJq-NDXlwL-","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

            the text to be displayed

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Qql0VUGFr3u2ssGMj1wDV","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the angle to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            angle in radians

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"haWA6eJFGP62HS0lptXRL","name":"bold","brief":"","scope":"instance","type":"MethodDoc","description":"

            make the font bold

            ","params":[],"returns":[{"description":"

            this object for chaining

            ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WYBGXUyqODujriUoXDnoO","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the rectangle position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Vp8-xDTsE2XuB7x_5RWgx","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this rectangle

            ","params":[],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sc4OUuxOm9nlkk4pTujh3","name":"constructor","brief":"","examples":[{"caption":"","code":"let font = new me.Text(0, 0, {font: \"Arial\", size: 8, fillStyle: this.color});"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

            position of the text object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the text object

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

            the text configuration

            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.font","description":"

            a CSS family font name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.size","description":"

            size, or size + suffix (px, em, pt)

            ","dataType":{"tokens":[{"value":"number | string","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | string"}},{"identifier":"settings.fillStyle","optional":true,"default":"\"#000000\"","description":"

            a CSS color value

            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"settings.strokeStyle","optional":true,"default":"\"#000000\"","description":"

            a CSS color value

            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"settings.lineWidth","optional":true,"default":"0","description":"

            line width, in pixels, when drawing stroke

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.textAlign","optional":true,"default":"\"left\"","description":"

            horizontal text alignment

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textBaseline","optional":true,"default":"\"top\"","description":"

            the text baseline

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.lineHeight","optional":true,"default":"1.0","description":"

            line spacing height

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.0, y:0.0}","description":"

            anchor point to draw the text at

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"settings.wordWrapWidth","optional":true,"description":"

            the maximum length in CSS pixel for a single segment of text

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.text","optional":true,"default":"\"\"","description":"

            a string, or an array of strings

            ","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}}],"returns":[],"extends":[],"implements":[]},{"id":"-Dgert8v9wF4sg1GwhXvX","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the rectangle contains the given point or rectangle

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point, or a rectangle to test

            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the rectangle contain the given point or rectangle, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"sXI2o5Bmq164-PCNBVCdD","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

            copy the position and size of the given rectangle into this one

            ","params":[{"identifier":"rect","optional":false,"description":"

            Source rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            new rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CZfluXplCGFYaC019APon","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the distance to the specified target

            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            distance

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SaSvGH0c2Tl5AsrtDCWMq","name":"draw","brief":"","scope":"instance","type":"MethodDoc","description":"

            draw a text at the specified coord

            ","params":[{"identifier":"renderer","optional":false,"description":"

            Reference to the destination renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":true,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"d-N0cTDWbqlmHHyOANcIU","name":"drawStroke","brief":"","deprecated":"since 15.0.0","scope":"instance","type":"MethodDoc","description":"

            draw a stroke text at the specified coord, as defined by the lineWidth and fillStroke properties...","params":[{"identifier":"renderer","optional":false,"description":"

            Reference to the destination renderer instance

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"M5S3F6chlxySPDzJju0jq","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is identical to the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if equals

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"I10WLgcgJ9Fed1rcdFTHD","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

            flip the renderable on the horizontal axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nz4TcfQS2CG8pVLHRDjHW","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

            flip the renderable on the vertical axis (around the center of the renderable)

            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

            true to flip this renderable.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KFlABayPtEta7ZXM-lgmg","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

            return the renderable absolute position in the game world

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XcH6kWPcxdeRBeEWtThD3","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns the bounding box for this renderable

            ","params":[],"returns":[{"description":"

            bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GJ9Jp0flMm33v1GETEER0","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

            returns a list of indices for all triangles defined in this polygon

            ","params":[],"returns":[{"description":"

            an array of vertex indices for all triangles forming this polygon.

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"G1rtjJN_gTqw1cU_ARuRU","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            get the renderable alpha channel value

            ","params":[],"returns":[{"description":"

            current opacity value between 0 and 1

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OEZ3JmQz9QtoIuDPqSemC","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

            ","params":[],"returns":[{"description":"

            true if the vertices are convex, false if not, null if not computable

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"QEbHhcEFYK7wbS5kMMDl9","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this rectangle are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"YxDuB72uOxzxei_TbBfec","name":"italic","brief":"","scope":"instance","type":"MethodDoc","description":"

            make the font italic

            ","params":[],"returns":[{"description":"

            this object for chaining

            ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zxUKMxoBchpohLL_p9hrG","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable towards the given target.

            ","params":[{"identifier":"target","optional":false,"description":"

            the renderable or position to look at

            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"137HEZ8_LgiSzbsJRl1Le","name":"measureText","brief":"","scope":"instance","type":"MethodDoc","description":"

            measure the given text size in pixels

            ","params":[{"identifier":"renderer","optional":false,"description":"

            reference to the active renderer

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":true,"description":"

            the text to be measured

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

            a TextMetrics object defining the dimensions of the given piece of text

            ","dataType":{"tokens":[{"value":"TextMetrics","kind":"canonical"},{"value":"TextMetrics","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9ew9UTltllR63UMXDSU4X","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

            ","params":[{"identifier":"response","optional":false,"description":"

            the collision response object

            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

            the other renderable touching this one (a reference to response.a or response.b)

            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

            true if the object should respond to the collision (its position and velocity will be corrected)

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"NuV5fDU-FNYQRx-NmNIyp","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oCJIv2xHCUyBA4X57OVv4","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            check if this rectangle is intersecting with the specified one

            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            true if overlaps

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"BLSS_4HWufjR78V_CrgI1","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

            restore the rendering context after drawing (automatically called by melonJS).

            ","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"pdZEGA8hxrU6f1qr3WVMp","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

            a renderer object

            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"Q7CsnsNEx2WTJJ--C1IfR","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ikOohl3HQIaYWA23KtRRa","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

            resize the rectangle

            ","params":[{"identifier":"w","optional":false,"description":"

            new width of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

            new height of the rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sODvYW5iZnaFzx05h82kO","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

            Rotate this renderable by the specified angle (in radians).

            ","params":[{"identifier":"angle","optional":false,"description":"

            The angle to rotate (in radians)

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

            an optional point to rotate around

            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QUlPfEN4I-PJDXVH2A7mg","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

            a number representing the abscissa of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

            a number representing the ordinate of the scaling vector.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-VTOuYKPYZSztffDG7ZSP","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

            scale the renderable around his anchor point

            ","params":[{"identifier":"v","optional":false,"description":"

            scaling vector

            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pdC1AlDX-FpoMVu3_oRHm","name":"setFont","brief":"","examples":[{"caption":"","code":"font.setFont(\"Arial\", 20);\nfont.setFont(\"Arial\", \"1.5em\");"}],"scope":"instance","type":"MethodDoc","description":"

            set the font family and size

            ","params":[{"identifier":"font","optional":false,"description":"

            a CSS font name

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":true,"default":"10","description":"

            size in px, or size + suffix (px, em, pt)

            ","dataType":{"tokens":[{"value":"number | string","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | string"}}],"returns":[{"description":"

            this object for chaining

            ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wcuTFHF--Svf9lhGi51QT","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the renderable alpha channel value

            ","params":[{"identifier":"alpha","optional":false,"description":"

            opacity value between 0.0 and 1.0

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Z4rUYRDkMztvtw78k4hSN","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

            set new value to the rectangle shape

            ","params":[{"identifier":"x","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            position of the Rectangle

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

            width of the rectangle, or an array of vector defining the rectangle

            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

            height of the rectangle, if a numeral width parameter is specified

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vF3-6VxyX-e7F57tHtWq-","name":"setText","brief":"","scope":"instance","type":"MethodDoc","description":"

            change the text to be displayed

            ","params":[{"identifier":"value","optional":false,"default":"\"\"","description":"

            a string, or an array of strings

            ","dataType":{"tokens":[{"value":"number | string | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1 | string | %2"}}],"returns":[{"description":"

            this object for chaining

            ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3gec8Fb32VgGNuoDCp-TB","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

            set the vertices defining this Polygon

            ","params":[{"identifier":"vertices","optional":false,"description":"

            array of vector or vertice defining the Polygon

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

            this instance for objecf chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ol_uZQ6AjtHKnaB1Yg9YD","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the Polygon to the given position vector.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"sVkccSYv4jrnqrbJuk0jS","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply a 2d projection to this shapen

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"06J1M5Dg8s-HbAhYf-0mB","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

            apply an isometric projection to this shape

            ","params":[],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9lxenuzMY7QoOzruDAXwm","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this box.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this rectangle.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t5A-rXZQIjSdNoDRkxI_Z","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

            multiply the renderable currentTransform with the given matrix

            ","params":[{"identifier":"m","optional":false,"description":"

            the transformation matrix

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"14jLwbQWP7KTPsWu5hh1k","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            translate the Polygon by the specified offset

            ","params":[{"identifier":"x","description":"

            x offset or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y offset

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            Reference to this object for method chaining

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZTiOx41EcQA2_jX_U2stk","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

            merge this rectangle with another one

            ","params":[{"identifier":"rect","optional":false,"description":"

            other rectangle to union with

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

            the union(ed) rectangle

            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"83JnVQK1YJktphulbjaa0","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            update function (automatically called by melonJS).

            ","params":[{"identifier":"dt","optional":false,"description":"

            time since the last update in milliseconds.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            true if the renderable is dirty

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Llg3GHdbtirDx3dX7iPts","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            update the bounding box for this shape.

            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

            update the bounds size and position in (world) absolute coordinates

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

            this shape bounding box Rectangle object

            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Okw1kpfZ2X7UtUMoY3wI5","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

            called when the anchor point value is changed

            ","params":[{"identifier":"x","optional":false,"description":"

            the new X value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the new Y value to be set for the anchor

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"irxzK9XywQKZSudCE44lA","name":"TextMetrics","brief":"","type":"ClassDoc","description":"

            a Text Metrics object that contains helper for text manipulation

            ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"I4raND6kCAOADoc7u7nHF","name":"ancestor","brief":"","access":"public","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            a reference to the parent object that contains this TextMetrics object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h-npZFvHhLuodgzdnYeL2","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i-PagWNuDPMxFSjbLLx0P","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

            return the center position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b4uubJUcfWX1OePhvsdm0","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the x axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gXYwNfYEmsWYKbRrJ_Nmh","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the y axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0BX_5Q3UyHMQ2f4iGvpzf","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D3fhlCckTsNkxXlhB-trq","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FU-qRweEBCtrfPZG1I8dc","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JtMQmjNplArujjkujByBE","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zzlD73eOA86bhFBvnI7Ug","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

            the object type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o5br_TXRF8RMitsE4O7Db","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U1LljaD5ltVqkPHn2Abzh","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

            x position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EVBR50fcubn1nm-4v7QdH","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

            y position of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"auyjiU0rNQH6RADuIb5kN","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given vertices to the bounds definition.

            ","params":[{"identifier":"vertices","optional":false,"description":"

            an array of Vector2d or Point

            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

            either to reset the bounds before adding the new vertices

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"61YX9uUQoU0MqRTcxApbu","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given bounds to the bounds definition.

            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

            either to reset the bounds before adding the new vertices

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"AKbXou7sSbZ36H6YCwaVO","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given quad coordinates to this bound definition, multiplied by the given matrix

            ","params":[{"identifier":"x0","optional":false,"description":"

            left X coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

            top Y coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

            right X coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

            bottom y coordinates of the quad

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

            an optional transform to apply to the given frame coordinates

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8mZFwvIbRIKaNSdNhNQNH","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

            add the given point to the bounds definition.

            ","params":[{"identifier":"point","optional":false,"description":"

            the vector or point to be added to the bounds

            ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

            an optional transform to apply to the given point (if the given point is a Vector2d)

            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"G7Bhwew0wNuYFGGii2I7N","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

            center the bounds position around the given coordinates

            ","params":[{"identifier":"x","optional":false,"description":"

            the x coordinate around which to center this bounds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

            the y coordinate around which to center this bounds

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mpRNCtA75jNufwNSxesvI","name":"clear","brief":"

            reset the bound

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QQ2rGhkOEk2J2BpIf3W8w","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

            clone this bounds

            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"G62zUD4QAG_SeRNjQJW-M","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"ancestor","optional":false,"description":"

            the parent object that contains this TextMetrics object

            ","dataType":{"tokens":[{"value":"Text | BitmapText","kind":"canonical"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"CVuPzskMgUks8rOUuL76_","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

            Returns true if the bounds contains the given point.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to check

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

            y coordinate

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            True if the bounds contain the point, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qkGvJsVEN8QPRg53H_JSh","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

            determines whether all coordinates of this bounds are finite numbers.

            ","params":[],"returns":[{"description":"

            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"lUQoRGKqmg1IYLFfZndVn","name":"lineHeight","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the height of a segment of inline text in CSS pixels.

            ","params":[],"returns":[{"description":"

            the height of a segment of inline text in CSS pixels.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BzLzOmmba2ctpBe6wXXCA","name":"lineWidth","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns the width of the given segment of inline text in CSS pixels.

            ","params":[{"identifier":"text","optional":false,"description":"

            the text to be measured

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"context","optional":true,"description":"

            reference to an active 2d context for canvas rendering

            ","dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            the width of the given segment of inline text in CSS pixels.

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IRXbPhMi2AErtCQwnprWa","name":"measureText","brief":"","scope":"instance","type":"MethodDoc","description":"

            measure the given text size in CSS pixels

            ","params":[{"identifier":"text","optional":false,"description":"

            the text to be measured

            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"context","optional":true,"description":"

            reference to an active 2d context for canvas rendering

            ","dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            this

            ","dataType":{"tokens":[{"value":"TextMetrics","kind":"canonical"},{"value":"TextMetrics","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2qhaDP8CsKCvK6FlX_oYJ","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns true if the two bounds intersect.

            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

            True if the bounds overlap, otherwise false

            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"paDrukncKdAUYATNDBkcS","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

            sets the bounds to the given min and max value

            ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"IHqLTAO9keNOpTdoiScm4","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Shifts the bounds to the given x, y position.

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to shift to

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"DaBJ2byHlV4Ay598aYkIs","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

            Returns a polygon whose edges are the same as this bounds.

            ","params":[],"returns":[{"description":"

            a new Polygon that represents this bounds.

            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2Ue_jVIBF7YjEsZ1UVDKB","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

            Translates the bounds by the given point

            ","params":[{"identifier":"x","description":"

            x coordinate or a vector point to translate by

            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CWID8tKZCN4YkHDhpFMsB","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

            Updates bounds using the given vertices

            ","params":[{"identifier":"vertices","optional":false,"description":"

            an array of Vector2d or Point

            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]},{"id":"d_IcJEBrTVSKx3E2BSvtX","name":"wordWrap","brief":"","scope":"instance","type":"MethodDoc","description":"

            wrap the given text based on the given width

            ","params":[{"identifier":"text","optional":false,"description":"

            the text to be wrapped

            ","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}},{"identifier":"width","optional":false,"description":"

            maximum width of one segment of text in css pixel

            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"context","optional":true,"description":"

            reference to an active 2d context for canvas rendering

            ","dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

            an array of string representing wrapped text

            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"JUxmEn7oRlkv0cfmujig9","name":"TextureAtlas","brief":"","type":"ClassDoc","description":"

            A Texture atlas class, currently supports :

            \n
              \n
            • [TexturePacker]{@link http://www.codeandweb.com/texturepacke...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"uW6d09xFT6k9ZSlYIwPi3","name":"addRegion","brief":"","scope":"instance","type":"MethodDoc","description":"

              add a region to the atlas

              ","params":[{"identifier":"name","optional":false,"description":"

              region mame

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":false,"description":"

              x origin of the region

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y origin of the region

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              width of the region

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              height of the region

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the created region

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"SbHD_0A6mC0VBobvNA-jR","name":"addUVs","brief":"","scope":"instance","type":"MethodDoc","description":"

              add uvs mapping for the given region

              ","params":[{"identifier":"atlas","optional":false,"description":"

              the atlas dictionnary where the region is define

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"name","optional":false,"description":"

              region (or frame) name

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"w","optional":false,"description":"

              the width of the region

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              the height of the region

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the created region UVs

              ","dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gG8UtSgWCz9mDTQ0NcN80","name":"constructor","brief":"","examples":[{"caption":"","code":" // create a texture atlas from a JSON Object\n game.texture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\")\n );\n\n // create a texture atlas from a multipack JSON Object\n game.texture = new me.TextureAtlas([\n me.loader.getJSON(\"texture-0\"),\n me.loader.getJSON(\"texture-1\"),\n me.loader.getJSON(\"texture-2\")\n ]);\n\n // create a texture atlas for a spritesheet with an anchorPoint in the center of each frame\n game.texture = new me.TextureAtlas(\n {\n framewidth : 32,\n frameheight : 32,\n anchorPoint : new me.Vector2d(0.5, 0.5)\n },\n me.loader.getImage(\"spritesheet\")"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"atlases","optional":false,"description":"

              atlas information. See {@link loader.getJSON}

              ","dataType":{"tokens":[{"value":"object | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"object | %1"}},{"identifier":"src","optional":true,"default":"atlas.meta.image","description":"

              Image source

              ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | string | Array | Array | Array","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1 | %2 | string | %3<%4> | %5<%6> | %7"}},{"identifier":"cache","optional":true,"default":"false","description":"

              Use true to skip caching this Texture

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"GwkTdoPtNy-xbILTVG89J","name":"createAnimationFromName","brief":"","examples":[{"caption":"","code":" // create a new texture object under the `game` namespace\n game.texture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\"),\n me.loader.getImage(\"texture\")\n );\n\n // create a new Animated Sprite\n let sprite = game.texture.createAnimationFromName([\n \"walk0001.png\", \"walk0002.png\", \"walk0003.png\",\n \"walk0004.png\", \"walk0005.png\", \"walk0006.png\",\n \"walk0007.png\", \"walk0008.png\", \"walk0009.png\",\n \"walk0010.png\", \"walk0011.png\"\n ]);\n\n // define an additional basic walking animation\n sprite.addAnimation (\"simple_walk\", [0,2,1]);\n // you can also use frame name to define your animation\n sprite.addAnimation (\"speed_walk\", [\"walk0007.png\", \"walk0008.png\", \"walk0009.png\", \"walk0010.png\"]);\n // set the default animation\n sprite.setCurrentAnimation(\"simple_walk\");\n // set the renderable position to bottom center\n sprite.anchorPoint.set(0.5, 1.0);"}],"scope":"instance","type":"MethodDoc","description":"

              Create an animation object using the first region found using all specified names

              ","params":[{"identifier":"names","optional":false,"description":"

              list of names for each sprite\n(when manually creating a Texture out of a spritesheet, only numeric values are authorized)

              ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | %3<%2>"}},{"identifier":"settings","optional":true,"description":"

              Additional settings passed to the {@link Sprite} contructor

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7kjXe9eejxXTOhdUXGT2B","name":"createSpriteFromName","brief":"","examples":[{"caption":"","code":"// create a new texture object under the `game` namespace\ngame.texture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\"),\n me.loader.getImage(\"texture\")\n);\n...\n...\n// create a new \"coin\" sprite\nlet sprite = game.texture.createSpriteFromName(\"coin.png\");\n// set the renderable position to bottom center\nsprite.anchorPoint.set(0.5, 1.0);\n...\n...\n// create a 9-slice sprite\nlet dialogPanel = game.texture.createSpriteFromName(\n \"rpg_dialo.png\",\n // width & height are mandatory for 9-slice sprites\n { width: this.width, height: this.height },\n true\n);"}],"scope":"instance","type":"MethodDoc","description":"

              Create a sprite object using the first region found using the specified name

              ","params":[{"identifier":"name","optional":false,"description":"

              name of the sprite

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings","optional":true,"description":"

              Additional settings passed to the {@link Sprite} contructor

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"nineSlice","optional":true,"default":"false","description":"

              if true returns a 9-slice sprite

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"Sprite | NineSliceSprite","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"Gq9lRF7qsd7ALmJ8LXQJ8","name":"getAtlas","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the default or specified atlas dictionnary

              ","params":[{"identifier":"name","optional":true,"description":"

              atlas name in case of multipack textures

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"mnIhSFJFK0f9VkrTR2E-y","name":"getFormat","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the format of the atlas dictionnary

              ","params":[],"returns":[{"description":"

              will return "texturepacker", or "ShoeBox", or "melonJS", or "Spritesheet (fixed cell si...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"BexZqnTaAqzU_SAOZzX5c","name":"getRegion","brief":"","scope":"instance","type":"MethodDoc","description":"

              return a normalized region (or frame) information for the specified sprite name

              ","params":[{"identifier":"name","optional":false,"description":"

              name of the sprite

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"atlas","optional":true,"description":"

              name of a specific atlas where to search for the region

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"voYIAaHSE1H2hBF-BZznn","name":"getTexture","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the source texture for the given region (or default one if none specified)

              ","params":[{"identifier":"region","optional":true,"description":"

              region name in case of multipack textures

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"qV0badKrJApOz2qwKYfkK","name":"getUVs","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the uvs mapping for the given region

              ","params":[{"identifier":"name","optional":false,"description":"

              region (or frame) name

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

              region Uvs

              ","dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"wvwvYUtKqo2pAMnoyXXTR","name":"Tile","brief":"","type":"ClassDoc","description":"

              a basic tile object

              ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"IzKqR1SuJtEcMJPzET-5b","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gljkk6XK4UKRYmBmlxs-u","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

              return the center position of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cQ9SX55GIDfWxleky2tYr","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              center position of the bound on the x axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pe794RAkT2zJoxrrU6URW","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              center position of the bound on the y axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d9vFcc4TMxuVRZQmDZ2KI","name":"flipped","brief":"","scope":"instance","type":"PropertyDoc","description":"

              Global flag that indicates if the tile is flipped

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7Fam29VhBROEWvqe_0LQS","name":"flippedAD","brief":"","scope":"instance","type":"PropertyDoc","description":"

              True if the tile is flipped anti-diagonally

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tRQHaxaFWIB-hXrCXjDzd","name":"flippedX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              True if the tile is flipped horizontally

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nVUQ6vsfmj57do0TM-2OO","name":"flippedY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              True if the tile is flipped vertically

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LTGJ8mlt2wlj-KkPPb8fj","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pP5IX_Ji6qEH6T7G7mGYN","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hn0kjxCWGb2OSmtFZY5JB","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SZq_QpGDm99crzCJ-8b8l","name":"tileId","brief":"","scope":"instance","type":"PropertyDoc","description":"

              tileId

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MfjvY9GNJCgW4rzjDEaQT","name":"tileset","brief":"","scope":"instance","type":"PropertyDoc","description":"

              tileset

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TNBc2WJN4j85O-8vRxB1C","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tds8p38cerxd8xy8Njtdt","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

              the object type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BvSPPeVjyGWlJ9IGk7hUv","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_YMboIzQMnMx_RgLPeNV0","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

              x position of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hD0T1OKZu4Lxekyz9x2GI","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

              y position of the bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VH8KvHk6q_73BRhIh3R8i","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

              add the given vertices to the bounds definition.

              ","params":[{"identifier":"vertices","optional":false,"description":"

              an array of Vector2d or Point

              ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

              either to reset the bounds before adding the new vertices

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"YkCpdyRp_PKWJ0vd2FzSr","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              add the given bounds to the bounds definition.

              ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

              either to reset the bounds before adding the new vertices

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"_cOmiDo6cd1rPEJrlfMhG","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

              add the given quad coordinates to this bound definition, multiplied by the given matrix

              ","params":[{"identifier":"x0","optional":false,"description":"

              left X coordinates of the quad

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

              top Y coordinates of the quad

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

              right X coordinates of the quad

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

              bottom y coordinates of the quad

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

              an optional transform to apply to the given frame coordinates

              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XuRtbcKJu1PD6WgJiaa2w","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

              add the given point to the bounds definition.

              ","params":[{"identifier":"point","optional":false,"description":"

              the vector or point to be added to the bounds

              ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

              an optional transform to apply to the given point (if the given point is a Vector2d)

              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8TIDk9nj0znWg0jbMHhfI","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

              center the bounds position around the given coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              the x coordinate around which to center this bounds

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinate around which to center this bounds

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"en2iQKVCgsqjSnr2FwIyV","name":"clear","brief":"

              reset the bound

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jsocimYT41fsb-Om_ovz8","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              clone this bounds

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mqmrxhWxO2Q1AyBFuvOep","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

              x index of the Tile in the map

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y index of the Tile in the map

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"gid","optional":false,"description":"

              tile gid

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tileset","optional":false,"description":"

              the corresponding tileset object

              ","dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XU1oBhjG5LyOUoSi1XkzZ","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

              Returns true if the bounds contains the given point.

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to check

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

              y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              True if the bounds contain the point, otherwise false

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"CjvlU2t8Alf3s8K4BnkB8","name":"getRenderable","brief":"","scope":"instance","type":"MethodDoc","description":"

              return a renderable object for this Tile object

              ","params":[{"identifier":"settings","optional":true,"description":"

              see {@link Sprite}

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

              a me.Sprite object

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rvbp0tfq0sOALUS69V4iO","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

              determines whether all coordinates of this bounds are finite numbers.

              ","params":[],"returns":[{"description":"

              false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"F_7XfQmQZ253fWB8B2IRs","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if the two bounds intersect.

              ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              True if the bounds overlap, otherwise false

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TbUQLromsTrFKtiho6se9","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

              sets the bounds to the given min and max value

              ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"nek_8QkF3JVU3LAVlcret","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              Shifts the bounds to the given x, y position.

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to shift to

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"a2WqpjF8gqLgw10Lqsfsp","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns a polygon whose edges are the same as this bounds.

              ","params":[],"returns":[{"description":"

              a new Polygon that represents this bounds.

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YWpap2_prHUmrhizl0ehx","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              Translates the bounds by the given point

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to translate by

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"HQeK_bHJBWY8eIG6B5TL-","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

              Updates bounds using the given vertices

              ","params":[{"identifier":"vertices","optional":false,"description":"

              an array of Vector2d or Point

              ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"pUfsHVt8S5XmR1Vzw3qKb","name":"Timer","brief":"","see":["{@link timer} the default global timer instance"],"type":"ClassDoc","description":"

              a Timer class to manage timing related function (FPS, Game Tick, Time...)

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"N7m0WBoGL8TIM3b0wKf4z","name":"fps","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              Last measured fps rate.
              \nThis feature is disabled by default, unless the debugPanel is enabled/visible.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8S3TvojvCRbj3Y-9O3LGk","name":"interpolation","brief":"","defaultValue":"false","scope":"instance","see":["tick"],"type":"PropertyDoc","description":"

              Enable/disable frame interpolation

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kvJZt608fG1-SYxxjIJoM","name":"maxfps","brief":"","access":"public","defaultValue":"60","scope":"instance","see":["tick"],"type":"PropertyDoc","description":"

              Set the maximum target display frame per second

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IJXp8uOiZE0o4vhzZpfR5","name":"tick","brief":"","access":"public","defaultValue":"1","scope":"instance","see":["interpolation"],"type":"PropertyDoc","description":"

              Last game tick value.
              \nUse this value to scale velocities during frame drops due to slow hardware or when setting an F...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TFXqy5KY6WYu3uFFJYT3t","name":"clearInterval","brief":"","scope":"instance","type":"MethodDoc","description":"

              cancels the timed, repeating action which was previously established by a call to setInterval().

              ","params":[{"identifier":"intervalID","optional":false,"description":"

              ID of the interval to be cleared

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"eTcfa2bUW2exZ_wkf6GXs","name":"clearTimeout","brief":"","scope":"instance","type":"MethodDoc","description":"

              Cancels a timeout previously established by calling setTimeout().

              ","params":[{"identifier":"timeoutID","optional":false,"description":"

              ID of the timeout to be cancelled

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8ns4Vlnt9hdfpX4L_iQt5","name":"getDelta","brief":"","scope":"instance","type":"MethodDoc","description":"

              Return elapsed time in milliseconds since the last update

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"D4EpgEQi7neB3N5qC7Fnc","name":"getTime","brief":"","scope":"instance","type":"MethodDoc","description":"

              Return the current timestamp in milliseconds
              \nsince the game has started or since linux epoch (based on browser suppor...","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vNX3ZKYAytNoOEJTddYIV","name":"setInterval","brief":"","examples":[{"caption":"","code":"// set a timer to call \"myFunction\" every 1000ms\nme.timer.setInterval(myFunction, 1000);\n// set a timer to call \"myFunction\" every 1000ms (respecting the pause state) and passing param1 and param2\nme.timer.setInterval(myFunction, 1000, true, param1, param2);"}],"scope":"instance","type":"MethodDoc","description":"

              Calls a function continously at the specified interval. See setTimeout to call function a single time.

              ","params":[{"identifier":"fn","optional":false,"description":"

              the function to execute

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"delay","optional":false,"description":"

              the number of milliseconds (thousandths of a second) on how often to execute the function

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pauseable","optional":true,"default":"true","description":"

              respects the pause state of the engine.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"args","optional":false,"variadic":true,"description":"

              optional parameters which are passed through to the function specified by fn once the timer expires.

              ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

              a numeric, non-zero value which identifies the timer created by the call to setInterval(), which can be used later with me...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_a4CwYC8Jn5D6NDlqwwUC","name":"setTimeout","brief":"","examples":[{"caption":"","code":"// set a timer to call \"myFunction\" after 1000ms\nme.timer.setTimeout(myFunction, 1000);\n// set a timer to call \"myFunction\" after 1000ms (respecting the pause state) and passing param1 and param2\nme.timer.setTimeout(myFunction, 1000, true, param1, param2);"}],"scope":"instance","type":"MethodDoc","description":"

              Calls a function once after a specified delay. See me.timer.setInterval to repeativly call a function.

              ","params":[{"identifier":"fn","optional":false,"description":"

              the function you want to execute after delay milliseconds.

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"delay","optional":false,"description":"

              the number of milliseconds (thousandths of a second) that the function call should be delayed by.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pauseable","optional":true,"default":"true","description":"

              respects the pause state of the engine.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"args","optional":false,"variadic":true,"description":"

              optional parameters which are passed through to the function specified by fn once the timer expires.

              ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

              a positive integer value which identifies the timer created by the call to setTimeout(), which can be used later with me.t...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"k8djpWrY6o9CvCsUUUGGu","name":"TMXHexagonalRenderer","brief":"","type":"ClassDoc","description":"

              an Hexagonal Map Renderder

              ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"zECXEVQqKR1FT4XX5WLUc","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if the renderer can render the specified map or layer

              ","params":[{"identifier":"component","optional":false,"description":"

              TMX Map or Layer

              ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Lc0DYW5-ZGiTSIVS6iyRe","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

              the TMX map

              ","dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6r6yayfdZBbFtbZ9x4o4A","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given tile at the specified layer

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

              X coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

              the tile object to draw

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6gQU1g-4epO_GuyDhiKlG","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given TMX Layer for the given area

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

              a TMX Layer object

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

              the area of the layer to draw

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"em2fDSpInkH6kRsWscPtv","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the bounding rect for this map renderer

              ","params":[{"identifier":"layer","optional":true,"description":"

              calculate the bounding rect for a specific layer (will return a new bounds object)

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IfZ_SE134I2_OI_b9bkzk","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tile position corresponding to the specified pixel

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9NF98PmsibH-llFo4xIxR","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the pixel position corresponding of the specified tile

              ","params":[{"identifier":"col","optional":false,"description":"

              tile horizontal position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

              tile vertical position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"55FRg3tKSiI7RPtB2MT2D","name":"TMXIsometricRenderer","brief":"","type":"ClassDoc","description":"

              an Isometric Map Renderder

              ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"L_tKLbG8DOXfdUHb_LHGi","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if the renderer can render the specified map or layer

              ","params":[{"identifier":"component","optional":false,"description":"

              TMX Map or Layer

              ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"1kfOkO-nrvo8j6oRLBWIV","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

              the TMX map

              ","dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"BQ054yQ3IiHmhe1UC1VQU","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given tile at the specified layer

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

              X coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

              the tile object to draw

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"IZERQXlosVy1DgU2gUkiv","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given TMX Layer for the given area

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

              a TMX Layer object

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

              the area of the layer to draw

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"m362matGcGDZ2RNzzIwML","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the bounding rect for this map renderer

              ","params":[{"identifier":"layer","optional":true,"description":"

              calculate the bounding rect for a specific layer (will return a new bounds object)

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nEj-jALeTSCu-LQoHeesp","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tile position corresponding to the specified pixel

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1D3IY36njvjJiplUf6DyE","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the pixel position corresponding of the specified tile

              ","params":[{"identifier":"col","optional":false,"description":"

              tile horizontal position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

              tile vertical position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"d1y6fOhj4Z5H3B6aXrW11","name":"TMXLayer","brief":"","type":"ClassDoc","description":"

              a TMX Tile Layer Object\nTiled QT 0.7.x format

              ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"tW4rFGt9GErBKPYjgc0n6","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

              Define the renderable opacity
              \nSet to zero if you do not wish an object to be drawn

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yA9TN64nbZUjwRPVNNeu9","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object will always update, even when outside of the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ObuzFsNJWQbOQMlZDrfVd","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              a reference to the parent object that contains this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IGihQlkIZYZ73TeD_xs3Q","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

              The anchor point is used for attachment behavior, and/or when applying transformations.
              \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"36NjYn7ULlUhtPvGm7XuJ","name":"animatedTilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

              All animated tilesets in this layer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oP_QGTGcqMaOwtpuppskP","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

              When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ozj-kgtQL6WduTroy0Jtq","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

              the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m7LrqkOxwVFtt97lS9LQv","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

              the renderable physic body

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hQHwyK5kd8AngmQmhQAJ_","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eG6ZI1eBLBMeEM_fYGeoP","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y-0RSFff8qcRVRa285jpN","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v9oALU3W0wwBj_KX7yAnG","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the layer class

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sJDYs9gjSfS6Eo6EO9PrD","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_iC56S9kr3hcCEE2q3mrn","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BLA5LWEveDBf5E4AGzYfA","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O-q5X4gEXpQ83Lqmz2NIO","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

              (G)ame (U)nique (Id)entifier"
              \na GUID will be allocated for any renderable object added
              \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4KpKIwZQ4fMc6dwXTRMBf","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sOG_ZI9XBkR6hp_qi8pTj","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object is visible and within the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C60jMEbsMrHBqmIJ7rO4q","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Layer contains tileset animations

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r9Olfr-D8tr-M9bWok3s8","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              when true the renderable will be redrawn during the next update cycle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QXTeS4Tw5Vesjbg_YIwwN","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q0FJbXteO7gQsWbRknnfx","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"meJosZVherIFAdp64eMRy","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

              Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7nuH64Qj2-dVR1OKBOvZj","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              If true then physic collision and input events will not impact this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TO-Qas3ZIoC0vdYZrzgKx","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6svuBfEgkpJzR122lXMWc","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KiS9HeDnwVca710EWdywa","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

              A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0sItwL_ZcG1oTrL7-B0D8","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q9c0LMdpYCTxpsMKh4QJB","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

              an event handler that is called when the renderable leave or enter a camera viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uqAXVlZUVKDIKVtHn5uVX","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

              returns the parent application (or game) to which this renderable is attached to

              ","params":[],"returns":[{"description":"

              the parent application or undefined if not attached to any container/app

              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SXEptethEvoSPciOMHBKC","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

              Array of points defining the Polygon
              \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fHrg2yA8V2kO-JVky2MA6","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OfKQ9CPpL0bRRAFCkOTFV","name":"renderorder","brief":"","defaultValue":"\"right-down\"","scope":"instance","type":"PropertyDoc","description":"

              the order in which tiles on orthogonal tile layers are rendered.\n(valid values are "left-down", "left-up&qu...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NvcZk1k78R4KPLGj1htgZ","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aOM2GJ2CPf_3KqM1iyZwT","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wd2WVlCoff0P0YO_484KV","name":"tilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The Layer corresponding Tilesets

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AQA37met7VOEwi1igMlpg","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

              define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wHdHOSgHTJvroqWE382gw","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F0I4VkVYaqh8-rfcBopmx","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t87Mb9px7dGeP2OuYDvaL","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether to update this object when the game is paused.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bl6kBEjAZX41RtFU11zs6","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uZ8ptVCuHv_5GAP6x_545","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              Horizontal layer offset in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n98qM5kR1M-ZlxeONTNdO","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              Vertical layer offset in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mibwxUivDOCHeIvxusewA","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the angle to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FU_9DpHz7cEkRDLOx2nLf","name":"cellAt","brief":"","examples":[{"caption":"","code":"// return the first tile at offset 0, 0\nlet tile = layer.cellAt(0, 0);"}],"scope":"instance","type":"MethodDoc","description":"

              Return the Tile object at the specified tile coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              x position of the tile (in Tile unit)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              x position of the tile (in Tile unit)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"boundsCheck","optional":true,"default":"true","description":"

              check first if within the layer bounds

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              corresponding tile or null if there is no defined tile at the position or if outside of the layer bounds

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NNKNQhtCQOgWfAeyWf1TV","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

              center the rectangle position around the given coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              the x coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jkEglGm13ntzBIGF7xUtJ","name":"clearTile","brief":"","examples":[{"caption":"","code":"me.game.world.getChildByType(me.TMXLayer).forEach(function(layer) {\n // clear all tiles at the given x,y coordinates\n layer.clearTile(x, y);\n});"}],"scope":"instance","type":"MethodDoc","description":"

              clear the tile at the specified position

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate (in map coordinates: row/column)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate (in map coordinates: row/column)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"aTGkEA2J8vMzJsIaCXGux","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              clone this rectangle

              ","params":[],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qZuVuFik5K8sirT0308Qw","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

              layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"data","optional":false,"description":"

              layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"tilewidth","optional":false,"description":"

              width of each tile in pixels

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tileheight","optional":false,"description":"

              height of each tile in pixels

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"orientation","optional":false,"description":"

              "isometric" or "orthogonal"

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"tilesets","optional":false,"description":"

              tileset as defined in Tiled

              ","dataType":{"tokens":[{"value":"TMXTilesetGroup","kind":"canonical"},{"value":"TMXTilesetGroup","kind":"link"}],"template":"%1"}},{"identifier":"z","optional":false,"description":"

              z-index position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"32KNS35zJ9fY5gg_gt9nq","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

              Returns true if the rectangle contains the given point or rectangle

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point, or a rectangle to test

              ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

              y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              True if the rectangle contain the given point or rectangle, otherwise false

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fslp1XxZFtUk-5GWc79nk","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

              copy the position and size of the given rectangle into this one

              ","params":[{"identifier":"rect","optional":false,"description":"

              Source rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nRUW0a2ESMtIbxSnjTPel","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the distance to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              distance

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zaTN4g3k2K_JSXPzmxSpe","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

              Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer instance

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

              the viewport to (re)draw

              ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CNQSfJWGVodsQqqM0uYVW","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is identical to the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if equals

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ydqa9NrglLecRajP7pUxR","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

              flip the renderable on the horizontal axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ddhq4w3Ga8W2J1POzALSo","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

              flip the renderable on the vertical axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"734IYMRvVH7QGjAFByi5M","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the renderable absolute position in the game world

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vCPLDCuTNvSMdsL8zB8JN","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the bounding box for this renderable

              ","params":[],"returns":[{"description":"

              bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y7YfyQlbRSe6MFMKSatQU","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns a list of indices for all triangles defined in this polygon

              ","params":[],"returns":[{"description":"

              an array of vertex indices for all triangles forming this polygon.

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"DywfuoCpVNZDcfFD3LIGB","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              get the renderable alpha channel value

              ","params":[],"returns":[{"description":"

              current opacity value between 0 and 1

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yMQHDQt94S5Yx3AuTo1PI","name":"getRenderer","brief":"","scope":"instance","type":"MethodDoc","description":"

              Return the layer current renderer object

              ","params":[],"returns":[{"description":"

              renderer

              ","dataType":{"tokens":[{"value":"TMXRenderer","kind":"canonical"},{"value":"TMXRenderer","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d84RT8GLJgUbjfyBqq8sj","name":"getTile","brief":"","examples":[{"caption":"","code":"// get the TMX Map Layer called \"Front layer\"\nlet layer = me.game.world.getChildByName(\"Front Layer\")[0];\n// get the tile object corresponding to the latest pointer position\nlet tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);"}],"scope":"instance","type":"MethodDoc","description":"

              Return the Tile object at the specified position

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0mtUI_88mygh6JG8WKyAu","name":"getTileById","brief":"","scope":"instance","type":"MethodDoc","description":"

              return a new the Tile object corresponding to the given tile id

              ","params":[{"identifier":"tileId","optional":false,"description":"

              tileId

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

              X coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the tile object

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4qYBRgd-xATaznEyEcFAU","name":"getTileId","brief":"","scope":"instance","type":"MethodDoc","description":"

              Return the TileId of the Tile at the specified position

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              TileId or null if there is no Tile at the given position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PJlGYmr_-ZNRJBxmbEs98","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

              ","params":[],"returns":[{"description":"

              true if the vertices are convex, false if not, null if not computable

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"MGl9eNfWUrUNYLlu3Uz4W","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

              determines whether all coordinates of this rectangle are finite numbers.

              ","params":[],"returns":[{"description":"

              false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"r9w_6g-yKLVYYEdKoFlvG","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable towards the given target.

              ","params":[{"identifier":"target","optional":false,"description":"

              the renderable or position to look at

              ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"c98JY99y2VgFrKkmWKK6H","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

              onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

              ","params":[{"identifier":"response","optional":false,"description":"

              the collision response object

              ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

              the other renderable touching this one (a reference to response.a or response.b)

              ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

              true if the object should respond to the collision (its position and velocity will be corrected)

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zArtpf0W0UigRGgftxiAS","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vUXi25GS4DwxNwy9I6yow","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is intersecting with the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if overlaps

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"yrnVVaPaFlULHj7GvdPV2","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

              restore the rendering context after drawing (automatically called by melonJS).

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"iKkn0YC5WVzAbdPvp0iis","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

              Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"tvKadBMMSaAuN96JKXuf_","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

              Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9i036S04wQ85ZcRqXkNKL","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

              resize the rectangle

              ","params":[{"identifier":"w","optional":false,"description":"

              new width of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              new height of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NdD0cCdF8WJP591NGhtNS","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable by the specified angle (in radians).

              ","params":[{"identifier":"angle","optional":false,"description":"

              The angle to rotate (in radians)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional point to rotate around

              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yyfx1yeaItq-9JKI7sKuQ","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

              a number representing the abscissa of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

              a number representing the ordinate of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Pz78ZKaeQinrWYfCcM_B1","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point

              ","params":[{"identifier":"v","optional":false,"description":"

              scaling vector

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P1r5MzTGZwHfffZ2BwjRz","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the renderable alpha channel value

              ","params":[{"identifier":"alpha","optional":false,"description":"

              opacity value between 0.0 and 1.0

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"074IhdkkuvBWjcnBv5Mve","name":"setRenderer","brief":"","examples":[{"caption":"","code":"// use the parent map default renderer\nlet layer = new me.TMXLayer(...);\nlayer.setRenderer(map.getRenderer());"}],"scope":"instance","type":"MethodDoc","description":"

              Set the TMX renderer for this layer object

              ","params":[{"identifier":"renderer","optional":false,"dataType":{"tokens":[{"value":"TMXRenderer","kind":"canonical"},{"value":"TMXRenderer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JdKzdM2p8Ea_z62fj_oyl","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

              set new value to the rectangle shape

              ","params":[{"identifier":"x","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              width of the rectangle, or an array of vector defining the rectangle

              ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

              height of the rectangle, if a numeral width parameter is specified

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eQ8lX3en8cCHJVkIysW0i","name":"setTile","brief":"","scope":"instance","type":"MethodDoc","description":"

              assign the given Tile object to the specified position

              ","params":[{"identifier":"tile","optional":false,"description":"

              the tile object to be assigned

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

              x coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y coordinate (in world/pixels coordinates)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the tile object

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aRTCc7p2lJ5p-pxj1xz91","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the vertices defining this Polygon

              ","params":[{"identifier":"vertices","optional":false,"description":"

              array of vector or vertice defining the Polygon

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

              this instance for objecf chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b08O0xstrFdP8ViLqFe7X","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              Shifts the Polygon to the given position vector.

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to shift to

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CKtGBdDNOzIr399BOSyIF","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply a 2d projection to this shapen

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"K6s3HGHssIpPU-OWnX1XO","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply an isometric projection to this shape

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"a_H0rIJoFcK23bPPLhlsu","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns a polygon whose edges are the same as this box.

              ","params":[],"returns":[{"description":"

              a new Polygon that represents this rectangle.

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fpOzlSJo5FdD1QVvV_-5t","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

              multiply the renderable currentTransform with the given matrix

              ","params":[{"identifier":"m","optional":false,"description":"

              the transformation matrix

              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wMFs4WzzkLTpk2bAt_7I3","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              translate the Polygon by the specified offset

              ","params":[{"identifier":"x","description":"

              x offset or a vector point to translate by

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

              y offset

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"N_uxzhZcrLnAgr6ePrhT0","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

              merge this rectangle with another one

              ","params":[{"identifier":"rect","optional":false,"description":"

              other rectangle to union with

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              the union(ed) rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FC0IKbCJWarAjcA97TZAN","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

              update function (automatically called by melonJS).

              ","params":[{"identifier":"dt","optional":false,"description":"

              time since the last update in milliseconds.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              true if the renderable is dirty

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_8yjkXB5xKWTflgTHvD1n","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              update the bounding box for this shape.

              ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

              update the bounds size and position in (world) absolute coordinates

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              this shape bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-Z2fCTnEIzr-e3qcBVvFq","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

              called when the anchor point value is changed

              ","params":[{"identifier":"x","optional":false,"description":"

              the new X value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the new Y value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"mzYrnHD-Jxv3dBelfYP0m","name":"TMXOrthogonalRenderer","brief":"","type":"ClassDoc","description":"

              an Orthogonal Map Renderder

              ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"Zq2t8qe2N1n7Xj8TNFafL","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if the renderer can render the specified map or layer

              ","params":[{"identifier":"component","optional":false,"description":"

              TMX Map or Layer

              ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0WhOTO19wXeyMTPm-3gSf","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

              the TMX map

              ","dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"A2F5xj2QcVb9YTnjfGMbS","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given tile at the specified layer

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

              X coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

              the tile object to draw

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"masFtfAlI-pYGxiSCTWns","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given TMX Layer for the given area

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

              a TMX Layer object

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

              the area of the layer to draw

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bbX_zUUGlUZIaGfbZ7KZ-","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the bounding rect for this map renderer

              ","params":[{"identifier":"layer","optional":true,"description":"

              calculate the bounding rect for a specific layer (will return a new bounds object)

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E2ogWzubVxrY_1oWVELqv","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tile position corresponding to the specified pixel

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PafENxWNQMmSFPxUoyi8u","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the pixel position corresponding of the specified tile

              ","params":[{"identifier":"col","optional":false,"description":"

              tile horizontal position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

              tile vertical position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"pj2Lsfy9Qw2eWOy-iA4Ug","name":"TMXRenderer","brief":"","type":"ClassDoc","description":"

              The map renderer base class

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"zh3BFQQZqrTQdeLnpkZKh","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if the renderer can render the specified map or layer

              ","params":[{"identifier":"component","optional":false,"description":"

              TMX Map or Layer

              ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"sJElXveiAagRX5nZghQLP","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"cols","optional":false,"description":"

              width of the tilemap in tiles

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"rows","optional":false,"description":"

              height of the tilemap in tiles

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tilewidth","optional":false,"description":"

              width of each tile in pixels

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tileheight","optional":false,"description":"

              height of each tile in pixels

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"K1C7MaPw27F2XC9Tl8oJM","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given tile at the specified layer

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

              X coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

              the tile object to draw

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"PRBSeKxqcGR1hiUvNtmuc","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given TMX Layer for the given area

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

              a TMX Layer object

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

              the area of the layer to draw

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"l9wk2zrUBlYlnsv7u7Y4Z","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the bounding rect for this map renderer

              ","params":[{"identifier":"layer","optional":true,"description":"

              calculate the bounding rect for a specific layer (will return a new bounds object)

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JMtEiEPGvs0ksDlMVxXRY","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tile position corresponding to the specified pixel

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tuPcrJSIkSLGJSfm-PR_i","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the pixel position corresponding of the specified tile

              ","params":[{"identifier":"col","optional":false,"description":"

              tile horizontal position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

              tile vertical position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"Fv2OxarQBBu8IBP23fqsL","name":"TMXStaggeredRenderer","type":"ClassDoc","description":"

              a Staggered Map Renderder

              ","params":[],"returns":[],"extends":["TMXHexagonalRenderer"],"implements":[],"members":[{"id":"hdPiBZGG6xB_8IRFC0AmR","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if the renderer can render the specified map or layer

              ","params":[{"identifier":"component","optional":false,"description":"

              TMX Map or Layer

              ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rX7qgKHM0HQf8Bpru6Tnk","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"NDxmZAfWqo0y753PqSKc4","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given tile at the specified layer

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

              X coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate where to draw the tile

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

              the tile object to draw

              ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"xUDaK9zq4yM6A7X5RnXVm","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

              draw the given TMX Layer for the given area

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

              a TMX Layer object

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

              the area of the layer to draw

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"VGT7zrHqiC_mMHATG2-dv","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the bounding rect for this map renderer

              ","params":[{"identifier":"layer","optional":true,"description":"

              calculate the bounding rect for a specific layer (will return a new bounds object)

              ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mn4GNphcu11E43nQ5GOeo","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tile position corresponding to the specified pixel

              ","params":[{"identifier":"x","optional":false,"description":"

              X coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5uDeyWt925VMc5p4CXcrZ","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the pixel position corresponding of the specified tile

              ","params":[{"identifier":"col","optional":false,"description":"

              tile horizontal position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

              tile vertical position

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional vector object where to put the return values

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"wYWJw9C8SfEG3QrF5NaX6","name":"TMXTileMap","brief":"","type":"ClassDoc","description":"

              a TMX Tile Map Object\nTiled QT +0.7.x format

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"7D0yP3t-picS8VN9X8Eno","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The map class.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eY6tptcS6EiC29p19lsSS","name":"cols","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              width of the tilemap in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XEcoQMcodcrWsA6r6T7-l","name":"infinite","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              is the map an infinite map

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UknIZS4Osmr-lyLYzK3ir","name":"name","brief":"","scope":"instance","type":"PropertyDoc","description":"

              name of the tilemap

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RS_vpX4xx8AyY07jFU72v","name":"orientation","brief":"","defaultValue":"\"orthogonal\"","scope":"instance","type":"PropertyDoc","description":"

              the map orientation type. melonJS supports “orthogonal”, “isometric”, “staggered” and “hexagonal”.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R14Ucd7DO_pFEscsYknvM","name":"renderorder","brief":"","defaultValue":"\"right-down\"","scope":"instance","type":"PropertyDoc","description":"

              the order in which tiles on orthogonal tile layers are rendered.\n(valid values are "left-down", "left-up&qu...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z1RrJ9HSYcu6s7yLGkCk7","name":"rows","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              height of the tilemap in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fgEKz00vLMrNIpJkeN-Kr","name":"tiledversion","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The Tiled version used to save the file (since Tiled 1.0.1).

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P5ea5f_Ho60HWkJkICg5l","name":"tileheight","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              Tile height

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IAFX1QsFBMaEgjfPW21Qs","name":"tilewidth","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              Tile width

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YOGEtbgr9GpQht5TiBVLR","name":"version","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the TMX format version

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WeX30ulB5ghvkQBZS1prK","name":"addTo","brief":"","examples":[{"caption":"","code":"// create a new level object based on the TMX JSON object\nlet level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));\n// add the level to the game world container\nlevel.addTo(me.game.world, true, true);"}],"scope":"instance","type":"MethodDoc","description":"

              add all the map layers and objects to the given container.\nnote : this will not automatically update the camera viewport

              ","params":[{"identifier":"container","optional":false,"description":"

              target container

              ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"flatten","optional":true,"default":"true","description":"

              if true, flatten all objects into the given container, else a me.Container object will be created for each co...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"setViewportBounds","optional":true,"default":"false","description":"

              if true, set the viewport bounds to the map size, this should be set to true especially if adding a level to the game worl...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"O_-F79x2J6QQh6hCPex-2","name":"constructor","brief":"","examples":[{"caption":"","code":"// create a new level object based on the TMX JSON object\nlet level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));\n// add the level to the game world container\nlevel.addTo(me.game.world, true);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"levelId","optional":false,"description":"

              name of TMX map

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"data","optional":false,"description":"

              TMX map in JSON format

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"Phb97tMB4jDMPdvmJZ37h","name":"destroy","brief":"

              destroy function, clean all allocated objects

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P6ZbMCYSBBqksdu9VLjZU","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the map bounding rect

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eavycQn440PtKRykUAdYf","name":"getLayers","brief":"","scope":"instance","type":"MethodDoc","description":"

              return all the existing layers

              ","params":[],"returns":[{"description":"

              Array of Layers

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"4H0hL9qGrU-YkSaIOxfJT","name":"getObjects","brief":"","scope":"instance","type":"MethodDoc","description":"

              return an Array of instantiated objects, based on the map object definition

              ","params":[{"identifier":"flatten","optional":true,"default":"true","description":"

              if true, flatten all objects into the returned array.\nwhen false, a me.Container object will be created for e...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Array of Objects

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"BSWaq2-yX1yfMXqmccQoP","name":"getRenderer","brief":"","scope":"instance","type":"MethodDoc","description":"

              Return the map default renderer

              ","params":[],"returns":[{"description":"

              a TMX renderer

              ","dataType":{"tokens":[{"value":"TMXRenderer","kind":"canonical"},{"value":"TMXRenderer","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"zEeSnHsPDXPyQUWsTEJW2","name":"TMXTileset","brief":"","type":"ClassDoc","description":"

              a TMX Tile Set Object

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"_9YZGjaoUzvu6JgpL8vl-","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the tileset class

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N2kTlExUBYCwTCj014slD","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Tileset contains animated tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lXwORP5O73nPcXCpCBayL","name":"isCollection","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if the tileset is a "Collection of Image" Tileset

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9PdKLm9GCC16voTmOEXtz","name":"_lastUpdate","brief":"","access":"private","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              Remember the last update timestamp to prevent too many animation updates

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HQKikht5ZzrJQJhHUiG1H","name":"animations","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

              Tileset animations

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QoXkuPYVO3cjm1UiKEA33","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"tileset","optional":false,"description":"

              tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"Uxji-YiXhKNfhBobfJ1n-","name":"contains","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if the gid belongs to the tileset

              ","params":[{"identifier":"gid","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"IQgTJ0V9fSMeZGVFTDFde","name":"getTileImage","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tile image from a "Collection of Image" tileset

              ","params":[{"identifier":"gid","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              corresponding image or undefined

              ","dataType":{"tokens":[{"value":"Image","kind":"canonical"},{"value":"Image","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"436tCInuw3WlBfumnn0nn","name":"getTileProperties","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the properties of the specified tile

              ","params":[{"identifier":"tileId","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"jRaIQbzsncwCwiQRzIKmV","name":"getViewTileId","brief":"","scope":"instance","type":"MethodDoc","description":"

              Get the view (local) tile ID from a GID, with animations applied

              ","params":[{"identifier":"gid","optional":false,"description":"

              Global tile ID

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              View tile ID

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"L0zI8YecPemS3Z9D7Qq1o","name":"TMXTilesetGroup","brief":"","type":"ClassDoc","description":"

              an object containing all tileset

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"P_3ZvsMEVFCiazL_9z683","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

              add a tileset to the tileset group

              ","params":[{"identifier":"tileset","optional":false,"dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"RHwEn2MKDTQF7dkad_veM","name":"getTilesetByGid","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tileset corresponding to the specified id
              \nwill throw an exception if no matching tileset is found

              ","params":[{"identifier":"gid","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              corresponding tileset

              ","dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gpIogvsTp5fqeMp6uGaLA","name":"getTilesetByIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the tileset at the specified index

              ","params":[{"identifier":"i","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              corresponding tileset

              ","dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"WxvxmBnbXub2CAMrfYazJ","name":"Trigger","brief":"","type":"ClassDoc","description":"

              trigger an event when colliding with another object

              ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"BzIR15sGpWET86zY4-bGE","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

              Define the renderable opacity
              \nSet to zero if you do not wish an object to be drawn

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_hq-FvnmP7tJk9MVEyQxQ","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object will always update, even when outside of the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4JhYwb32XKwY51S1_Z4BJ","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              a reference to the parent object that contains this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0Q59fenLfOqh-gAnwqcAV","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

              The anchor point is used for attachment behavior, and/or when applying transformations.
              \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vGqt0OEQYeDIaiH9eEgjs","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

              When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aBeyi5yoRO7H5mXyQ9LSI","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

              the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O28vvGrm2XipjkJII_eMO","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

              the renderable physic body

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XcR69oj0qTvAutsD5G2Qj","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HahHuhS6b_OypEh3VlFGJ","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4uCICWYb8n52W_gIB9NTh","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BGjFRZMJ5surgHkfkaR7Z","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ungzImgEVs4RxJtnZz2c0","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lpgu7olCLlxrkVHUhnMlq","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gSGE9tmYWFr35_MDtbeG6","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

              (G)ame (U)nique (Id)entifier"
              \na GUID will be allocated for any renderable object added
              \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pO0g9W90dDS72sScfZZL8","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xuycy6fKk5zseJ4Pxe1MP","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object is visible and within the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A8nBZoxqv-Kx5J73JbQ90","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              when true the renderable will be redrawn during the next update cycle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0GOjWWrO7LBSnqBxfosTK","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"joW79UghtY6r9q5Zaudpo","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IfXpR4BsaH-wUaP73n5uB","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

              Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2LaOG7tA8gCjmotIJDalj","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              If true then physic collision and input events will not impact this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yGBax4dbp6fqCB1m8aE3-","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_asn3YJxmesTVBYBxvx0h","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g1mjNzfv7XxE-NBFGjVyW","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

              A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qdAvGJZ8KYnWp-nsAVREv","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rws6vj6Szb-1FDPkO5dCZ","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

              an event handler that is called when the renderable leave or enter a camera viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RHX8C56u2_EOyUB83Z6eH","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

              returns the parent application (or game) to which this renderable is attached to

              ","params":[],"returns":[{"description":"

              the parent application or undefined if not attached to any container/app

              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6my3FlW2sfH2NuL0hayzV","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

              Array of points defining the Polygon
              \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C5SNY4Mt-5H_L4qqqyYJM","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3rSdY2OGTkyrfq4LFVJiy","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QyPcHELKuyhK6c0sfme20","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fa788wYX9c4Rs14cjt6Fm","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

              define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tuVjsXlTPLL81tZVC5kRc","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ddjOJQab4e4YEKmJk4M3r","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lY5VxHZmMecQ3Ok4GCnJc","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether to update this object when the game is paused.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SBbZ3Imn0IT6DZZgsbqvn","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tTGYX3ubwfMQVDB_4EeOh","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the angle to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_c8Lr-jQ0njjlS0XjzjaU","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

              center the rectangle position around the given coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              the x coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WGuH8Ha46k9q522nNtf9G","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              clone this rectangle

              ","params":[],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5rwJK_5Fj8dy6HttqH_A-","name":"constructor","brief":"","examples":[{"caption":"","code":"world.addChild(new me.Trigger(\n x, y, {\n shapes: [new me.Rect(0, 0, 100, 100)],\n \"duration\" : 250,\n \"color\" : \"#000\",\n \"to\" : \"mymap2\"\n }\n));"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

              the x coordinates of the trigger area

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinates of the trigger area

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.width","optional":true,"description":"

              width of the trigger area

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.height","optional":true,"description":"

              height of the trigger area

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.shapes","optional":true,"description":"

              collision shape(s) that will trigger the event

              ","dataType":{"tokens":[{"value":"Array | Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Line","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1<%2> | %3<%4> | %5<%6> | %7<%8>"}},{"identifier":"settings.duration","optional":true,"description":"

              Fade duration (in ms)

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.color","optional":true,"description":"

              Fade color

              ","dataType":{"tokens":[{"value":"string | Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.event","optional":true,"default":"\"level\"","description":"

              the type of event to trigger (only "level" supported for now)

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.to","optional":true,"description":"

              level to load if level trigger

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.container","optional":true,"description":"

              Target container. See {@link level.load}

              ","dataType":{"tokens":[{"value":"string | Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.onLoaded","optional":true,"description":"

              Level loaded callback. See {@link level.load}

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.flatten","optional":true,"description":"

              Flatten all objects into the target container. See {@link level.load}

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"settings.setViewportBounds","optional":true,"description":"

              Resize the viewport to match the level. See {@link level.load}

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"B1DYB1-udJTnKYAo9ENpT","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

              Returns true if the rectangle contains the given point or rectangle

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point, or a rectangle to test

              ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

              y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              True if the rectangle contain the given point or rectangle, otherwise false

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"tOmMAEVwW74klW1OyaTSx","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

              copy the position and size of the given rectangle into this one

              ","params":[{"identifier":"rect","optional":false,"description":"

              Source rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZobshtDpjDLV9xkrAwTYm","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the distance to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              distance

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"j27qI1CFZv8AKE6QpYflZ","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

              Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer instance

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

              the viewport to (re)draw

              ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"WW0gP0f_fCsBQKGF5_bIl","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is identical to the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if equals

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"BbYPMq7JSNvgKJ8QLFCx6","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

              flip the renderable on the horizontal axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nXfO9kB1CAtDvORvUCZBA","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

              flip the renderable on the vertical axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yN_a6HK0PKqCYANPEuEz3","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the renderable absolute position in the game world

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"N_xw0WHnVJStFTKhgy_2T","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the bounding box for this renderable

              ","params":[],"returns":[{"description":"

              bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uOhLnB_-Qfw3IIYbWjfUY","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns a list of indices for all triangles defined in this polygon

              ","params":[],"returns":[{"description":"

              an array of vertex indices for all triangles forming this polygon.

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"r3kgJkd-d9g2J0tRw2qbB","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              get the renderable alpha channel value

              ","params":[],"returns":[{"description":"

              current opacity value between 0 and 1

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RGmvhOXlcon4b8jzDJm_4","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

              ","params":[],"returns":[{"description":"

              true if the vertices are convex, false if not, null if not computable

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Q0-SJQccPL7pff7JbshU-","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

              determines whether all coordinates of this rectangle are finite numbers.

              ","params":[],"returns":[{"description":"

              false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hfiuq1UgvkGCepzNtHaF-","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable towards the given target.

              ","params":[{"identifier":"target","optional":false,"description":"

              the renderable or position to look at

              ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i8G10YwzsMuPFCRVyKD88","name":"onCollision","brief":"","scope":"instance","type":"MethodDoc","description":"

              onCollision callback, triggered in case of collision with this trigger

              ","params":[{"identifier":"response","optional":false,"description":"

              the collision response object

              ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

              the other renderable touching this one (a reference to response.a or response.b)

              ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

              true if the object should respond to the collision (its position and velocity will be corrected)

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"CY-jhFVv2V0rb_73Sm0nh","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IrmrDsxq9pcMVY7y2uxux","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is intersecting with the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if overlaps

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TIVIi2IE1378Tejdd6Ns2","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

              restore the rendering context after drawing (automatically called by melonJS).

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"_MZ5eFXMQPI0-JXcuUk4U","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

              Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"T2Knu6aJCTFUnLTx0oKPU","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

              Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WXWR__snEskMCMDvOCGNs","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

              resize the rectangle

              ","params":[{"identifier":"w","optional":false,"description":"

              new width of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              new height of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JviGJNYDVZ92g42-E5law","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable by the specified angle (in radians).

              ","params":[{"identifier":"angle","optional":false,"description":"

              The angle to rotate (in radians)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional point to rotate around

              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6wLLkMHtne1jvOrhA8vA9","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

              a number representing the abscissa of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

              a number representing the ordinate of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SJa3d8XyglwFq0ATGv_k9","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point

              ","params":[{"identifier":"v","optional":false,"description":"

              scaling vector

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OFll706_4EuNHS2sZA2S6","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the renderable alpha channel value

              ","params":[{"identifier":"alpha","optional":false,"description":"

              opacity value between 0.0 and 1.0

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9Rqt57EouW5Lk1kd9EfZH","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

              set new value to the rectangle shape

              ","params":[{"identifier":"x","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              width of the rectangle, or an array of vector defining the rectangle

              ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

              height of the rectangle, if a numeral width parameter is specified

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YLBxw5j4DGBRvdhoaZNu5","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the vertices defining this Polygon

              ","params":[{"identifier":"vertices","optional":false,"description":"

              array of vector or vertice defining the Polygon

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

              this instance for objecf chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gIU9w8haswH1QDvG6NQpt","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              Shifts the Polygon to the given position vector.

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to shift to

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vRQaJyL-jq5K-ouOOaGkv","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply a 2d projection to this shapen

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UT1iZXFXu924cf4dAnba0","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply an isometric projection to this shape

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DjxlA-mK8bWClAXdBw7S7","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns a polygon whose edges are the same as this box.

              ","params":[],"returns":[{"description":"

              a new Polygon that represents this rectangle.

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"chTBLRKtj3iUTjzUx4WEu","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

              multiply the renderable currentTransform with the given matrix

              ","params":[{"identifier":"m","optional":false,"description":"

              the transformation matrix

              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Bgy1RormoLgTzTcAxsLv7","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              translate the Polygon by the specified offset

              ","params":[{"identifier":"x","description":"

              x offset or a vector point to translate by

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

              y offset

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"74OFk_5VbHkh156RLhRiy","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

              merge this rectangle with another one

              ","params":[{"identifier":"rect","optional":false,"description":"

              other rectangle to union with

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              the union(ed) rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FBF9Ji_eoRPu6Z8B0JFyQ","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

              update function (automatically called by melonJS).

              ","params":[{"identifier":"dt","optional":false,"description":"

              time since the last update in milliseconds.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              true if the renderable is dirty

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HN0QgBqIhz4Jv_ULvhcFY","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              update the bounding box for this shape.

              ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

              update the bounds size and position in (world) absolute coordinates

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              this shape bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UG1Mz64D0Om8yyWdr1KWV","name":"triggerEvent","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              trigger this event

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hgjDHHAzS4nGuUnxWT9cn","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

              called when the anchor point value is changed

              ","params":[{"identifier":"x","optional":false,"description":"

              the new X value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the new Y value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"PjQXzMtJ98eqB_lKCtDqP","name":"Tween","brief":"","type":"ClassDoc","description":"

              Javascript Tweening Engine

              \nSuper simple, fast and easy to use tweening engine which incorporates optimised Robert Penne...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"UhtdJeRMMo8OoaEzkrouA","name":"Easing","brief":"","access":"public","type":"EnumDoc","description":"

              Easing Function :

              \n

              \n Easing.Linear.None
              \n Easing.Quadratic.In
              \n Easing.Quadratic.Out
              \n Easing.Quadrati...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"290JERxfVJaN71bRBZ920","name":"Interpolation","brief":"","access":"public","type":"EnumDoc","description":"

              Interpolation Function :

              \n

              \n Interpolation.Linear
              \n Interpolation.Bezier
              \n Interpolation.CatmullRom\n

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9rhRFQgSpoNdU2jselfS7","name":"chain","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              chain the tween

              ","params":[{"identifier":"chainedTween","description":"

              Tween(s) to be chained

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"upwm7wKaI53UAkuATg_qN","name":"constructor","brief":"","examples":[{"caption":"","code":"// add a tween to change the object pos.x and pos.y variable to 200 in 3 seconds\ntween = new me.Tween(myObject.pos).to({\n x: 200,\n y: 200,\n }, {\n duration: 3000,\n easing: me.Tween.Easing.Bounce.Out,\n autoStart : true\n}).onComplete(myFunc);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"object","optional":false,"description":"

              object on which to apply the tween

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"z6GcWpcdhQQKwxUrqTYHy","name":"delay","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              delay the tween

              ","params":[{"identifier":"amount","optional":false,"description":"

              delay amount expressed in milliseconds

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wGNPMWXM_0kKmn3hzdNEg","name":"easing","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              set the easing function

              ","params":[{"identifier":"easing","optional":false,"description":"

              easing function

              ","dataType":{"tokens":[{"value":"Tween.Easing","kind":"canonical"},{"value":"Easing","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l1K1LUm7cevPAX0PuFjal","name":"interpolation","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              set the interpolation function

              ","params":[{"identifier":"interpolation","optional":false,"description":"

              interpolation function

              ","dataType":{"tokens":[{"value":"Tween.Interpolation","kind":"canonical"},{"value":"Interpolation","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"m8Gr1HA4XYtnknbStTh5N","name":"onComplete","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              onComplete callback

              ","params":[{"identifier":"onCompleteCallback","optional":false,"description":"

              callback

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bPN1lbXz0I0AOQZWWC5xq","name":"onStart","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              onStart callback

              ","params":[{"identifier":"onStartCallback","optional":false,"description":"

              callback

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KFpz_8V1vytBHOqH35EYY","name":"onUpdate","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              onUpdate callback

              ","params":[{"identifier":"onUpdateCallback","optional":false,"description":"

              callback

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7v4So7K5Z4shhMpn0eZ7R","name":"repeat","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              Repeat the tween

              ","params":[{"identifier":"times","optional":false,"description":"

              amount of times the tween should be repeated

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2Aq6RvU8rwI9ne2xA5mBJ","name":"start","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              start the tween

              ","params":[{"identifier":"time","optional":true,"description":"

              the current time when the tween was started

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zMBKkb7-gk3SmSroLp4az","name":"stop","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              stop the tween

              ","params":[],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LylKHvmTlGHiBaPxTn6DX","name":"to","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

              object properties to be updated and duration

              ","params":[{"identifier":"properties","optional":false,"description":"

              hash of properties

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options","optional":true,"description":"

              object of tween properties, or a duration if a numeric value is passed

              ","dataType":{"tokens":[{"value":"object | number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"object | %1"}},{"identifier":"options.duration","optional":true,"description":"

              tween duration

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.easing","optional":true,"description":"

              easing function

              ","dataType":{"tokens":[{"value":"Tween.Easing","kind":"canonical"},{"value":"Easing","kind":"link"}],"template":"%1"}},{"identifier":"options.delay","optional":true,"description":"

              delay amount expressed in milliseconds

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.yoyo","optional":true,"description":"

              allows the tween to bounce back to their original value when finished. To be used together with repeat to create endless l...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"options.repeat","optional":true,"description":"

              amount of times the tween should be repeated

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.interpolation","optional":true,"description":"

              interpolation function

              ","dataType":{"tokens":[{"value":"Tween.Interpolation","kind":"canonical"},{"value":"Interpolation","kind":"link"}],"template":"%1"}},{"identifier":"options.autoStart","optional":true,"description":"

              allow this tween to start automatically. Otherwise call me.Tween.start().

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"htop9GnV4a2UVVY9LnLYp","name":"yoyo","brief":"","access":"public","scope":"instance","see":["Tween#repeat"],"type":"MethodDoc","description":"

              Allows the tween to bounce back to their original value when finished.\nTo be used together with repeat to create endless l...","params":[{"identifier":"yoyo","optional":false,"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              this instance for object chaining

              ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"taiS7_QK1C5N6wklbxguf","name":"UIBaseElement","brief":"","type":"ClassDoc","description":"

              This is a basic clickable and draggable container which you can use in your game UI.\nUse this for example if you want to d...","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"ESkYe2sqR2CHvad1DJC1x","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

              Define the renderable opacity
              \nSet to zero if you do not wish an object to be drawn

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zGAV6H0JYCHRAN9kaXgLQ","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object will always update, even when outside of the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RkoaQQcWn7ml3M8U8LGER","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              a reference to the parent object that contains this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T6WB9WikNYliln8qDfu02","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

              The anchor point is used for attachment behavior, and/or when applying transformations.
              \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZgrnA7FueDgi9-QzlUrHb","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              Specify if the children z index should automatically be managed by the parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AqOgNJn3kgb1kHzw7r-PA","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              Specify if the children list should be automatically sorted when adding a new child

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WDe83qUpAPv4sPWdE4G2n","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

              When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9F2sjYpbK8Cpaq__r_rO7","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

              define a background color for this container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o3-araSTmnJslVNW8E89q","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

              the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EPMGHxbsrYMk-CH9o0okp","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

              the renderable physic body

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XkDgT259FpYRAaixJeSKY","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QEa44-EtZGiv_exQWJYpV","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GpluXRsLoggUQ2IPw6VUX","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uTa59ZeUeTVGPGZeLPd_m","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Specify if the container draw operation should clip his children to its own bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hi0LVlje11e0IrjnoBcqX","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tKwhscGogxqnjNWXFuIc8","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sGPz9NLBtY-0o4djKz6x_","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v_6uVgjBQp-Sn-Qe39N_Q","name":"floating","brief":"","defaultValue":"true","scope":"instance","see":["Renderable.floating"],"type":"PropertyDoc","description":"

              UI base elements use screen coordinates by default\n(Note: any child elements added to a UIBaseElement should have their fl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ySFQwEmtkxeqTvo--P9NL","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

              (G)ame (U)nique (Id)entifier"
              \na GUID will be allocated for any renderable object added
              \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wtFChcELdjbNHJ_jI5cQT","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4Fo5JvpcLzEH48WM6Wa9I","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

              Tap and hold threshold timeout in ms

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yvssQ0BNsHTVqUuUxXqVL","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if the pointer is over the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sGUiqNqglnneOzP8r8hkl","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object is visible and within the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DBDV8auIT9CvZZzSkfNX6","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r5923UYJ1ScvuWJYJ4YTX","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              when true the renderable will be redrawn during the next update cycle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CIiNuPA30xYbsk5XKRQAM","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2SxemMbFScrpDC_77GoT1","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uneRkxOdjWaC0jf8q8NRT","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9QqqL_8Q1-U4l9EHd9Fw-","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

              Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hmkocP3VSSpetvHp8JSCN","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be tap and hold

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TpUKewpn-uDwwExB558C2","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              If true then physic collision and input events will not impact this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AVm8ztBGbFzA7SalIvuQV","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KuZfbk48VnkWqJUyqStlz","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wb7uBpZ9YuqSyhA8KDQwR","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

              A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uc0G_9SVwkOo1Blc5kSyH","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xt2ssEtrZI7FyrE3naTSk","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

              an event handler that is called when the renderable leave or enter a camera viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SRnARF8vdHqYI-lxzCda6","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

              returns the parent application (or game) to which this renderable is attached to

              ","params":[],"returns":[{"description":"

              the parent application or undefined if not attached to any container/app

              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NTGdX2qTc8Hj-JeA6KhUD","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

              Array of points defining the Polygon
              \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NHp5WdZYmNC55sCYRDvzZ","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TEqV47fWgHBuFhI0ye2P8","name":"released","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              false if the pointer is down, or true when the pointer status is up

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UVdL_BrH80aOyiMSoN3PN","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Crlxu8uxQQ0fWmpFBrmse","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              whether the container is the root of the scene

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dB7gMBmaho4Wobzgq2XIL","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NaHFsN3tU2cCL8-a63CMX","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

              The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RAWylctgNr-4gT-4_f4NP","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

              define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fPRrvbQwpg4qsi8wYHX-c","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XcpJ1ssS8gVMGgZoTopJh","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-IFnDPBzQIp37iLry8CVz","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether to update this object when the game is paused.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F8BYAtTOv0WExLweLj8FL","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0rz9QcHkjvuWBy72oOHA2","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Add a child to the container
              \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

              forces the z index of the child to the specified value

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the added child

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ky5TvgfhrZVXEmkMwQ4B7","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Add a child to the container at the specified index
              \n(the list won't be sorted after insertion)

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

              The index at which to insert the child

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the added child

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w7Vberr88YJLOEwbjLG-0","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the angle to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M29714mL1n32suE3LfM6t","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

              center the rectangle position around the given coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              the x coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Rv4W5G7VMzLDMnUX00Fmg","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              clone this rectangle

              ","params":[],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oXVFvVj654R4lrMy9zzPP","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

              The x position of the container

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              The y position of the container

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              width of the container

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              height of the container

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"PzDExleDprHugspp4KNsj","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

              Returns true if the rectangle contains the given point or rectangle

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point, or a rectangle to test

              ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

              y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              True if the rectangle contain the given point or rectangle, otherwise false

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"sgAIrgKEx_fvblE6GbdNi","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

              copy the position and size of the given rectangle into this one

              ","params":[{"identifier":"rect","optional":false,"description":"

              Source rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3NCFaq6a_OZpyaQxqmSUR","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the distance to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              distance

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qi9rtE83xzUAWz9Xlfr4-","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is identical to the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if equals

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Ufi_0cVq5Lh4l3v-QbSh6","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

              flip the renderable on the horizontal axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MDszBUmLD9XcGvBMtgdNS","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

              flip the renderable on the vertical axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_lFmRUA4syrxgw55E2ZzL","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

              The forEach() method executes a provided function once per child element.
              \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

              fnction to execute on each element

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

              value to use as this(i.e reference Object) when executing callback.

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"7mML2RWk14IL4y_eIBNYq","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the renderable absolute position in the game world

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"k8Nq1uL8KHQ1goni6iV22","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the bounding box for this renderable

              ","params":[],"returns":[{"description":"

              bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sj3MdYnHN6GaZAhljUBsg","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the Child at the specified index

              ","params":[{"identifier":"index","optional":false,"description":"

              The index of the child

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the child at the specified index

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qOMd7efwHeKRsC4jQqlrM","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the child corresponding to the specified GUID
              \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

              child GUID

              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

              corresponding child or null

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Vq-Top6eRbjcMyInUtQCS","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the list of childs with the specified name
              \nas defined in Tiled (Name field of the Object Properties)
              \nnote ...","params":[{"identifier":"name","optional":false,"description":"

              child name

              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

              Array of children

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"kD-UN8nKG4UQoXmZE_Bek","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

              return the child corresponding to the given property and value.
              \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

              Property name

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

              Value of the property

              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

              Array of childs

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"_k3KPLvj2whGfx5Zihd_d","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the list of childs with the specified class type

              ","params":[{"identifier":"classType","optional":false,"description":"

              Class type

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

              Array of children

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"hSDBAqQH3Y3UQzvb3smOw","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the index of the given Child

              ","params":[{"identifier":"child","optional":false,"description":"

              The child object

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

              index

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HeSpx4yqcXrQwsYE09Kt3","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

              return all child in this container

              ","params":[],"returns":[{"description":"

              an array of renderable object

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"b0OJCdrsNmO1kpHrlpsrx","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns a list of indices for all triangles defined in this polygon

              ","params":[],"returns":[{"description":"

              an array of vertex indices for all triangles forming this polygon.

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"PeNNQdWWJygKBls6MkIg9","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the next child within the container or undefined if none

              ","params":[{"identifier":"child","optional":false,"description":"

              The child object

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

              child

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FXWa4RgdmkxNdt5xW12JY","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              get the renderable alpha channel value

              ","params":[],"returns":[{"description":"

              current opacity value between 0 and 1

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7P_VIVJDJxhU_lrdDHN7_","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the instance of the root container (i.e. the current application World container).

              ","params":[],"returns":[{"description":"

              root container

              ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_hhcBvkl5ZaR7AIJC62i9","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if contains the specified Child

              ","params":[{"identifier":"child","optional":false,"description":"

              The child object

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"6usK30BSrJfXM-wyjnTjl","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

              Checks if this container is root or if it's attached to the root container.

              ","params":[],"returns":[{"description":"

              true if this container is root or if it's attached to the root container

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7jipVUdtcNbJQ4JdaWVRO","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

              ","params":[],"returns":[{"description":"

              true if the vertices are convex, false if not, null if not computable

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hTd26xDQd0_sRtiIPNHlv","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

              determines whether all coordinates of this rectangle are finite numbers.

              ","params":[],"returns":[{"description":"

              false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"EImXfvIDlYBQ-YL1c4NGv","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable towards the given target.

              ","params":[{"identifier":"target","optional":false,"description":"

              the renderable or position to look at

              ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P1qYzM-IgpgHEb17oe3lt","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the child in the group one step backward (z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"TK924RtLMj2cOdCP67aj4","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the specified child the bottom (z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"4EGvXyqPTnOIu_7YbnfCv","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the specified child to the top(z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"Jh51a7u0DpxVsKM4Y06Tk","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the child in the group one step forward (z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"HzjUWu77HJp6Skt68iMBh","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

              a callback to be extended, triggered after a child has been added or removed

              ","params":[{"identifier":"index","optional":false,"description":"

              added or removed child index

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LB9MhXwH4sT_qfH1pv8TG","name":"onClick","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed (to be extended)

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              return false if we need to stop propagating the event

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"pFWJd3MvcbkhQusi0mHUD","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

              onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

              ","params":[{"identifier":"response","optional":false,"description":"

              the collision response object

              ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

              the other renderable touching this one (a reference to response.a or response.b)

              ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

              true if the object should respond to the collision (its position and velocity will be corrected)

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"a8wcY6KnpUhZby3N0ucML","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0C8NBwWQq-jcB0KpoC2Kz","name":"onHold","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed and held
              \nto be extended

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KqmuSkBqZWvO2NEjawLjT","name":"onMove","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is moved over the object

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_Yskx6PNHup8BxLXe0rKQ","name":"onOut","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is leaving the object area

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Z_tdA6YECU5lMpuZOw8NY","name":"onOver","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is over the object

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"GvTWGA50kWbQYw0QGHqeP","name":"onRelease","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed and released (to be extended)

              ","params":[],"returns":[{"description":"

              return false if we need to stop propagating the event

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rqEaVZrr6r4o26IE4zA4e","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is intersecting with the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if overlaps

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Xj6NZBJn8hW9deSCj5k4_","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

              restore the rendering context after drawing (automatically called by melonJS).

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"PVOdln68GWxaYq93SBCGM","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

              Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"da6pZGQeuakIu1pADLHWZ","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

              Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o20csDAqpRpq1CadmeEL7","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

              Child to be removed

              ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

              true to prevent calling child.destroy()

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"LxB6FKlF5Am8FwsyglkNF","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

              Removes (and optionally destroys) a child from the container.
              \n(removal is immediate and unconditional)
              \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

              Child to be removed

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

              True to prevent calling child.destroy()

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"TnReP4tPjAxGRUfuklDu-","name":"reset","brief":"

              reset the container, removing all childrens, and reseting transforms.

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AFZG-SziQyNtdsF6Nft-q","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

              resize the rectangle

              ","params":[{"identifier":"w","optional":false,"description":"

              new width of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              new height of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nHvqy-HT8IXWTEpTrN9AL","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable by the specified angle (in radians).

              ","params":[{"identifier":"angle","optional":false,"description":"

              The angle to rotate (in radians)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional point to rotate around

              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5AUeXdHjaIG29G7FJuO1F","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

              a number representing the abscissa of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

              a number representing the ordinate of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8U39NekU9x9cB9rw2yJX-","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point

              ","params":[{"identifier":"v","optional":false,"description":"

              scaling vector

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WVlLwobiTr3DNFoDAFFNd","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

              Automatically set the specified property of all childs to the given value

              ","params":[{"identifier":"prop","optional":false,"description":"

              property name

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

              property value

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

              recursively apply the value to child containers if true

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"IdI_NPvGjNlGOR_vsB66b","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the renderable alpha channel value

              ","params":[{"identifier":"alpha","optional":false,"description":"

              opacity value between 0.0 and 1.0

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"M0peoFV8vPQa8PmSAoWiT","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

              set new value to the rectangle shape

              ","params":[{"identifier":"x","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              width of the rectangle, or an array of vector defining the rectangle

              ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

              height of the rectangle, if a numeral width parameter is specified

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t4gwntKSmOAlYdv5wItOB","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the vertices defining this Polygon

              ","params":[{"identifier":"vertices","optional":false,"description":"

              array of vector or vertice defining the Polygon

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

              this instance for objecf chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xdvr9g3pCQr4sNE2BXR96","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              Shifts the Polygon to the given position vector.

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to shift to

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"dIoyG5cIk7wcTMk2Y1jW9","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

              Manually trigger the sort of all the childs in the container

              ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

              recursively sort all containers if true

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"7FYYobFuzTHlWha6Ziue8","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

              Swaps the position (z-index) of 2 children

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"IftO-7kt3whB4kdfo3DK4","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply a 2d projection to this shapen

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H9X5KbGAw5rbMb8KqFAd1","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply an isometric projection to this shape

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cZDmDcQUD2hW2PasVqbUM","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns a polygon whose edges are the same as this box.

              ","params":[],"returns":[{"description":"

              a new Polygon that represents this rectangle.

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jwcSXX1jPQcieIEutvtG2","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

              multiply the renderable currentTransform with the given matrix

              ","params":[{"identifier":"m","optional":false,"description":"

              the transformation matrix

              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9dW7U9TPgHoUm748uULxL","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              translate the Polygon by the specified offset

              ","params":[{"identifier":"x","description":"

              x offset or a vector point to translate by

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

              y offset

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E6VJDV1TJVktTmRwHNTf8","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

              merge this rectangle with another one

              ","params":[{"identifier":"rect","optional":false,"description":"

              other rectangle to union with

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              the union(ed) rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OgXwhjVNWDIIwzkzFDxP2","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              update the bounding box for this container.

              ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

              update the bounds size and position in (world) absolute coordinates

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              this container bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7h9FRJayP1dgW6ru4juDV","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              draw this renderable (automatically called by melonJS)

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer instance

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

              the viewport to (re)draw

              ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"FnRe2VTmEkBNmcpzJZ__q","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              container update function.
              \nautomatically called by the application update loop {@link Application}

              ","params":[{"identifier":"dt","optional":false,"description":"

              time since the last update in milliseconds.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              true if the Container is dirty

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"MWhbI7ZiYycIHb9tTBH2Z","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

              called when the anchor point value is changed

              ","params":[{"identifier":"x","optional":false,"description":"

              the new X value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the new Y value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"RhdbDcf4Iv2T_nBjJcl-B","name":"UISpriteElement","brief":"","type":"ClassDoc","description":"

              This is a basic sprite based button which you can use in your Game UI.

              ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"nOpK6oc6xW6oYuaLJ3cpJ","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

              Define the renderable opacity
              \nSet to zero if you do not wish an object to be drawn

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C4gVaGXXjL7ZPdcltvLal","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object will always update, even when outside of the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QBDNwJ035qM7pRuZWLyKX","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              a reference to the parent object that contains this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o6tEGHmLZw11T89I_O1L1","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

              The anchor point is used for attachment behavior, and/or when applying transformations.
              \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gPfemL1wuAfpckIKKTBZ5","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U_ZhkFTcu1TgIn08jX-Zv","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

              animation cycling speed (delay between frame in ms)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LYzCw__H4nlt7-b9FcDCm","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

              When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jxP6hquGyKLpED0QOMYm-","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

              the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dH8uJhh9F7LQUyTr1fefg","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

              the renderable physic body

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fiuxCYB3bl-8yIWCmdGNw","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RERJq6edfR-LmP3QjIiIz","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YDtjpEJX5NnVbYfZoLV5T","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X19qRBA9pTTUOwzOEKCJu","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IfIWPODOrusrTp4e81lRm","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hO1wW7PACXNwDT_OZu3VR","name":"floating","brief":"","defaultValue":"true","scope":"instance","see":["Renderable.floating"],"type":"PropertyDoc","description":"

              if this UISpriteElement should use screen coordinates or local coordinates\n(Note: any UISpriteElement elements added to a ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vB1d9FhCrVKL4HAo2EQb8","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

              (G)ame (U)nique (Id)entifier"
              \na GUID will be allocated for any renderable object added
              \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5_aXCRDxQ59ne-Q-9oV8M","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9-gT3Y6U18SV_62ssPmkz","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

              Tap and hold threshold timeout in ms

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTnWazyJsSm668VaNWVQK","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if the pointer is over the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dz_wC4CFxHTq1ylJ9of-R","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object is visible and within the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oCT9CCrccDT1TzVZQWwyS","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o5FljW8o2J1nd_6kN6_v9","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              when true the renderable will be redrawn during the next update cycle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IHMW3nQqsWP8OU0H2kYMI","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gc17t-wK9CAWaliSL0Fm4","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"34BUPrjxeHGLy9iHYGM2K","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

              Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GMGFeI16rupRi4iVwBXP1","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be tap and hold

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kjqsIFr3zaoqjBDbZhSWV","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              If true then physic collision and input events will not impact this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"73ePuSCvh5UVrkamQ1d-q","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lAdhub9ng-1t-65qLuF4p","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5aeU_5GwxfdmiOM4sx2dC","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qyht3YhlJgGjp7cEo1w9V","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

              A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fza_3NptnTMkiPaGtEmep","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JWr2U0CgBL5CVI_IkeYF0","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

              global offset for the position to draw from on the source image.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q_RfTDgC7uwMSlGDo9cVF","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

              an event handler that is called when the renderable leave or enter a camera viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pDg9O7qE8LHf4i7n3gp75","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

              returns the parent application (or game) to which this renderable is attached to

              ","params":[],"returns":[{"description":"

              the parent application or undefined if not attached to any container/app

              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Cz9JK0PRJyW-dt0hpUgve","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

              Array of points defining the Polygon
              \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dTN9aLlTei5UY7s0snUKr","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hQo_Zg-3TQKCoFjubxEPY","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gWUjunckAmepISXkAuPmL","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wXI7H1Ti_AU9TfZs1a29A","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              The source texture object this sprite object is using

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d_GWXKb69X2FfsmCK0hj5","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

              define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dmJ0bu75DbRxeoWzlvASR","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SyQOIw2SpoXgETQ1GmVbR","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8YzDRCYGOIOtKVqH2FU5o","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether to update this object when the game is paused.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_Dy_S1JnxRzmpBWSU42rY","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KBVv6-uTxpW4NNu9jhO7I","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

              add an animation
              \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

              animation id

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

              list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

              ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

              cycling speed for animation in ms

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              frame amount of frame added to the animation (delay between each frame).

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rlaxN6w750RkHplfnZ_gK","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the angle to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7xMshWMDCYC2WHXSft5UU","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

              center the rectangle position around the given coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              the x coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KgxLAoCcLm3deWfolITHP","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              clone this rectangle

              ","params":[],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xDkxBmdt9ELXlxDW4_RZr","name":"constructor","brief":"","examples":[{"caption":"","code":" // create a basic GUI Object\n class myButton extends UISpriteElement {\n constructor(x, y) {\n // call the UISpriteElement parent constructor\n super(x, y, {\n image: \"button\",\n framewidth: 100,\n frameheight: 50\n });\n }\n\n // output something in the console\n // when the object is clicked\n onClick(event) {\n console.log(\"clicked!\");\n // don't propagate the event\n return false;\n }\n });\n\n // add the object at pos (10,10)\n world.addChild(new myButton(10,10));"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

              the x coordinate of the UISpriteElement Object

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinate of the UISpriteElement Object

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

              See {@link Sprite}

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"rkZ9TDtWdHPNm-ZaLllth","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

              Returns true if the rectangle contains the given point or rectangle

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point, or a rectangle to test

              ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

              y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              True if the rectangle contain the given point or rectangle, otherwise false

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"QwRQbmF9IrRIbGEtVZOFt","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

              copy the position and size of the given rectangle into this one

              ","params":[{"identifier":"rect","optional":false,"description":"

              Source rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fLpsSh9XhjU5KYalkrL1e","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the distance to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              distance

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jNVo1vyVwAv8xAZ1PP2SJ","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is identical to the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if equals

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iVOqxayjaKQuFmadFCfuN","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

              make the object flicker

              ","params":[{"identifier":"duration","optional":false,"description":"

              expressed in milliseconds

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

              Function to call when flickering ends

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hkDHV9i5_ZSCIZwm1LNYz","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

              flip the renderable on the horizontal axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5X3uB88vjNDeI50BZJX4E","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

              flip the renderable on the vertical axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JaNA7CkTTI45UtlmeaR23","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the renderable absolute position in the game world

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KYbJkWSsaaBtVpBpWW6Rc","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the bounding box for this renderable

              ","params":[],"returns":[{"description":"

              bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KGfAgekl0NM6VcrWtwriZ","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the current animation frame index.

              ","params":[],"returns":[{"description":"

              current animation frame index

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WanQwUDpVKFESKD9jRW23","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns a list of indices for all triangles defined in this polygon

              ","params":[],"returns":[{"description":"

              an array of vertex indices for all triangles forming this polygon.

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"j-kNtAb9Dg9nQqbeEvNyV","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              get the renderable alpha channel value

              ","params":[],"returns":[{"description":"

              current opacity value between 0 and 1

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UXinkhxqJdl-gCaFuZCYW","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

              ","params":[],"returns":[{"description":"

              true if the vertices are convex, false if not, null if not computable

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_rVV5RJkQ5SaPJp8B8qft","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

              return true if the specified animation is the current one.

              ","params":[{"identifier":"name","optional":false,"description":"

              animation id

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0hF-V88yYUrK7CD7h8M0x","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

              determines whether all coordinates of this rectangle are finite numbers.

              ","params":[],"returns":[{"description":"

              false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"kG11UTJZpvx8t-ZLwsPSe","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the flickering state of the object

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"YxDT4A5mFJ0KNubP2Hlgk","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable towards the given target.

              ","params":[{"identifier":"target","optional":false,"description":"

              the renderable or position to look at

              ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tMfxwzumDFMvn4RH_tHCd","name":"onClick","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed (to be extended)

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              return false if we need to stop propagating the event

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0WDj7KCUaUmqZE6L0xOAe","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

              onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

              ","params":[{"identifier":"response","optional":false,"description":"

              the collision response object

              ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

              the other renderable touching this one (a reference to response.a or response.b)

              ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

              true if the object should respond to the collision (its position and velocity will be corrected)

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"wtYHnkyiN8kZSH-hRexzJ","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_sW23KpImThStCiZUoK0_","name":"onHold","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed and held
              \nto be extended

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4JRaN1kzzcz_g0IvFD6bs","name":"onOut","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is leaving the object area

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2ST_zS-VkTpl24cTtYQVX","name":"onOver","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is over the object

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JdFtC-rengvqpOXKTN8MW","name":"onRelease","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed and released (to be extended)

              ","params":[],"returns":[{"description":"

              return false if we need to stop propagating the event

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qNfxUNq7TS1Ir1v0av6g5","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is intersecting with the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if overlaps

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"24NZ0zEAVZALqDKyhwNuw","name":"pause","brief":"

              play or resume the current animation or video

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LuDZ3-kEmfKjnG1mY1dP-","name":"play","brief":"

              play or resume the current animation or video

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tbQHP5OYXJQloHKaU2IYI","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

              restore the rendering context after drawing (automatically called by melonJS).

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"jk7UFiDRjJM0EroQq9F3w","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

              Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"mMJjLR7A_GA8tB_G6TGvi","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

              Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BbKRWmASKWvvssoxmFoXb","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

              resize the rectangle

              ","params":[{"identifier":"w","optional":false,"description":"

              new width of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              new height of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CHNPC7yuY9w09zDloMzef","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

              reverse the given or current animation if none is specified

              ","params":[{"identifier":"name","optional":true,"description":"

              animation id

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mQYdioTZPkl5fv7BOn6B7","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable by the specified angle (in radians).

              ","params":[{"identifier":"angle","optional":false,"description":"

              The angle to rotate (in radians)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional point to rotate around

              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"thsy6uQizqdLTtGCBgtZe","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

              a number representing the abscissa of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

              a number representing the ordinate of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6asu0RgY8RKA1duBlmQFj","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point

              ","params":[{"identifier":"v","optional":false,"description":"

              scaling vector

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NnXWrCeTmEyEPYxqLDZzZ","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

              force the current animation frame index.

              ","params":[{"identifier":"index","optional":true,"default":"0","description":"

              animation frame index

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ihkfa7CmPdnoJlaJ7bQdH","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

              set the current animation\nthis will always change the animation & set the frame to zero

              ","params":[{"identifier":"name","optional":false,"description":"

              animation id

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

              animation id to switch to when complete, or callback

              ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

              if false will reset the elapsed time counter since last frame

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HV24xIkhEyKIfxGo2gaYM","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the renderable alpha channel value

              ","params":[{"identifier":"alpha","optional":false,"description":"

              opacity value between 0.0 and 1.0

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"topEo1ZUlJNhdxz_gG9Md","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

              change the current texture atlas region for this sprite

              ","params":[{"identifier":"region","optional":false,"description":"

              typically returned through me.Texture.getRegion()

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JiJsX6isKh5XLB6BAUryO","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

              set new value to the rectangle shape

              ","params":[{"identifier":"x","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              width of the rectangle, or an array of vector defining the rectangle

              ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

              height of the rectangle, if a numeral width parameter is specified

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KuIaNw0KtoSnKolYZCSfF","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the vertices defining this Polygon

              ","params":[{"identifier":"vertices","optional":false,"description":"

              array of vector or vertice defining the Polygon

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

              this instance for objecf chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y_y6NT15oeny4Sr_SRftx","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              Shifts the Polygon to the given position vector.

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to shift to

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2clboGqipA6y1r3ClmOjo","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply a 2d projection to this shapen

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ygT7st4QCNyZRQbJwfKqJ","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply an isometric projection to this shape

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hxNd7WorzSXs4Gf_bUz7-","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns a polygon whose edges are the same as this box.

              ","params":[],"returns":[{"description":"

              a new Polygon that represents this rectangle.

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"J-t4q7mQ43K11WhUVWa9k","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

              multiply the renderable currentTransform with the given matrix

              ","params":[{"identifier":"m","optional":false,"description":"

              the transformation matrix

              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mZ_HZhmtv9QWkXoHOqpRy","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              translate the Polygon by the specified offset

              ","params":[{"identifier":"x","description":"

              x offset or a vector point to translate by

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

              y offset

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mhi1zTRS5KzqoTQrwgj-d","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

              merge this rectangle with another one

              ","params":[{"identifier":"rect","optional":false,"description":"

              other rectangle to union with

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              the union(ed) rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3AxFt3Gh1jBE_2hRgWRnl","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              update the bounding box for this shape.

              ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

              update the bounds size and position in (world) absolute coordinates

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              this shape bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FItEZHyOkt7HarWnBckPR","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              draw this srite (automatically called by melonJS)

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer instance

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

              the viewport to (re)draw

              ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"pCIpVg3CBArEmwsloXLvz","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              update function.
              \nautomatically called by the game manager {@link game}

              ","params":[{"identifier":"dt","optional":false,"description":"

              time since the last update in milliseconds.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              true if the Sprite is dirty

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"l4b6Udh_iwc5s4oQaEm8N","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

              called when the anchor point value is changed

              ","params":[{"identifier":"x","optional":false,"description":"

              the new X value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the new Y value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"DJeiMvdrPFHKQxMkREHv1","name":"UITextButton","brief":"","type":"ClassDoc","description":"

              This is a basic base text button which you can use in your Game UI.

              ","params":[],"returns":[],"extends":["UIBaseElement"],"implements":[],"members":[{"id":"Ptxv0aNjX1eG7dQ5Gczj2","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

              Define the renderable opacity
              \nSet to zero if you do not wish an object to be drawn

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oRbX6NJ9UGQCpvKV8vNHY","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object will always update, even when outside of the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WmJGwrQYdOt9dlZb5hKzK","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              a reference to the parent object that contains this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9C7Lwk6er2U_9BU2xjtjY","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

              The anchor point is used for attachment behavior, and/or when applying transformations.
              \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lHCC1MQdQinVaPBnk16Yv","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              Specify if the children z index should automatically be managed by the parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"imi5ssMuH88EElu6VlNTR","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              Specify if the children list should be automatically sorted when adding a new child

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jj-uH3ouCc6MUg8mC1W4W","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

              When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F-IIr1nY32rU58RW_p8ZI","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

              define a background color for this container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DPGoyhk31ZW1gBq9J1Vx3","name":"bindKey","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The key to bind the action to

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KmTze76a8oTVj68GrxrfS","name":"bitmapText","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the bitmapText used by the UITextButton class

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WBuy2JD2M20ra4fuJoE9g","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

              the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sqXjBHPxlUpYgRQuG4kM2","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

              the renderable physic body

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P_ZCCajFM9nCDVJsD_znd","name":"borderStrokeColor","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The css value of a color to be used to draw the border

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m3kxQ6_E3Fobc7PAU9FOW","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AHCzbhRKMz0BwYox9orWi","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yrhAw4Tud8HJsHBupT0pp","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4ihKpBa6TUbM0lEHF2gvj","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Specify if the container draw operation should clip his children to its own bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8RiblDNcUNA749JFOQ9ay","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kFciEXXnRTBxbdfpNSNMW","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QSxnVz9_KJ1pMdZKwfKjI","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dV4DGRIQyAMQHNBoAsQ26","name":"floating","brief":"","defaultValue":"true","scope":"instance","see":["Renderable.floating"],"type":"PropertyDoc","description":"

              UI base elements use screen coordinates by default\n(Note: any child elements added to a UIBaseElement should have their fl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4rLFKjpVbnZ1hU5UZaUry","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

              (G)ame (U)nique (Id)entifier"
              \na GUID will be allocated for any renderable object added
              \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PBOWHNPufUQZZpgqHhi7C","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DpAKk2WgXZ0Ly_RrTJhmo","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

              Tap and hold threshold timeout in ms

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lxl17ojT2MfaEIvxZ0-_X","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if the pointer is over the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YeBALS1jvP5R09iAG9XXi","name":"hoverOffColor","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The css value of a color to be used if the pointer is nothovering over the button

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RcQRURi_Ow1VCIRY1EVDe","name":"hoverOnColor","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The css value of a color to be used if the pointer hovers over the button

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5WT9AOyE8uM4dIg88xf2F","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether the renderable object is visible and within the viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VU74kv6Xoc57jrrrFi4Zm","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5e1jYy_wZQK0KEYYETS10","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              when true the renderable will be redrawn during the next update cycle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rac5Ee50V5dG2-HWHl_hU","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SHOcQVRDkr2vFQqSD44P1","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HPpgjvVKREfDO0c_8O19I","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

              returns true if this renderable is flipped on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hrsUwQ-QKgcptxHvHUPe2","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

              Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vMbTdvW87PKrKuA9TYlbo","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be tap and hold

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K6HyvB6pkLoWZCXrqSzhf","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              If true then physic collision and input events will not impact this renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i4rIvB23lKsZqnl-gGxPC","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UeGJ5ug42BMyWUaTNBXa3","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0AS24Z_v5LPXiMzvwXWdu","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

              A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2aDV9zZP2Ih3UVZ3bsEDM","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sC5_KSjmM9QHlRzEH_hQm","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

              an event handler that is called when the renderable leave or enter a camera viewport

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t9kdxvcbxhHN_OmSNjQtX","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

              returns the parent application (or game) to which this renderable is attached to

              ","params":[],"returns":[{"description":"

              the parent application or undefined if not attached to any container/app

              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"g7bKaL8XZ775xj-L4s5Z7","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

              Array of points defining the Polygon
              \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A7fXwZ5vHbGgkEzOJ5uRa","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EVUhF9Lgv6HPeiOpHr9GZ","name":"released","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              false if the pointer is down, or true when the pointer status is up

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A4D5OaNqLtLszflxY9l17","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VxzoBxq9Abksney0AJIDU","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              whether the container is the root of the scene

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rs1ZjexL5sITXiv84OYRV","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dsdWctWMCw4i6h5lm-BHd","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

              The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MpMv84jwgWi5ZDK6X47JZ","name":"textAlign","brief":"","access":"public","defaultValue":"\"center\"","scope":"instance","type":"PropertyDoc","description":"

              Set the default text alignment (or justification),
              \npossible values are "left", "right", and "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_eH-kUOe-JfGbmDo_2fWn","name":"textBaseline","brief":"","access":"public","defaultValue":"\"middle\"","scope":"instance","type":"PropertyDoc","description":"

              Set the text baseline (e.g. the Y-coordinate for the draw operation),
              \npossible values are "top", "hang...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iQx_pvgyEc8inVsSqD1VF","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

              define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f2maplzpyLzvwv6ieQ2hN","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BOLJjwUU7PUZ6MAYEykvF","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xrXJVoDF5HPmbVUDE1sUS","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Whether to update this object when the game is paused.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5meZeLpozwNdCBnWetqS3","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nmnDoxUKYOhQzWLlCy9e2","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Add a child to the container
              \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

              forces the z index of the child to the specified value

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the added child

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M9l6p9RChBk2P_Y8eds9N","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Add a child to the container at the specified index
              \n(the list won't be sorted after insertion)

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

              The index at which to insert the child

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the added child

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gEhNsw9EyhV7oO-nbOcNC","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the angle to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1zLiIcjdfmQUbpTGQwAJL","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

              center the rectangle position around the given coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              the x coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the y coordinate around which to center this rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6lH0X-tDvwmMvvvkGEXyq","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              clone this rectangle

              ","params":[],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"x_3rYoehy3_z-J4Ux9oke","name":"constructor","brief":"","examples":[{"caption":"","code":" // Create a new Button\n class PlayButton extends UITextButton {\n constructor(x,y) {\n super(x,y, {\n font: 'my-font',\n text: 'Play',\n // if you omit the next two, size is calculated by the size of the text\n borderWidth: 200,\n borderHeight: 20,\n backgroundColor: '#00aa0080',\n hoverColor: '#00ff00ff'\n });\n }\n\n onClick(){\n state.change(state.PLAY);\n }\n }\n\n world.addChild(new PlayButton(15,200));"}],"scope":"instance","type":"MethodDoc","description":"

              A Bitmap Text Button with an outlined background border, filled with background color.\nIt uses a RoundRect as background a...","params":[{"identifier":"x","optional":false,"description":"

              x pos of the button

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y pos of the button

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.font","optional":true,"description":"

              The name of the BitmapText font to use

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.size","optional":true,"default":"1","description":"

              The scale factor of the BitmapText

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.text","optional":true,"description":"

              The text to display

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.bindKey","optional":true,"description":"

              The key to bind the action to (default: none)

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.hoverOffColor","optional":true,"default":"\"#00aa0080\"","description":"

              The css value of a color to be used if the pointer is not hovering over the button

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.hoverOnColor","optional":true,"default":"\"#00ff00ff\"","description":"

              The css value of a color to be used if the pointer hovers over the button

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.borderStrokeColor","optional":true,"default":"\"#000000\"","description":"

              The css value of a color to be used to draw the border

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.fillStyle","optional":true,"description":"

              The css value of a tint color to be used to tint the BitmapText

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textAlign","optional":true,"default":"\"center\"","description":"

              horizontal text alignment

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textBaseline","optional":true,"default":"\"middle\"","description":"

              the text baseline

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.borderWidth","optional":true,"description":"

              Width of the button

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.borderHeight","optional":true,"description":"

              Height of the button

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vVr8yJk8Ro0AxDREzaFy6","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

              Returns true if the rectangle contains the given point or rectangle

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point, or a rectangle to test

              ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

              y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              True if the rectangle contain the given point or rectangle, otherwise false

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"GpUYDeGCBDCnH3w4pKEwV","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

              copy the position and size of the given rectangle into this one

              ","params":[{"identifier":"rect","optional":false,"description":"

              Source rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              new rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tMwBhI8fR_lFUZsoAbIAm","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the distance to the specified target

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              distance

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5GRQ5xVtx_4SRa1i1pkjG","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is identical to the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if equals

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"3xSUmVrfatFiHWicWjPDP","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

              flip the renderable on the horizontal axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XaVuGXUV5-TYxIOPmvi9m","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

              flip the renderable on the vertical axis (around the center of the renderable)

              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

              true to flip this renderable.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gwwSn6eI8BYbG6s7ceIZF","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

              The forEach() method executes a provided function once per child element.
              \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

              fnction to execute on each element

              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

              value to use as this(i.e reference Object) when executing callback.

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"PmNh8c-xFUU0hTYuC7iZ5","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the renderable absolute position in the game world

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mAvSed99ul5R-qaHLcDQk","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the bounding box for this renderable

              ","params":[],"returns":[{"description":"

              bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Rt7WOluk8Xr3i819amtJh","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the Child at the specified index

              ","params":[{"identifier":"index","optional":false,"description":"

              The index of the child

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              the child at the specified index

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qLU17FH-tRVRhDQe6qnxc","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the child corresponding to the specified GUID
              \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

              child GUID

              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

              corresponding child or null

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FZdAowDDIdUJ53GyPopsS","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the list of childs with the specified name
              \nas defined in Tiled (Name field of the Object Properties)
              \nnote ...","params":[{"identifier":"name","optional":false,"description":"

              child name

              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

              Array of children

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"NJmakL7YuqkAcCoTcbGUZ","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

              return the child corresponding to the given property and value.
              \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

              Property name

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

              Value of the property

              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

              Array of childs

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"tsCd-yEayJyJE6gPQeG1l","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the list of childs with the specified class type

              ","params":[{"identifier":"classType","optional":false,"description":"

              Class type

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

              Array of children

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Rqf_I_Mh5cJajAmPaiGqA","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the index of the given Child

              ","params":[{"identifier":"child","optional":false,"description":"

              The child object

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

              index

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DTHrDda6CWI3MOo0VNEXZ","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

              return all child in this container

              ","params":[],"returns":[{"description":"

              an array of renderable object

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"7j1DTaRUPfQXveOpbEm0x","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns a list of indices for all triangles defined in this polygon

              ","params":[],"returns":[{"description":"

              an array of vertex indices for all triangles forming this polygon.

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"OxSTDO5mQWCAt_c2KAdRm","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the next child within the container or undefined if none

              ","params":[{"identifier":"child","optional":false,"description":"

              The child object

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

              child

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mGZZM6gXKLpDWinf6GCA0","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              get the renderable alpha channel value

              ","params":[],"returns":[{"description":"

              current opacity value between 0 and 1

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6GO6BvNYhmUrdHwrCL-Tr","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the instance of the root container (i.e. the current application World container).

              ","params":[],"returns":[{"description":"

              root container

              ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AbvJqOQstTG48tn5fYf_I","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if contains the specified Child

              ","params":[{"identifier":"child","optional":false,"description":"

              The child object

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"KO4zog_16hAIafH6P4RHi","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

              Checks if this container is root or if it's attached to the root container.

              ","params":[],"returns":[{"description":"

              true if this container is root or if it's attached to the root container

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5i7vM6enbR33zcezoaBVp","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

              ","params":[],"returns":[{"description":"

              true if the vertices are convex, false if not, null if not computable

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_UPZL1F34Zkon2C7k5_Pg","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

              determines whether all coordinates of this rectangle are finite numbers.

              ","params":[],"returns":[{"description":"

              false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PKHKY835SAa5JKXQ0BQYV","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable towards the given target.

              ","params":[{"identifier":"target","optional":false,"description":"

              the renderable or position to look at

              ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qlVcH22Jj0Zje2GMLpQUw","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the child in the group one step backward (z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"R-Cbr1MNZCPkJbCzmaq9q","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the specified child the bottom (z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"4JibiRuvNFJ3g9JdB-mXt","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the specified child to the top(z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"uVy3JWiV-cfvn0m8SAbgk","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

              Move the child in the group one step forward (z depth).

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be moved

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"S2x-qTcnh3EtKdRvjt1Ai","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

              a callback to be extended, triggered after a child has been added or removed

              ","params":[{"identifier":"index","optional":false,"description":"

              added or removed child index

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XOxUUJI4TdAj7hHssaWC1","name":"onClick","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed (to be extended)

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              return false if we need to stop propagating the event

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qbfkAnVNi9tX787GLg__Z","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

              onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

              ","params":[{"identifier":"response","optional":false,"description":"

              the collision response object

              ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

              the other renderable touching this one (a reference to response.a or response.b)

              ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

              true if the object should respond to the collision (its position and velocity will be corrected)

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JH_Mq2-0EOenpnHnEx1DS","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G_J58jHXiWjYs9eAwenik","name":"onHold","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed and held
              \nto be extended

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kGdgiQjIyQwWAj9pkLOKW","name":"onMove","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is moved over the object

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"jf5287jT2VlZHhD-5hiby","name":"onOut","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is leaving the object area

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"y9yn5frpG82ibDiCkd5eR","name":"onOver","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the pointer is over the object

              ","params":[{"identifier":"event","optional":false,"description":"

              the event object

              ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"R9pgbxO4_DbJNLocGEnE0","name":"onRelease","brief":"","scope":"instance","type":"MethodDoc","description":"

              function called when the object is pressed and released (to be extended)

              ","params":[],"returns":[{"description":"

              return false if we need to stop propagating the event

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qHetiO7AnxZD6gFKXOIVf","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if this rectangle is intersecting with the specified one

              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              true if overlaps

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_9xP8RRayD7Uf-G5cNIb6","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

              restore the rendering context after drawing (automatically called by melonJS).

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"Xl4tYT50e6Nc8nRdrtxMJ","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

              Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer object

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"-ei8nzIFytcj16QIaktRQ","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

              Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tyD8Ni1f5DxR6cDmtAEsY","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

              Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

              Child to be removed

              ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

              true to prevent calling child.destroy()

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Ah5U4hTqgO3t3mH5hWarj","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

              Removes (and optionally destroys) a child from the container.
              \n(removal is immediate and unconditional)
              \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

              Child to be removed

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

              True to prevent calling child.destroy()

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"biQaPvlC147ryS6Mdr16h","name":"reset","brief":"

              reset the container, removing all childrens, and reseting transforms.

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UDWTCAxXjjlVOvtdGxDVE","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

              resize the rectangle

              ","params":[{"identifier":"w","optional":false,"description":"

              new width of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              new height of the rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KPd-AXK-XHUYyoIOb4EBn","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this renderable by the specified angle (in radians).

              ","params":[{"identifier":"angle","optional":false,"description":"

              The angle to rotate (in radians)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional point to rotate around

              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Jsa6_O8qYyIaDCv5lsb1o","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

              a number representing the abscissa of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

              a number representing the ordinate of the scaling vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5AfBLlcgPrY2s6d6oEaxz","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

              scale the renderable around his anchor point

              ","params":[{"identifier":"v","optional":false,"description":"

              scaling vector

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nJVaednArk2y5wslk6_f8","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

              Automatically set the specified property of all childs to the given value

              ","params":[{"identifier":"prop","optional":false,"description":"

              property name

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

              property value

              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

              recursively apply the value to child containers if true

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"VytI_qRWZbMpvXpWRkgaM","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the renderable alpha channel value

              ","params":[{"identifier":"alpha","optional":false,"description":"

              opacity value between 0.0 and 1.0

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"aUeZu5nScz_ZZ9SrD6Jrf","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

              set new value to the rectangle shape

              ","params":[{"identifier":"x","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              position of the Rectangle

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              width of the rectangle, or an array of vector defining the rectangle

              ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

              height of the rectangle, if a numeral width parameter is specified

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              this rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7lE4qk4vM0wTr9l1yTnUJ","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the vertices defining this Polygon

              ","params":[{"identifier":"vertices","optional":false,"description":"

              array of vector or vertice defining the Polygon

              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

              this instance for objecf chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ATDj9eteRf8iLZXeZMzhE","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              Shifts the Polygon to the given position vector.

              ","params":[{"identifier":"x","description":"

              x coordinate or a vector point to shift to

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"b84XtlCuc_rCpji6a2Inl","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

              Manually trigger the sort of all the childs in the container

              ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

              recursively sort all containers if true

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"LhlB0nlfvhZC8Hl0B3VJQ","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

              Swaps the position (z-index) of 2 children

              ","params":[{"identifier":"child","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

              Child to be added

              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"x1GKfOEyNsqoi5Os8F-I_","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply a 2d projection to this shapen

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ECiwwcsW1PDVvDd-b7coY","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

              apply an isometric projection to this shape

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nyKrdTp_NqTmO5z5KhVpC","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns a polygon whose edges are the same as this box.

              ","params":[],"returns":[{"description":"

              a new Polygon that represents this rectangle.

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mQGg1ujcMOPxuYPYnBuiu","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

              multiply the renderable currentTransform with the given matrix

              ","params":[{"identifier":"m","optional":false,"description":"

              the transformation matrix

              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"p2jgdmGQtukpdw56cWF0R","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

              translate the Polygon by the specified offset

              ","params":[{"identifier":"x","description":"

              x offset or a vector point to translate by

              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

              y offset

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rvLPNdrz_Co7cB56S0417","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

              merge this rectangle with another one

              ","params":[{"identifier":"rect","optional":false,"description":"

              other rectangle to union with

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              the union(ed) rectangle

              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_b2cEif4DBACkFjT-cIbP","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

              update the bounding box for this container.

              ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

              update the bounds size and position in (world) absolute coordinates

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              this container bounding box Rectangle object

              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6uUaD9v3RYSjeq-Qjk-zE","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              draw this renderable (automatically called by melonJS)

              ","params":[{"identifier":"renderer","optional":false,"description":"

              a renderer instance

              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

              the viewport to (re)draw

              ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"sZFLpp2cibCq6igLaAJJj","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              container update function.
              \nautomatically called by the application update loop {@link Application}

              ","params":[{"identifier":"dt","optional":false,"description":"

              time since the last update in milliseconds.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              true if the Container is dirty

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_JHQLhPKzQJPXXa6S83dH","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

              called when the anchor point value is changed

              ","params":[{"identifier":"x","optional":false,"description":"

              the new X value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              the new Y value to be set for the anchor

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"C9S5OXuaKBNuXrYCYu16S","name":"Vector2d","brief":"","type":"ClassDoc","description":"

              a generic 2D Vector Object

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Pd78D3EWjYoctFeyySQFC","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

              x value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ND76jsgwt4T3cHEpdYgyz","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

              y value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fq-IX6cBsgF8fwjYsem23","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

              Update this vector values to absolute values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rHUSUwk_edrf-UXRXGahD","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

              Add the passed vector to this vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lx42hKpGWSj1kg2bOe0OL","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the angle between this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DSdR4TWwu_jSXHWb4uVzJ","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

              Ceil the vector values

              ","params":[],"returns":[{"description":"

              new me.Vector2d

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nCqo3PWxmyiYS70ngoLmp","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Ceil this vector values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zx5x0P3N8Rset0V8BvR5m","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

              Clamp the vector value within the specified value range

              ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              new me.Vector2d

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"I4gjKBrP2PBiVQb4gRbU0","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Clamp this vector value within the specified value range

              ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZtdL1ouLum9Rm-J0j38go","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              return a clone copy of this vector

              ","params":[],"returns":[{"description":"

              new me.Vector2d

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"v2NtCWAr24cgEn6Avlbf1","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

              x value of the vector

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

              y value of the vector

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"hiJlZ9-GH3kabOGD_GOvu","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

              Copy the x,y values of the passed vector to this one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jAVIy7lHFuhEaeBn2sWud","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the cross product of this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              The cross product.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rO5mNi3qHFwAne7v9Ig8p","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the distance between this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6OBImEbIdZCBV5cDaXib3","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

              Divide this vector values by the passed value

              ","params":[{"identifier":"n","optional":false,"description":"

              the value to divide the vector by

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"onH18Ip0fPvJBzNsr8lUn","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the dot product of this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              The dot product.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vo7UeoLzu8oxh0nnIT2t5","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if this vector is equal to the given values or vector

              ","params":[{"identifier":"x","optional":false,"variadic":true,"dataType":{"tokens":[{"value":"number | Vector2d | ObservableVector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0OGosbZCYnU7ngs3q1k8S","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

              Floor the vector values

              ","params":[],"returns":[{"description":"

              new me.Vector2d

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hPpqbK-V_PQ14biR_6eoX","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Floor this vector values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AM7M83XwnthWtfEWtrWuj","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the length (magnitude) of this vector

              ","params":[],"returns":[{"description":"

              the length of this vector

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HO22qETKTe7pFJlCgcvJx","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the square length of this vector

              ","params":[],"returns":[{"description":"

              The length^2 of this vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4xzyjO3Q7l5A0FUVBhrJH","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

              Linearly interpolate between this vector and the given one.

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":false,"description":"

              distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TrNm1JS-oCam8Q8ztfuan","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

              Update this vector with the maximum value between this and the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l8D8GYr6ZafBRSnxiN2mg","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

              Update this vector with the minimum value between this and the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X1scNb4h-VIBEHtsamxmm","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

              interpolate the position of this vector towards the given one by the given maximum step.

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"step","optional":false,"description":"

              the maximum step per iteration (Negative values will push the vector away from the target)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1aXp7nt1v6099Of8y0aAG","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Negate the vector values

              ","params":[],"returns":[{"description":"

              new me.Vector2d

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0J6R5rSCtHxg_4pUTKwSD","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Negate this vector values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iX-e0rYvmbljpofobdTnv","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

              normalize this vector (scale the vector so that its magnitude is 1)

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7_Xjoce-SvaGvGYQ6ykRj","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

              change this vector to be perpendicular to what it was before.
              \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_7ebYLQzI-YMDiP18AdcC","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

              project this vector on to another vector.

              ","params":[{"identifier":"v","optional":false,"description":"

              The vector to project onto.

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i5XSJhR99MM_DidIQqsM-","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

              Project this vector onto a vector of unit length.
              \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

              The unit vector to project onto.

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"60G5zWZc9Nc6nO6P8oPfF","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this vector (counter-clockwise) by the specified angle (in radians).

              ","params":[{"identifier":"angle","optional":false,"description":"

              The angle to rotate (in radians)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional point to rotate around

              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zVq6lvQooMLUYcEZlSAa_","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              Multiply this vector values by the given scalar

              ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DThVtPFrrvmBPYdsbDlbt","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

              Multiply this vector values by the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PNiRp3HbebPJ-5BTOth5a","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the Vector x and y properties to the given values

              ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Bi2H_rbHfoTRbHbuiTFYF","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the Vector x and y properties using the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EcjC4WuY_dSlbBujE9gl7","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the Vector x and y properties to 0

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IEsn2JHxjRR624jv_rwpV","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

              Substract the passed vector to this vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6Q7BDo3xYwBjxh3IFblgf","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              Convert this vector into 2d coordinate space

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1NNPRcEo8UsfeH7pxPl9Z","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

              Convert this vector into isometric coordinate space

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YScGiQWqwFgdpwFs90ZWU","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

              convert the object to a string representation

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"0AWivno-80ezil8g6VPuO","name":"Vector3d","brief":"","type":"ClassDoc","description":"

              a generic 3D Vector Object

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"qzmGy-6Hbvdu_Jod2yiDA","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

              x value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"25mEQ58bA3UiN0C7ujzuz","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

              y value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w35IoyipCT2Etu0O6XEEf","name":"z","brief":"","scope":"instance","type":"PropertyDoc","description":"

              z value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jDDXTXCGNzgNPDafyB8EE","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

              Update this vector values to absolute values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jkdDu0_K3YnHODhtI6hOo","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

              Add the passed vector to this vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6BJbpmdJ7Kf_JvdgiBgrG","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the angle between this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GZ7HMalxbFzZhWohZ9cIz","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

              Ceil the vector values

              ","params":[],"returns":[{"description":"

              new me.Vector3d

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pYP_i3YEv2E7DGXmZntWw","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Ceil this vector values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KnhBRuBO37fuL8Zo66tot","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

              Clamp the vector value within the specified value range

              ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              new me.Vector3d

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QlVUQZFpdw-0pTDga8383","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Clamp this vector value within the specified value range

              ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pmCAPO_9-m73IChhxnnVa","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

              return a clone copy of this vector

              ","params":[],"returns":[{"description":"

              new me.Vector3d

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0JDx1N8ETgrsS1ebnbqQk","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

              x value of the vector

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

              y value of the vector

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

              z value of the vector

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"n73MzgfomrWISlfI0c020","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

              Copy the components of the given vector into this one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0rEs3vvklf1KonXEoecgq","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

              calculate the cross product of this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"naWAusyPiygeSX-QYdMLz","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the distance between this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ap3GPlujkXodM05fL0FXX","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

              Divide this vector values by the passed value

              ","params":[{"identifier":"n","optional":false,"description":"

              the value to divide the vector by

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"no2dB6aOn4aAancSTttkp","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the dot product of this vector and the passed one

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              The dot product.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"u8uNin3Du7Xrd1-hqqd0S","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

              return true if this vector is equal to the given values or vector

              ","params":[{"identifier":"x","optional":false,"variadic":true,"dataType":{"tokens":[{"value":"number | Vector2d | ObservableVector2d | Vector3d | ObservableVector3d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"duE2OVlb3ZyYPond_TT43","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

              Floor the vector values

              ","params":[],"returns":[{"description":"

              new me.Vector3d

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XlAt1V76y6eIVUrrlevwQ","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Floor this vector values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yEZ9B9iquEnEGWJDZXSFL","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the length (magnitude) of this vector

              ","params":[],"returns":[{"description":"

              the length of this vector

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8uF-L9NAc0btE00BYFhq_","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the square length of this vector

              ","params":[],"returns":[{"description":"

              The length^2 of this vector.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9hJ4j1p3vvZZV_nmWoDcQ","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

              Linearly interpolate between this vector and the given one.

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":false,"description":"

              distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NLhhvbrA4UKGVrP6ADYyd","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

              Update this vector with the maximum value between this and the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ijmnEsUXuq8cbmwkBBtvW","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

              Update this vector with the minimum value between this and the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OkLX-MfrOG_sik1tlttnb","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

              interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.

              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"step","optional":false,"description":"

              the maximum step per iteration (Negative values will push the vector away from the target)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GZP_D5-GCRi46qVN638xk","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Negate the vector values

              ","params":[],"returns":[{"description":"

              new me.Vector3d

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VKZM0hRabo_lD5SKqtpw3","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

              Negate this vector values

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BpZikiZF45vKCk82CcAL2","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

              normalize this vector (scale the vector so that its magnitude is 1)

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GHP6d_FhRLpqg0lAL_cPz","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

              change this vector to be perpendicular to what it was before.
              \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TK08icQUjwiIErUM-BIdm","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

              project this vector on to another vector.

              ","params":[{"identifier":"v","optional":false,"description":"

              The vector to project onto.

              ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TJtS_1ro_SLDWo26Rqtms","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

              Project this vector onto a vector of unit length.
              \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

              The unit vector to project onto.

              ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XTPMaNGXuzUUpBDxcXMeo","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

              Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis

              ","params":[{"identifier":"angle","optional":false,"description":"

              The angle to rotate (in radians)

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

              an optional point to rotate around (on the same z axis)

              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"itp7bj7jeHUXGGYP0YmwP","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              Multiply this vector values by the given scalar

              ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"1","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lvWWa3f7QDXxP0Mzzy9CZ","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

              Multiply this vector values by the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X3WbTDMSjCv2ZEn5s-p9-","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the Vector x and y properties to the given values

              ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GJ5h14ujoQzqf4Y4E_Gzi","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the Vector x and y properties using the passed vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SjHd6aTN1SdYlqOzbXboD","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

              set the Vector x and y properties to 0

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kx3_omdr1uoYIxrnVc3O3","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

              Substract the passed vector to this vector

              ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"03Br17ACM-IQ4hbJrJwDf","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              Convert this vector into 2d coordinate space

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1FNezFLyO4rZG9Z8kUKNH","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

              Convert this vector into isometric coordinate space

              ","params":[],"returns":[{"description":"

              Reference to this object for method chaining

              ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"92o679ekxP2XatMFXsgG9","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

              convert the object to a string representation

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"MitX1qj9QuZKAsg3ypS90","name":"WebGLRenderer","brief":"","type":"ClassDoc","description":"

              a WebGL renderer object

              ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"jvcUA7aSH-42bkA4TOOh7","name":"compositors","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The list of active compositors

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pOzJAXsEr6TxXa_Asq16n","name":"currentCompositor","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The current compositor used by the renderer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3h1mfc2_sFZzjuPAEvJTl","name":"currentProgram","brief":"","scope":"instance","type":"PropertyDoc","description":"

              a reference to the current shader program used by the renderer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C5Nqy9Bq_RsZeJKcYWd_Q","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The current transformation matrix used for transformations on the overall scene

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZoXG5bacVq180_JjHdi2Q","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

              the default method to sort object ("sorting", "z-buffer")

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g9sWt2KMoBYUOP3PChJQz","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              the requested video size ratio

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xQVr9vK5S4AwkOigUBtWX","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The WebGL context

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p5M6zP8n0251YBOx9h1lE","name":"GPURenderer","brief":"","defaultValue":"undefined","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

              The renderer string of the underlying graphics driver.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0taJFBQIJMHnyANWU7Ezd","name":"GPUVendor","brief":"","defaultValue":"undefined","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

              The vendor string of the underlying graphics driver.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tfRclvqmHfdD6L8zyscls","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              return the height of the canvas which this renderer draws to

              ","params":[],"returns":[{"description":"

              height of the system Canvas

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sp35TvnSvRKbkLN1f6Ex6","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              true if the current rendering context is valid

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a9kZF1ZmLcOJqkt5s_WPI","name":"maxTextures","brief":"","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

              Maximum number of texture unit supported under the current context

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Qnu_bGT3pzubZc2GhJeX7","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The Path2D instance used by the renderer to draw primitives

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2Y9mGBwOgUKEpD0yhuDT0","name":"scaleRatio","brief":"","defaultValue":"<1,1>","scope":"instance","type":"PropertyDoc","description":"

              the scaling ratio to be applied to the main canvas

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e7Of2Ol_cSIqDu0py4Aeb","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              The given constructor options

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EgZaC87Jkrh3BQcmr47Av","name":"type","brief":"","defaultValue":"\"Generic\"","scope":"instance","type":"PropertyDoc","description":"

              The renderer type : Canvas, WebGL, etc...\n(override this property with a specific value when implementing a custom rendere...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"57vM2v3ovAsSNhmsalF6Q","name":"vertexBuffer","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the vertex buffer used by this WebGL Renderer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2aegQsQh10d9gRrOBpXdn","name":"WebGLVersion","brief":"","defaultValue":"1","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

              The WebGL version used by this renderer (1 or 2)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IJZabdSOhl1JqpAlwMbSn","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              return the width of the canvas which this renderer draws to

              ","params":[],"returns":[{"description":"

              width of the system Canvas

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bqAV7Z_c9rc8dKdKX4tue","name":"addCompositor","brief":"","scope":"instance","type":"MethodDoc","description":"

              add a new compositor to this renderer

              ","params":[{"identifier":"compositor","optional":false,"description":"

              a compositor instance

              ","dataType":{"tokens":[{"value":"Compositor","kind":"canonical"},{"value":"Compositor","kind":"link"}],"template":"%1"}},{"identifier":"name","optional":false,"default":"\"default\"","description":"

              a name uniquely identifying this compositor

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"activate","optional":true,"default":"false","description":"

              true if the given compositor should be set as the active one

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"EqVBdbQUBizYvkkYG5Cmc","name":"beginPath","brief":"","examples":[{"caption":"","code":"// First path\nrenderer.beginPath();\nrenderer.setColor(\"blue\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(200, 20);\nrenderer.stroke();\n// Second path\nrenderer.beginPath();\nrenderer.setColor(\"green\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(120, 120);\nrenderer.stroke();"}],"scope":"instance","type":"MethodDoc","description":"

              starts a new path by emptying the list of sub-paths. Call this method when you want to create a new path

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5NEn5XmS6l_E2zBqStgdF","name":"clear","brief":"

              Clear the frame buffer

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pgXRxTUAfhlz5ZfHrLBzb","name":"clearColor","brief":"","scope":"instance","type":"MethodDoc","description":"

              Clears the gl context with the given color.

              ","params":[{"identifier":"color","optional":true,"default":"\"#000000\"","description":"

              CSS color.

              ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"opaque","optional":true,"default":"false","description":"

              Allow transparency [default] or clear the surface completely [true]

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"osETTpiexcy9nRqMQShLx","name":"clearMask","brief":"","scope":"instance","see":["WebGLRenderer#setMask"],"type":"MethodDoc","description":"

              disable (remove) the rendering mask set through setMask.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7Na2hhW5cT5-UMas0HXlS","name":"clearRect","brief":"","scope":"instance","type":"MethodDoc","description":"

              Erase the pixels in the given rectangular area by setting them to transparent black (rgba(0,0,0,0)).

              ","params":[{"identifier":"x","optional":false,"description":"

              x axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

              The rectangle's width.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              The rectangle's height.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3RDb8OXvwTRi-ArQXPHfb","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

              clear the rendering tint set through setTint.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BV_JLJqMQLXKe4dU8GnRI","name":"clipRect","brief":"","scope":"instance","type":"MethodDoc","description":"

              clip the given region from the original canvas. Once a region is clipped,\nall future drawing will be limited to the clippe...","params":[{"identifier":"x","optional":false,"description":"

              x axis of the coordinate for the upper-left corner of the rectangle to start clipping from.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y axis of the coordinate for the upper-left corner of the rectangle to start clipping from.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

              the width of the rectangle to start clipping from.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              the height of the rectangle to start clipping from.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"nAM6Y8dht_CX_EErcICa6","name":"closePath","brief":"

              add a straight line from the current point to the start of the current sub-path. If the shape has already been closed or has only one point, this function does nothing

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HMbLiKGQVaQPoAlvclAOr","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"options","optional":true,"description":"

              optional parameters for the renderer

              ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"a74x7Mh5RqYniDsW4Ythx","name":"createPattern","brief":"","examples":[{"caption":"","code":"let tileable = renderer.createPattern(image, \"repeat\");\nlet horizontal = renderer.createPattern(image, \"repeat-x\");\nlet vertical = renderer.createPattern(image, \"repeat-y\");\nlet basic = renderer.createPattern(image, \"no-repeat\");"}],"scope":"instance","see":["ImageLayer#repeat"],"type":"MethodDoc","description":"

              Create a pattern with the specified repetition

              ","params":[{"identifier":"image","optional":false,"description":"

              Source image to be used as the pattern's image

              ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"repeat","optional":false,"description":"

              Define how the pattern should be repeated

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

              the patterned texture created

              ","dataType":{"tokens":[{"value":"TextureAtlas","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0FKRLsr7yaIP6SKflNFM4","name":"drawImage","brief":"","examples":[{"caption":"","code":"// Position the image on the canvas:\nrenderer.drawImage(image, dx, dy);\n// Position the image on the canvas, and specify width and height of the image:\nrenderer.drawImage(image, dx, dy, dWidth, dHeight);\n// Clip the image and position the clipped part on the canvas:\nrenderer.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);"}],"scope":"instance","type":"MethodDoc","description":"

              Draw an image to the gl context

              ","params":[{"identifier":"image","optional":false,"description":"

              An element to draw into the context.

              ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"sx","optional":false,"description":"

              The X coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sy","optional":false,"description":"

              The Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sw","optional":false,"description":"

              The width of the sub-rectangle of the source image to draw into the destination context. If not specified, the entire rect...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sh","optional":false,"description":"

              The height of the sub-rectangle of the source image to draw into the destination context.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dx","optional":false,"description":"

              The X coordinate in the destination canvas at which to place the top-left corner of the source image.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dy","optional":false,"description":"

              The Y coordinate in the destination canvas at which to place the top-left corner of the source image.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dw","optional":false,"description":"

              The width to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the image...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dh","optional":false,"description":"

              The height to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the imag...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wd9UuCfCkymSsNwtfxk9K","name":"drawPattern","brief":"","scope":"instance","see":["WebGLRenderer#createPattern"],"type":"MethodDoc","description":"

              Draw a pattern within the given rectangle.

              ","params":[{"identifier":"pattern","optional":false,"description":"

              Pattern object

              ","dataType":{"tokens":[{"value":"TextureAtlas","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

              x position where to draw the pattern

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y position where to draw the pattern

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

              width of the pattern

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              height of the pattern

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ExcHlnGx51ZzSqvlR_8E0","name":"fill","brief":"","scope":"instance","type":"MethodDoc","description":"

              fill the given shape or the current defined path

              ","params":[{"identifier":"shape","optional":true,"description":"

              a shape object to fill

              ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[],"extends":[],"implements":[]},{"id":"dwO76AtbKra7qWxPh6bkU","name":"fillArc","brief":"","scope":"instance","type":"MethodDoc","description":"

              Fill an arc at the specified coordinates with given radius, start and end points

              ","params":[{"identifier":"x","optional":false,"description":"

              arc center point x-axis

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              arc center point y-axis

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

              arc radius

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

              start angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

              end angle in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

              draw arc anti-clockwise

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"77S1Y5RruYakBNzaxijXt","name":"fillEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

              Fill an ellipse at the specified coordinates with given radius

              ","params":[{"identifier":"x","optional":false,"description":"

              ellipse center point x-axis

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              ellipse center point y-axis

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

              horizontal radius of the ellipse

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

              vertical radius of the ellipse

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"psI75VhrhPHdj04FwZeaS","name":"fillLine","brief":"","scope":"instance","type":"MethodDoc","description":"

              Fill a line of the given two points

              ","params":[{"identifier":"startX","optional":false,"description":"

              the start x coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

              the start y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

              the end x coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

              the end y coordinate

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1mVCbz45hWdyhirmD6hLV","name":"fillPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

              Draw a a point at the specified coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              x axis of the coordinate for the point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y axis of the coordinate for the point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"sLtl_i1tUT2rhl-jsGDGE","name":"fillPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

              Fill a me.Polygon on the screen

              ","params":[{"identifier":"poly","optional":false,"description":"

              the shape to draw

              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"feOnWay8sf-sTA3duzL2M","name":"fillRect","brief":"","scope":"instance","type":"MethodDoc","description":"

              Draw a filled rectangle at the specified coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              x axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

              The rectangle's width.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              The rectangle's height.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"yh2S9VFJcynEf00oyYq1h","name":"fillRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

              Draw a rounded filled rectangle at the specified coordinates

              ","params":[{"identifier":"x","optional":false,"description":"

              x axis of the coordinate for the rounded rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              y axis of the coordinate for the rounded rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

              The rounded rectangle's width.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              The rounded rectangle's height.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

              The rounded corner's radius.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"IrTS3y-ioib8LMeBNmmHv","name":"flush","brief":"

              Flush the compositor to the frame buffer

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L5udJzSpfjNhzk6T-o3XW","name":"getBlendMode","brief":"","scope":"instance","type":"MethodDoc","description":"

              returns the current blend mode for this renderer

              ","params":[],"returns":[{"description":"

              blend mode

              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"IxS8WyFpqDDjwnVI5LvOc","name":"getCanvas","brief":"","scope":"instance","type":"MethodDoc","description":"

              return a reference to the canvas which this renderer draws to

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_CQIR0tyOmuVmq1ijv6OG","name":"getColor","brief":"","scope":"instance","type":"MethodDoc","description":"

              get the current fill & stroke style color.

              ","params":[],"returns":[{"description":"

              current global color

              ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KIXATW3Tp1qtP2gKb7BGP","name":"getContext","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the WebGLContext instance for the renderer\nreturn a reference to the system 2d Context

              ","params":[],"returns":[{"description":"

              the current WebGL context

              ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P_ij6RAHjIBVe0VDVPJ48","name":"getContext2d","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the 2D Context object of the given Canvas
              \nAlso configures anti-aliasing and blend modes based on constructor o...","params":[{"identifier":"canvas","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"true","description":"

              use false to disable transparency

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-tW7imBLACj8k2WhEs-Sk","name":"getContextGL","brief":"","scope":"instance","type":"MethodDoc","description":"

              Returns the WebGL Context object of the given canvas element

              ","params":[{"identifier":"canvas","optional":false,"description":"

              the canvas element

              ","dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"false","description":"

              use true to enable transparency

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"depth","optional":true,"default":"false","description":"

              use true to enable depth buffer testing

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

              the WebGL Context object

              ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1RxTpVM9kwyLwmFg4Ycl_","name":"getGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

              Return the global alpha

              ","params":[],"returns":[{"description":"

              global alpha value

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ftL2A2xHdxK4PhGHvnojL","name":"getScreenCanvas","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getCanvas();"],"type":"MethodDoc","description":"

              return a reference to the screen canvas

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kgVDdje0tstI_cjfqhe0n","name":"getScreenContext","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getContext();"],"type":"MethodDoc","description":"

              return a reference to the screen canvas corresponding 2d Context
              \n(will return buffered context if double buffering is ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yQRt1pzZ3_TviwP6PBiFf","name":"globalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

              return the current global alpha

              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"noB0WiFjfF5H7F3Ct72LU","name":"lineTo","brief":"

              adds a straight line to the current sub-path by connecting the sub-path's last point to the specified (x, y) coordinates.

              ","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false},{"identifier":"y","optional":false}],"returns":[],"extends":[],"implements":[]},{"id":"245wAhRfU9FbLVCXPcxBQ","name":"moveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

              begins a new sub-path at the point specified by the given (x, y) coordinates.

              ","params":[{"identifier":"x","optional":false,"description":"

              The x axis of the point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              The y axis of the point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"eusgj8xVrGhVYFwBArCIp","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

              check if the given rect or bounds overlaps with the renderer screen coordinates

              ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Rect | Bounds","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

              true if overlaps

              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"XoDFJr6MyL5sYdJo3vTZu","name":"rect","brief":"","scope":"instance","type":"MethodDoc","description":"

              creates a rectangular path whose starting point is at (x, y) and whose size is specified by width and height.

              ","params":[{"identifier":"x","optional":false,"description":"

              The x axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              The y axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

              The rectangle's width.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              The rectangle's height.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_gHmfj8AEcCbIIXJRyOH9","name":"reset","brief":"

              Reset context state

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qVHd7g2zXpV9xPrE8LpHO","name":"resetTransform","brief":"

              Reset the gl transform to identity

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yCyv-62Vk41f7UIuGHCT7","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

              resizes the system canvas

              ","params":[{"identifier":"width","optional":false,"description":"

              new width of the canvas

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              new height of the canvas

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wvzJIAWCe0tFP0cKMQKf5","name":"restore","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

              restores the most recently saved renderer state by popping the top entry in the drawing state stack

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zuEN2RC7pYtQvmpKEJbxx","name":"rotate","brief":"","examples":[{"caption":"","code":" // Rotated rectangle\n renderer.rotate((45 * Math.PI) / 180);\n renderer.setColor(\"red\");\n renderer.fillRect(10, 10, 100, 100);\n\n // Reset transformation matrix to the identity matrix\n renderer.setTransform(1, 0, 0, 1, 0, 0);"}],"scope":"instance","type":"MethodDoc","description":"

              adds a rotation to the transformation matrix.

              ","params":[{"identifier":"angle","optional":false,"description":"

              the rotation angle, clockwise in radians

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Q6rF1p4SGvF97iYh-8ypV","name":"roundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

              adds a rounded rectangle to the current path.

              ","params":[{"identifier":"x","optional":false,"description":"

              The x axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              The y axis of the coordinate for the rectangle starting point.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

              The rectangle's width.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

              The rectangle's height.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

              The corner radius.

              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"V3uBUNSjRKgpoxYW1D6GN","name":"save","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

              saves the entire state of the renderer by pushing the current state onto a stack.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MD6QGNXgUJbRrEwiiW5nV","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

              adds a scaling transformation to the renderer units horizontally and/or vertically

              ","params":[{"identifier":"x","optional":false,"description":"

              Scaling factor in the horizontal direction. A negative value flips pixels across the vertical axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

              Scaling factor in the vertical direction. A negative value flips pixels across the horizontal axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"yYLEmCTEi-bazH9D8rIki","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

              enable/disable image smoothing (scaling interpolation) for the given context

              ","params":[{"identifier":"context","optional":false,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":true,"default":"false","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"diLZ1tqmWIvXiuJv7VBCo","name":"setBlendMode","brief":"","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation"],"type":"MethodDoc","description":"

              set a blend mode for the given context.
              \nSupported blend mode between Canvas and WebGL remderer :

              \n
                \n
              • &q...","params":[{"identifier":"mode","optional":true,"default":"\"normal\"","description":"

                blend mode : "normal", "multiply", "lighter", "additive", "screen"

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"gl","optional":true,"description":"

                a WebGL context

                ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"pX1IW9B_ddERSmEToC7O9","name":"setColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                Set the current fill & stroke style color.\nBy default, or upon reset, the value is set to #000000.

                ","params":[{"identifier":"color","optional":false,"description":"

                css color string.

                ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}}],"returns":[],"extends":[],"implements":[]},{"id":"tF-C9RIsiGuKrgT6tdvUE","name":"setCompositor","brief":"","scope":"instance","type":"MethodDoc","description":"

                set the active compositor for this renderer

                ","params":[{"identifier":"name","optional":false,"default":"\"default\"","description":"

                a compositor name

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"shader","optional":true,"description":"

                an optional shader program to be used, instead of the default one, when activating the compositor

                ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                an instance to the current active compositor

                ","dataType":{"tokens":[{"value":"Compositor","kind":"canonical"},{"value":"Compositor","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4UxQO4X1g6QXNMuM0Cmqr","name":"setGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                Set the global alpha

                ","params":[{"identifier":"alpha","optional":false,"description":"

                0.0 to 1.0 values accepted.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2DCTXdwAFYOhi6Smet7r7","name":"setLineWidth","brief":"","scope":"instance","type":"MethodDoc","description":"

                Set the line width

                ","params":[{"identifier":"width","optional":false,"description":"

                Line width

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wtkC9N0_RiecaU1nNuogi","name":"setMask","brief":"","scope":"instance","see":["CanvasRenderer#clearMask"],"type":"MethodDoc","description":"

                A mask limits rendering elements to the shape and position of the given mask object.\nIf the drawing or rendering area is l...","params":[{"identifier":"mask","optional":true,"description":"

                a shape defining the mask to be applied

                ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"invert","optional":true,"default":"false","description":"

                either the given shape should define what is visible (default) or the opposite

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"v_Udo1FndQF6-tx6chfMP","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

                set/change the current projection matrix (WebGL only)

                ","params":[{"identifier":"matrix","optional":false,"description":"

                the new projection matrix

                ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"x7zrS_dkgs3DNGSIM9vEb","name":"setTint","brief":"","scope":"instance","type":"MethodDoc","description":"

                set a coloring tint for sprite based renderables

                ","params":[{"identifier":"tint","optional":false,"description":"

                the tint color

                ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":true,"description":"

                an alpha value to be applied to the tint

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qMZcuNqUDMGbjbHCoSmOt","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

                Reset (overrides) the renderer transformation matrix to the\nidentity one, and then apply the given transformation matrix.

                ","params":[{"identifier":"a","optional":false,"description":"

                a matrix2d to transform by, or a the a component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

                the b component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

                the c component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

                the d component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

                the e component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

                the f component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"7vRruvrLboAfU85dLCPxZ","name":"setViewport","brief":"","scope":"instance","type":"MethodDoc","description":"

                Sets the WebGL viewport, which specifies the affine transformation of x and y from normalized device coordinates to window...","params":[{"identifier":"x ","optional":true,"default":" 0","description":"

                x the horizontal coordinate for the lower left corner of the viewport origin

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y ","optional":true,"default":" 0","description":"

                y the vertical coordinate for the lower left corner of the viewport origin

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w ","optional":true,"default":" width of the canvas","description":"

                the width of viewport

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h ","optional":true,"default":" height of the canvas","description":"

                the height of viewport

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"g3RQCIDdn8q-cJKQblmt5","name":"stroke","brief":"","scope":"instance","type":"MethodDoc","description":"

                stroke the given shape or the current defined path

                ","params":[{"identifier":"shape","optional":true,"description":"

                a shape object to stroke

                ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"fill","optional":true,"default":"false","description":"

                fill the shape with the current color if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZvpxUQNFdlQKAGTaqq6mu","name":"strokeArc","brief":"","scope":"instance","type":"MethodDoc","description":"

                Stroke an arc at the specified coordinates with given radius, start and end points

                ","params":[{"identifier":"x","optional":false,"description":"

                arc center point x-axis

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                arc center point y-axis

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                arc radius

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

                start angle in radians

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

                end angle in radians

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

                draw arc anti-clockwise

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"fill","optional":true,"default":"false","description":"

                also fill the shape with the current color if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"db1cjFFYy9PTSRRv-Nb1d","name":"strokeEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

                Stroke an ellipse at the specified coordinates with given radius

                ","params":[{"identifier":"x","optional":false,"description":"

                ellipse center point x-axis

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                ellipse center point y-axis

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                horizontal radius of the ellipse

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                vertical radius of the ellipse

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                also fill the shape with the current color if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"fjRWbApeXRg6AahvcHuBG","name":"strokeLine","brief":"","scope":"instance","type":"MethodDoc","description":"

                Stroke a line of the given two points

                ","params":[{"identifier":"startX","optional":false,"description":"

                the start x coordinate

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

                the start y coordinate

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

                the end x coordinate

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

                the end y coordinate

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bztFJ9Si6K9uDQYvgBjxD","name":"strokePoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                Stroke a Point at the specified coordinates

                ","params":[{"identifier":"x","optional":false,"description":"

                x axis of the coordinate for the point.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                y axis of the coordinate for the point.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"C77D_Hz1Mc_WUAjzUEln8","name":"strokePolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                Stroke a me.Polygon on the screen with a specified color

                ","params":[{"identifier":"poly","optional":false,"description":"

                the shape to draw

                ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                also fill the shape with the current color if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"LOZdpXwVStA_avuqnH17G","name":"strokeRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                Draw a stroke rectangle at the specified coordinates

                ","params":[{"identifier":"x","optional":false,"description":"

                x axis of the coordinate for the rectangle starting point.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                y axis of the coordinate for the rectangle starting point.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                The rectangle's width.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                The rectangle's height.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                also fill the shape with the current color if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"v5PcqPiBrTxttquJtnegS","name":"strokeRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                Stroke a rounded rectangle at the specified coordinates

                ","params":[{"identifier":"x","optional":false,"description":"

                x axis of the coordinate for the rounded rectangle starting point.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                y axis of the coordinate for the rounded rectangle starting point.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                The rounded rectangle's width.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                The rounded rectangle's height.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                The rounded corner's radius.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                also fill the shape with the current color if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"dbHJFzsy-szk0kMsZ6Xqw","name":"tint","brief":"","scope":"instance","type":"MethodDoc","description":"

                tint the given image or canvas using the given color

                ","params":[{"identifier":"src","optional":false,"description":"

                the source image to be tinted

                ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2 | %3"}},{"identifier":"color","optional":false,"description":"

                the color that will be used to tint the image

                ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"mode","optional":true,"default":"\"multiply\"","description":"

                the composition mode used to tint the image

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                a new canvas element representing the tinted image

                ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"jtkTdb1ITPtYf_DaiCPNL","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderer.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

                creates a Blob object representing the last rendered frame

                ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                A string indicating the image format

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                A Promise returning a Blob object representing the last rendered frame

                ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HcmBDLM2LparP6XpFSKpM","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

                returns a data URL containing a representation of the last frame rendered

                ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                A string indicating the image format

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                A Promise returning a string containing the requested data URL.

                ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lVQCMakAXJ0Qc02Kx2m8S","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderer.transferToImageBitmap().then((image) => console.log(image));"}],"scope":"instance","type":"MethodDoc","description":"

                creates an ImageBitmap object of the last frame rendered\n(not supported by standard Canvas)

                ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                A string indicating the image format

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                A Promise returning an ImageBitmap.

                ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rbTH9VzSGbN35D7kcws71","name":"transform","brief":"","scope":"instance","see":["{@link WebGLRenderer.setTransform} which will reset the current transform matrix prior to performing the new transformation"],"type":"MethodDoc","description":"

                Multiply given matrix into the renderer tranformation matrix

                ","params":[{"identifier":"a","optional":false,"description":"

                a matrix2d to transform by, or a the a component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

                the b component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

                the c component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

                the d component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

                the e component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

                the f component to multiply the current matrix by

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CqeudGjNdfTQFzgvT9226","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

                adds a translation transformation to the current matrix.

                ","params":[{"identifier":"x","optional":false,"description":"

                Distance to move in the horizontal direction. Positive values are to the right, and negative to the left.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                Distance to move in the vertical direction. Positive values are down, and negative are up.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"EpQRZQ5tUlk-Zq6sDzfK_","name":"World","brief":"","type":"ClassDoc","description":"

                an object representing the physic world, and responsible for managing and updating all childs and physics

                ","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"ceojAAXJkkvvBFQGSjPK8","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                Define the renderable opacity
                \nSet to zero if you do not wish an object to be drawn

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ayNfFL-N-kvMrAc-v2e43","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                Whether the renderable object will always update, even when outside of the viewport

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xoOR7BRPkXPgSGr0Ey4JI","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                a reference to the parent object that contains this renderable

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y-n1nwVG5y2hGRaP43uBF","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                The anchor point is used for attachment behavior, and/or when applying transformations.
                \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7R9jW7NgQR7OcIQmP-euY","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the application (game) this physic world belong to

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nA7JnccsK6g-tTgwlaL0i","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                Specify if the children z index should automatically be managed by the parent container

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j-RmRYfaQxmtZ1EeU75TH","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                Specify if the children list should be automatically sorted when adding a new child

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FnwRyNOeKsdOIXzUKz1gV","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6RY6jH0P_L7qOAUYxxOOg","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

                define a background color for this container

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZCtISwq7f_wqlAIoLIzyV","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V2Ha7XJQssnUmzLvTt9gW","name":"bodies","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the active physic bodies in this simulation

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z5lCJJmoVClaWVJw1ub7_","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                the renderable physic body

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_GTzvrWGHszIlIZCLVhYT","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                bottom coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ri6P9veWLeeVUp8j9MGlf","name":"broadphase","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the instance of the game world quadtree used for broadphase (used by the builtin physic and pointer event implementation)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"No3cIPkAFofhkZ7hdCb-u","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                absolute center of this rectangle on the horizontal axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NJvVS6CriD25GeVkPXZmF","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                absolute center of this rectangle on the vertical axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sTRVonXYzx5unuVj24-mf","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                Specify if the container draw operation should clip his children to its own bounds

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rYGkMvExEh32Z8n_47f9c","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the renderable default transformation matrix

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PRGVcwNQfsAhQJlPITQXg","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the depth of this renderable on the z axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ie3yc8OYSwstU7pHSdzhu","name":"detector","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the collision detector instance used by this world instance

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m2yNdSZdQLENQwQ0Mh5kF","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"heTZ8PCgHDCbT-xCVpXkD","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTiOJsyAMkkdXufqXDg-8","name":"fps","brief":"","defaultValue":"60","scope":"instance","see":["timer.maxfps"],"type":"PropertyDoc","description":"

                the rate at which the game world is updated,\nmay be greater than or lower than the display fps

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SJABhCxQKs6tOZX3-Uxwp","name":"gravity","brief":"","defaultValue":"<0,0.98>","scope":"instance","type":"PropertyDoc","description":"

                world gravity

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4JMQJE8YOSCHIFtiIWyqR","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                (G)ame (U)nique (Id)entifier"
                \na GUID will be allocated for any renderable object added
                \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VXB2VFtiFaw6ho6tbQM-Z","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                height of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Vkt2aH4H6umNmqpQ7o1C5","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                Whether the renderable object is visible and within the viewport

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6kJTkoQyyrFmK8KsDJXri","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                when true the renderable will be redrawn during the next update cycle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AD6upQDcquJA_Nr0-gtpG","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                returns true if this renderable is flipped on the horizontal axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EolKqH-mCjbtDli-La8EN","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                returns true if this renderable is flipped on the vertical axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S5FL27j15ghVHxD4b4eAa","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9xMe5_awW66mkYYuf2dmQ","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                If true then physic collision and input events will not impact this renderable

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1TzcVCEqUmJ-JaY9-xOWM","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                make the renderable object persistent over level changes

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8qV-c4vS5iq7LspO8g1GP","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                left coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iDDPgjIeUCheLjt2K_eIM","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2grJwf2LtklBWYdOTPWL1","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                The name of the renderable

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s1dXF8pLKQjW4EzWPyz06","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                an event handler that is called when the renderable leave or enter a camera viewport

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2nn1WX21JxgnMKG2GQGhe","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                returns the parent application (or game) to which this renderable is attached to

                ","params":[],"returns":[{"description":"

                the parent application or undefined if not attached to any container/app

                ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E2msLB3G4ovlFj952nNH2","name":"physic","brief":"","defaultValue":"\"builtin\"","examples":[{"caption":"","code":"// disable builtin physic\nme.game.world.physic = \"none\";"}],"scope":"instance","see":["Application.Settings.physic"],"type":"PropertyDoc","description":"

                the physic engine used by melonJS

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"chb3v8T5U8Y7O6aSINfTH","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                Array of points defining the Polygon
                \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ok34TM6H6btutzp8ilnqq","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                Position of the Renderable relative to its parent container

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OHLLiIeWZZzWCOqh7-wKA","name":"preRender","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                Enabled pre-rendering for all tile layers.
                \nIf false layers are rendered dynamically, if true layers are first fully r...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yHuAh5U-MFyyS3Wg_bcSa","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                right coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BO2JtIz0up5V4Pz0AEIw_","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                whether the container is the root of the scene

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QwaozTjQ8hzXL4HnOodeb","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eNEeun0b_CMyFWGldzK5b","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

                The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y5HV_WDpAzCav8e1OexbW","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"605yIMKg9cSvaapvOBXmL","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                top coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7Tx7oJ9p9kKqIaKmPyvYs","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                the shape type (used internally)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dAYc6G924LsTpk8KBppP6","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                Whether to update this object when the game is paused.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VEKx83gTgmYZgb4FjYWCv","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                width of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yIXOZMoEqVbuiV34TlvKL","name":"addBody","brief":"","scope":"instance","see":["Container.addChild"],"type":"MethodDoc","description":"

                Add a physic body to the game world

                ","params":[{"identifier":"body","optional":false,"dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                this game world

                ","dataType":{"tokens":[{"value":"World","kind":"canonical"},{"value":"World","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"imEBy_h0FrS85Nw8HF53x","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                Add a child to the container
                \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

                Child to be added

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

                forces the z index of the child to the specified value

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                the added child

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hz-PNjKInubLA99e9M6M-","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                Add a child to the container at the specified index
                \n(the list won't be sorted after insertion)

                ","params":[{"identifier":"child","optional":false,"description":"

                Child to be added

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

                The index at which to insert the child

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                the added child

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l31fZJkbh6jNP0Z2AsNcZ","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                return the angle to the specified target

                ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                angle in radians

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gckUm6d6bEyl8-im-o2-n","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                center the rectangle position around the given coordinates

                ","params":[{"identifier":"x","optional":false,"description":"

                the x coordinate around which to center this rectangle

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                the y coordinate around which to center this rectangle

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                this rectangle

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xJwDtvxNJbkHGPlPCv_VW","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                clone this rectangle

                ","params":[],"returns":[{"description":"

                new rectangle

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"k8M6dDnx22qkxsljh2w7H","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

                position of the container (accessible via the inherited pos.x property)

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

                position of the container (accessible via the inherited pos.y property)

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":true,"default":"game.viewport.width","description":"

                width of the container

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":true,"default":"game.viewport.height","description":"

                height of the container

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rYCb6NNdJ0-2Sd1qH0oxz","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                Returns true if the rectangle contains the given point or rectangle

                ","params":[{"identifier":"x","description":"

                x coordinate or a vector point, or a rectangle to test

                ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                y coordinate

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                True if the rectangle contain the given point or rectangle, otherwise false

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fKbSYeY5NX627p6FfeXj2","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                copy the position and size of the given rectangle into this one

                ","params":[{"identifier":"rect","optional":false,"description":"

                Source rectangle

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                new rectangle

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"brimhOXZ4CrlKGaTgXvDT","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                return the distance to the specified target

                ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                distance

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"06pnGpyWcnma6L4_hv6O9","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                check if this rectangle is identical to the specified one

                ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                true if equals

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"a7jv8jphVFqf8Kf5fiY0K","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                flip the renderable on the horizontal axis (around the center of the renderable)

                ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                true to flip this renderable.

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NDnEi-WWTdCQ2genPqnio","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                flip the renderable on the vertical axis (around the center of the renderable)

                ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                true to flip this renderable.

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y9MJii2fLSEXyucbvc1Tw","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

                The forEach() method executes a provided function once per child element.
                \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

                fnction to execute on each element

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

                value to use as this(i.e reference Object) when executing callback.

                ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"o4888L1xw6jgVgjN9q-lv","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                return the renderable absolute position in the game world

                ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vBvfkbiNz9R7HoY6ljOBG","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                returns the bounding box for this renderable

                ","params":[],"returns":[{"description":"

                bounding box Rectangle object

                ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GTOrC6-yb49ubPNea679u","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                Returns the Child at the specified index

                ","params":[{"identifier":"index","optional":false,"description":"

                The index of the child

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                the child at the specified index

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kY8hjHfhk8ArDK2nH7Qf9","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

                return the child corresponding to the specified GUID
                \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

                child GUID

                ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                corresponding child or null

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lrAFmxtOJ-pCD0d5NWd4a","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

                returns the list of childs with the specified name
                \nas defined in Tiled (Name field of the Object Properties)
                \nnote ...","params":[{"identifier":"name","optional":false,"description":"

                child name

                ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                Array of children

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"27u4pFTnXvMKhnt5xMXpM","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

                return the child corresponding to the given property and value.
                \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

                Property name

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                Value of the property

                ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                Array of childs

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"YGSU8gIlex22OrjpGDSk_","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

                returns the list of childs with the specified class type

                ","params":[{"identifier":"classType","optional":false,"description":"

                Class type

                ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                Array of children

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"OqqF7FcrKEJfXyOIzNPwz","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

                Returns the index of the given Child

                ","params":[{"identifier":"child","optional":false,"description":"

                The child object

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                index

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JD3R8iW3w10FoFNTr4ZS0","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                return all child in this container

                ","params":[],"returns":[{"description":"

                an array of renderable object

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"vNmGEyBvPYtNaULrRoUlK","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                returns a list of indices for all triangles defined in this polygon

                ","params":[],"returns":[{"description":"

                an array of vertex indices for all triangles forming this polygon.

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"-DGDXNArdMsH3CzU3mVxZ","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                Returns the next child within the container or undefined if none

                ","params":[{"identifier":"child","optional":false,"description":"

                The child object

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                child

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ol4lm7PT6ymqsdvKhklR_","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                get the renderable alpha channel value

                ","params":[],"returns":[{"description":"

                current opacity value between 0 and 1

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YEd4niSeibZds2bhkZzYH","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

                Returns the instance of the root container (i.e. the current application World container).

                ","params":[],"returns":[{"description":"

                root container

                ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BLSwTmfthkiAw1GhfCqOl","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                Returns true if contains the specified Child

                ","params":[{"identifier":"child","optional":false,"description":"

                The child object

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"phV1KEgJa6uRoybgzA0GR","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

                Checks if this container is root or if it's attached to the root container.

                ","params":[],"returns":[{"description":"

                true if this container is root or if it's attached to the root container

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"FA1zUVMDNxXuZa_M1DYWL","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                ","params":[],"returns":[{"description":"

                true if the vertices are convex, false if not, null if not computable

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"UOW1uhJ-pfFq1zb_A5E6R","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                determines whether all coordinates of this rectangle are finite numbers.

                ","params":[],"returns":[{"description":"

                false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"vYCIH6vEX-30YeknmdunV","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                Rotate this renderable towards the given target.

                ","params":[{"identifier":"target","optional":false,"description":"

                the renderable or position to look at

                ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ttmSihQ0wdrd85CDYWb7N","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

                Move the child in the group one step backward (z depth).

                ","params":[{"identifier":"child","optional":false,"description":"

                Child to be moved

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"GjkX4FHBJpwTNCmxH5V-h","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

                Move the specified child the bottom (z depth).

                ","params":[{"identifier":"child","optional":false,"description":"

                Child to be moved

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"PVrnUNsQKJKtE3MBX2YRe","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

                Move the specified child to the top(z depth).

                ","params":[{"identifier":"child","optional":false,"description":"

                Child to be moved

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"gq1jPywOPo1eJS2op_rrw","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

                Move the child in the group one step forward (z depth).

                ","params":[{"identifier":"child","optional":false,"description":"

                Child to be moved

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"MNU8snaGC2L9dINm-w4oU","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

                a callback to be extended, triggered after a child has been added or removed

                ","params":[{"identifier":"index","optional":false,"description":"

                added or removed child index

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mWYhNMB6CLqEdTJ6SYxB5","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                ","params":[{"identifier":"response","optional":false,"description":"

                the collision response object

                ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                the other renderable touching this one (a reference to response.a or response.b)

                ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                true if the object should respond to the collision (its position and velocity will be corrected)

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"B7tHWNsIRjZSdo8gGvQsm","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                OnDestroy Notification function
                \nCalled by engine before deleting the object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oAr7peXFVJx-1XtwcBeyW","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                check if this rectangle is intersecting with the specified one

                ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                true if overlaps

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"M0DwSPXs63y36Zfu5PhaJ","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                restore the rendering context after drawing (automatically called by melonJS).

                ","params":[{"identifier":"renderer","optional":false,"description":"

                a renderer object

                ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"nHHwEeJ_aSHKXF7GSlajW","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                a renderer object

                ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"busI5oBWjYpl7niPC5tkZ","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i_5NRlpjzhLqT3poo-RQP","name":"removeBody","brief":"","scope":"instance","see":["Container.removeChild"],"type":"MethodDoc","description":"

                Remove a physic body from the game world

                ","params":[{"identifier":"body","optional":false,"dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                this game world

                ","dataType":{"tokens":[{"value":"World","kind":"canonical"},{"value":"World","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ar_Szr_5Dp2v_C08vfSIr","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

                Child to be removed

                ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

                true to prevent calling child.destroy()

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"w1iwXqtw1OgtvZK4CRSLj","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

                Removes (and optionally destroys) a child from the container.
                \n(removal is immediate and unconditional)
                \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

                Child to be removed

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

                True to prevent calling child.destroy()

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"HjuWf83CXTJPmO_gW9yJi","name":"reset","brief":"

                reset the game world

                ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Nag3Tpn8U3bEWwJXBF865","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                resize the rectangle

                ","params":[{"identifier":"w","optional":false,"description":"

                new width of the rectangle

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                new height of the rectangle

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                this rectangle

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P8L0XtdKMdsS-QYNc2PhQ","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                Rotate this renderable by the specified angle (in radians).

                ","params":[{"identifier":"angle","optional":false,"description":"

                The angle to rotate (in radians)

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                an optional point to rotate around

                ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"abYVg2XNpPwcs9DGYyA-c","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                a number representing the abscissa of the scaling vector.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                a number representing the ordinate of the scaling vector.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AGQ-37zE2VLmRKvSyRPEF","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                scale the renderable around his anchor point

                ","params":[{"identifier":"v","optional":false,"description":"

                scaling vector

                ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zdPYZQgFHOR968ZE2e0PJ","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

                Automatically set the specified property of all childs to the given value

                ","params":[{"identifier":"prop","optional":false,"description":"

                property name

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                property value

                ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

                recursively apply the value to child containers if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"j6KW_hKQgMHwR5P9t0E9C","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                set the renderable alpha channel value

                ","params":[{"identifier":"alpha","optional":false,"description":"

                opacity value between 0.0 and 1.0

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mn5xlPM_LkwgMzIhjNWga","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                set new value to the rectangle shape

                ","params":[{"identifier":"x","optional":false,"description":"

                position of the Rectangle

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                position of the Rectangle

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                width of the rectangle, or an array of vector defining the rectangle

                ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                height of the rectangle, if a numeral width parameter is specified

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                this rectangle

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3RdWZyZ2ofZGxPG9upKKT","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                set the vertices defining this Polygon

                ","params":[{"identifier":"vertices","optional":false,"description":"

                array of vector or vertice defining the Polygon

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                this instance for objecf chaining

                ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lnGH5SU7T4qiXj7cqJTi_","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                Shifts the Polygon to the given position vector.

                ","params":[{"identifier":"x","description":"

                x coordinate or a vector point to shift to

                ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"RG-ibvOPtwj-mch1oiBnv","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

                Manually trigger the sort of all the childs in the container

                ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

                recursively sort all containers if true

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"odpicFMNU0HbQNIj3jCXw","name":"step","brief":"","scope":"instance","type":"MethodDoc","description":"

                update the builtin physic simulation by one step (called by the game world update method)

                ","params":[{"identifier":"dt","optional":false,"description":"

                the time passed since the last frame update

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"lxDNq24oFcR4wr30Gbeev","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                Swaps the position (z-index) of 2 children

                ","params":[{"identifier":"child","optional":false,"description":"

                Child to be added

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

                Child to be added

                ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"bLMdSrwAw385S_PIEXR4P","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                apply a 2d projection to this shapen

                ","params":[],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bYN3JMFT4UQuVLjx47-BE","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                apply an isometric projection to this shape

                ","params":[],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WFxG9zGui33NfKhJv4o17","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                Returns a polygon whose edges are the same as this box.

                ","params":[],"returns":[{"description":"

                a new Polygon that represents this rectangle.

                ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ctTdWqTst1zJIXyIh_7ht","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                multiply the renderable currentTransform with the given matrix

                ","params":[{"identifier":"m","optional":false,"description":"

                the transformation matrix

                ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7R3YjbYEF6jPzLA_3pNbK","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                translate the Polygon by the specified offset

                ","params":[{"identifier":"x","description":"

                x offset or a vector point to translate by

                ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                y offset

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                Reference to this object for method chaining

                ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JuG5A0JD2Q9cbVn0zZGSp","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                merge this rectangle with another one

                ","params":[{"identifier":"rect","optional":false,"description":"

                other rectangle to union with

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                the union(ed) rectangle

                ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w8FeusBX8MJiVmG1M4Iuy","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                update the game world

                ","params":[{"identifier":"dt","optional":false,"description":"

                the time passed since the last frame update

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                true if the world is dirty

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HfULvI73zpKNS6qwf7Vcs","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                update the bounding box for this container.

                ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                update the bounds size and position in (world) absolute coordinates

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                this container bounding box Rectangle object

                ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hY8kVO3vVoiI3iBfB8hJq","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                draw this renderable (automatically called by melonJS)

                ","params":[{"identifier":"renderer","optional":false,"description":"

                a renderer instance

                ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                the viewport to (re)draw

                ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"tVKE-FuGP-G1l_VFQSr2w","name":"bodyApplyGravity","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                Apply gravity to the given body

                ","params":[{"identifier":"body","optional":false,"dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"YmDdrNloZASMjvVKbvtBX","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                called when the anchor point value is changed

                ","params":[{"identifier":"x","optional":false,"description":"

                the new X value to be set for the anchor

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                the new Y value to be set for the anchor

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"iWF9t8rN3nGkkoTEkTsGn","name":"AUTO","brief":"","defaultValue":"2","readonly":true,"scope":"static","see":["Application"],"type":"PropertyDoc","description":"

                constant to auto-select the renderer (Attempt WebGL first, with fallback to Canvas)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UHY88bqZsXALKgfe39SpS","name":"CANVAS","brief":"","defaultValue":"0","readonly":true,"scope":"static","see":["Application"],"type":"PropertyDoc","description":"

                constant to select the HTML5 Canvas renderer

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lUs9Igp9WzL6auRYt1h2-","name":"version","brief":"","defaultValue":"\"__VERSION__\"","readonly":true,"scope":"static","type":"PropertyDoc","description":"

                current melonJS version

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e0JpHKKUfK0eQFDRJ0SdZ","name":"WEBGL","brief":"","defaultValue":"1","readonly":true,"scope":"static","see":["Application"],"type":"PropertyDoc","description":"

                constant to select select the WebGL renderer

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"helbAhwicC3cNXgD3cedW","name":"failureLoadedAssets","brief":"

                Assets uploaded with an error

                ","readonly":true,"type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-prh4jsfDFnXZRM5PUoyq","name":"imgList","brief":"

                where all preloaded content is cached

                ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oG9g3RztLtaeMFbftBLBZ","name":"initialized","brief":"","defaultValue":"false","readonly":true,"type":"PropertyDoc","description":"

                a flag indicating that melonJS is fully initialized

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lG7IOgfDYyM_jJ36rTDzS","name":"parserInitialized","brief":"

                keep track if parsers were registered

                ","defaultValue":"false","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HOFX8rlPB0LiCj3GHTntB","name":"parsers","brief":"

                list of parser function for supported format type

                ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EHNuFndyj8DxqvpD9hePA","name":"skipAutoInit","brief":"","defaultValue":"false","see":["boot"],"type":"PropertyDoc","description":"

                disable melonJS auto-initialization

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gNUpmWNBSDEI9klUwx62P","name":"boot","brief":"","access":"public","see":["skipAutoInit"],"type":"FunctionDoc","description":"

                initialize the melonJS library.\nthis is automatically called unless me.skipAutoInit is set to true,\nto allow asynchronous ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cuA96eaGfGZNgZu4XLRut","name":"consoleHeader","brief":"","type":"FunctionDoc","description":"

                display information

                ","params":[{"identifier":"app","optional":false,"description":"

                the game application instance calling this function

                ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Q3MR4pRdEoSK9yE66I6RX","name":"fetchData","brief":"","examples":[{"caption":"","code":"fetchData('https://api.example.com/data', 'json')\n .then(data => {\n // Handle the fetched JSON data\n })\n .catch(error => {\n // Handle the error\n });"}],"type":"FunctionDoc","description":"

                Fetches data from the specified URL.

                ","params":[{"identifier":"url","optional":false,"description":"

                The URL to fetch the data from.

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"responseType","optional":false,"description":"

                The type of response expected ('json', 'text', 'blob', 'arrayBuffer').

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                A promise that resolves with the fetched data or rejects with an error.

                ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9VMp685vmkqyaE0uXwhxe","name":"hasVideoFormat","brief":"","type":"FunctionDoc","description":"

                detect if the given video format is supported

                ","params":[{"identifier":"codec","optional":false,"description":"

                the video format to check for support

                ","dataType":{"tokens":[{"value":"\"h264\" | \"h265\" | \"ogg\" | \"mp4\" | \"m4v\" | \"webm\" | \"vp9\" | \"hls\"","kind":"canonical"},{"value":"\"h264\"","kind":"canonical"},{"value":"\"h265\"","kind":"canonical"},{"value":"\"ogg\"","kind":"canonical"},{"value":"\"mp4\"","kind":"canonical"},{"value":"\"m4v\"","kind":"canonical"},{"value":"\"webm\"","kind":"canonical"},{"value":"\"vp9\"","kind":"canonical"},{"value":"\"hls\"","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8"}}],"returns":[{"description":"

                return true if the given video format is supported

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"B2HldnRS4fluf7kvMynf9","name":"pow","brief":"","type":"FunctionDoc","description":"

                Calculates the power of a number.

                ","params":[{"identifier":"n","optional":false,"description":"

                The number to be raised to the power of 2.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                The result of raising the number to the power of 2.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1SWcwbhW2dm6oGsEBGvsw","name":"warning","brief":"","type":"FunctionDoc","description":"

                display a deprecation warning in the console

                ","params":[{"identifier":"deprecated","optional":false,"description":"

                deprecated class,function or property name

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"replacement","optional":false,"description":"

                the replacement class, function, or property name

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"version","optional":false,"description":"

                the version since when the lass,function or property is deprecated

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"oHAF5RYaKNGNOcdwhQ5Lz","name":"onresize","brief":"","access":"private","type":"FunctionDoc","description":"

                callback for window resize event

                ","params":[{"identifier":"game","optional":false,"description":"

                the game application instance triggering the resize

                ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QglOxWNf0DYTfYmhJ6J64","name":"scale","brief":"","access":"private","type":"FunctionDoc","description":"

                scale the "displayed" canvas by the given scalar.\nthis will modify the size of canvas element directly.\nOnly use...","params":[{"identifier":"game","optional":false,"description":"

                the game application instance triggering the resize

                ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                x scaling multiplier

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                y scaling multiplier

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},"registry":{"pkg-0hXYhXZGYFRr_e-QzHQoy":{"uri":"/melonJS/docs/melonjs.html"},"liMI_6KYTLpP_0KjOvsEU":{"uri":"/melonJS/docs/melonjs/audio.html"},"3sZIPjFeRt3KxZ98ZNyuw":{"uri":"/melonJS/docs/melonjs/audio.html#stopOnAudioError"},"qoDWnPKlAMt_9eK9mo96h":{"uri":"/melonJS/docs/melonjs/audio/disable.html"},"CCRR5pepQ-i9IDFnfvZ5u":{"uri":"/melonJS/docs/melonjs/audio/enable.html"},"3z2z9ig55xFILKN3JN60Y":{"uri":"/melonJS/docs/melonjs/audio/fade.html"},"qRIAWT4k2Ed6tSSTqKalG":{"uri":"/melonJS/docs/melonjs/audio/getCurrentTrack.html"},"IPTYTrTUne3LP8SexUYYY":{"uri":"/melonJS/docs/melonjs/audio/getVolume.html"},"ZfI7x0iFmOM_zZzxk9CLO":{"uri":"/melonJS/docs/melonjs/audio/hasAudio.html"},"aPevG6Ys35LTaUnFJRIed":{"uri":"/melonJS/docs/melonjs/audio/hasFormat.html"},"2ziPTowmn17aO_OctSXov":{"uri":"/melonJS/docs/melonjs/audio/init.html"},"uL4H9vIOQhmIG9GIrH1xN":{"uri":"/melonJS/docs/melonjs/audio/load.html"},"Sva77drwXuH_LpKVZtN2O":{"uri":"/melonJS/docs/melonjs/audio/mute.html"},"4rm5z2iprde7D8cwXhwEC":{"uri":"/melonJS/docs/melonjs/audio/muteAll.html"},"zZgnqxIx95hNB5IVRHPEe":{"uri":"/melonJS/docs/melonjs/audio/muted.html"},"kz2iqNYA8wXrAFE5w26CY":{"uri":"/melonJS/docs/melonjs/audio/pause.html"},"N93M_RXJLxXgRz_yp4SNc":{"uri":"/melonJS/docs/melonjs/audio/pauseTrack.html"},"mwTogKLjNil5HL3V_TL1_":{"uri":"/melonJS/docs/melonjs/audio/play.html"},"Tdj8TWsv-MNAXeiZwRUg-":{"uri":"/melonJS/docs/melonjs/audio/playTrack.html"},"CXLvqrocQOR5IiFryf0S1":{"uri":"/melonJS/docs/melonjs/audio/rate.html"},"frI5tLKRGINmlilEQqcDe":{"uri":"/melonJS/docs/melonjs/audio/resume.html"},"Ry-R2v9wOAYmqebJRKlyq":{"uri":"/melonJS/docs/melonjs/audio/resumeTrack.html"},"U8Je6tiE7ZpXQfURiy1k4":{"uri":"/melonJS/docs/melonjs/audio/seek.html"},"XvXk8BVjoG0AZ7kaexwf8":{"uri":"/melonJS/docs/melonjs/audio/setVolume.html"},"E-cNeHdmDOJYpUtlaQkdt":{"uri":"/melonJS/docs/melonjs/audio/stop.html"},"hwmGMYCnaSCjRmwjenhG5":{"uri":"/melonJS/docs/melonjs/audio/stopTrack.html"},"GBPoWhpEl_-yW5V5ONAT1":{"uri":"/melonJS/docs/melonjs/audio/unload.html"},"BNMML841JQ9Latf_v2DrO":{"uri":"/melonJS/docs/melonjs/audio/unloadAll.html"},"dLe5ln_D4k-CQj2DNgSWk":{"uri":"/melonJS/docs/melonjs/audio/unmute.html"},"xapu6Zu-zg6gSyTUXfHT-":{"uri":"/melonJS/docs/melonjs/audio/unmuteAll.html"},"n2lVqS8NegC2pz--jhZRI":{"uri":"/melonJS/docs/melonjs/collision.html"},"xDVI8clvezCKnWm81jCnh":{"uri":"/melonJS/docs/melonjs/collision/types.html"},"V1C0D3_4CFgehp-pq1Hgo":{"uri":"/melonJS/docs/melonjs/collision/types.html#ACTION_OBJECT"},"UeK6_PZkaw_TvPoyikiHP":{"uri":"/melonJS/docs/melonjs/collision/types.html#ALL_OBJECT"},"rPsOpEdSccZer5eC9okDp":{"uri":"/melonJS/docs/melonjs/collision/types.html#COLLECTABLE_OBJECT"},"aF_v33yQwCHdJblNmDSM3":{"uri":"/melonJS/docs/melonjs/collision/types.html#ENEMY_OBJECT"},"CdzYJjmZ2cctsfwG2SUQh":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT"},"5TzbHITjZ3TtslWsj3qUL":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT_"},"vBalrE1Riznl9DY-LQ_83":{"uri":"/melonJS/docs/melonjs/collision/types.html#NPC_OBJECT"},"Nro46Wq5o_NNdeUpCtInJ":{"uri":"/melonJS/docs/melonjs/collision/types.html#PLAYER_OBJECT"},"BE-rQqgr24DYnpA-6UqhF":{"uri":"/melonJS/docs/melonjs/collision/types.html#PROJECTILE_OBJECT"},"FWGmaY4jcKYrxt1F8LXkr":{"uri":"/melonJS/docs/melonjs/collision/types.html#USER"},"2eGh2R638PFhx7fX01Fsh":{"uri":"/melonJS/docs/melonjs/collision/types.html#WORLD_SHAPE"},"dgjyCOw_O6xbwtm-askfF":{"uri":"/melonJS/docs/melonjs/collision.html#maxChildren"},"ZAoNTgwgboEBE9o5bXy7R":{"uri":"/melonJS/docs/melonjs/collision.html#maxDepth"},"H-h7U-cknsgGfhIaB9i09":{"uri":"/melonJS/docs/melonjs/collision.html#rayCast"},"spiXJEeppebxKODQSEom5":{"uri":"/melonJS/docs/melonjs/device.html"},"8FxgbhYd32XcG1u5B_rPy":{"uri":"/melonJS/docs/melonjs/device/platform.html"},"qQoFoBOKsL811NxWXD2Ui":{"uri":"/melonJS/docs/melonjs/device/platform.html#android"},"mqrX2UPfg_SV5lqGGWHNR":{"uri":"/melonJS/docs/melonjs/device/platform.html#android2"},"euTxZicLXNprgsWSx1mp4":{"uri":"/melonJS/docs/melonjs/device/platform.html#BlackBerry"},"4bR1PXnJHg3UEqZ3NyYFb":{"uri":"/melonJS/docs/melonjs/device/platform.html#chromeOS"},"h8CFR-uGpfaw4JY3HPcZ6":{"uri":"/melonJS/docs/melonjs/device/platform.html#ejecta"},"2uVqHDl5s-W6Kcu3jXdrY":{"uri":"/melonJS/docs/melonjs/device/platform.html#iOS"},"6mqWlXg47JBgy6dw-Dza7":{"uri":"/melonJS/docs/melonjs/device/platform.html#isMobile"},"e1-W7o8Bhts-3LLVeAD8P":{"uri":"/melonJS/docs/melonjs/device/platform.html#isWeixin"},"Aek_VsUjt1Z4YMZtdVVGs":{"uri":"/melonJS/docs/melonjs/device/platform.html#Kindle"},"XHa418MQMZJE45iW6e_St":{"uri":"/melonJS/docs/melonjs/device/platform.html#linux"},"ps8BMaUmsEx3cNWK-AqPz":{"uri":"/melonJS/docs/melonjs/device/platform.html#nodeJS"},"DwNU0Kfqqc9s74wLphTiK":{"uri":"/melonJS/docs/melonjs/device/platform.html#ua"},"oNdzW534B5wMG23--M5AN":{"uri":"/melonJS/docs/melonjs/device/platform.html#wp"},"TOh9VcfNypOz3KgZH0Bkz":{"uri":"/melonJS/docs/melonjs/device.html#accelerationX"},"InzI8mJhzQAaT3oQ110r8":{"uri":"/melonJS/docs/melonjs/device.html#accelerationY"},"EOUwYfQ6E6aCYkpmjoDPT":{"uri":"/melonJS/docs/melonjs/device.html#accelerationZ"},"sTM5svomtzo5lAdjjC0q4":{"uri":"/melonJS/docs/melonjs/device.html#alpha"},"yJys_WmwbFGblJuRVHJJ8":{"uri":"/melonJS/docs/melonjs/device.html#autoFocus"},"OEi3rC5LRKiotGahMbZqy":{"uri":"/melonJS/docs/melonjs/device.html#beta"},"vY3BJSIlFkA9GY-DLwffe":{"uri":"/melonJS/docs/melonjs/device.html#devicePixelRatio"},"iKeSm9SlEAmnicmoFQ5lK":{"uri":"/melonJS/docs/melonjs/device.html#gamma"},"XF_VWK_c-ufIUyVT-A_3J":{"uri":"/melonJS/docs/melonjs/device.html#hasAccelerometer"},"o_dg220mALIbRH1oN5JKj":{"uri":"/melonJS/docs/melonjs/device.html#hasDeviceOrientation"},"LwB0QtKD7N7OTLEbYetGD":{"uri":"/melonJS/docs/melonjs/device.html#hasFullscreenSupport"},"4tgOh3RqPQoUw7PMRunmh":{"uri":"/melonJS/docs/melonjs/device.html#hasHTML5Audio"},"NJnrBvM9covhs54o_7xHC":{"uri":"/melonJS/docs/melonjs/device.html#hasPointerLockSupport"},"qXZ85U3sZkYUKwdppHNy4":{"uri":"/melonJS/docs/melonjs/device.html#hasVideo"},"DsqD9jAcOpUIzxEQbHXaK":{"uri":"/melonJS/docs/melonjs/device.html#hasWebAudio"},"OCkzSxcS2VoAwsPSDTs8Y":{"uri":"/melonJS/docs/melonjs/device.html#isMobile"},"WJgC9nvZCKqVsCwCmCe2u":{"uri":"/melonJS/docs/melonjs/device.html#language"},"jAyyNubQ7H13LSb_tWSNp":{"uri":"/melonJS/docs/melonjs/device.html#localStorage"},"iN6L8tPpJ3h-kkLDgau2B":{"uri":"/melonJS/docs/melonjs/device.html#maxTouchPoints"},"DVsoz44BziYGJdIb2A4hl":{"uri":"/melonJS/docs/melonjs/device.html#nativeBase64"},"r-rAsUw3uyXrsSZbMykAG":{"uri":"/melonJS/docs/melonjs/device.html#offscreenCanvas"},"TpVDlJV2oZc_1-kH_JHEH":{"uri":"/melonJS/docs/melonjs/device.html#pauseOnBlur"},"zinwXyV0WYHq0fpPwipJi":{"uri":"/melonJS/docs/melonjs/device.html#platform"},"-M8olIUrbmFW_A6kgADG5":{"uri":"/melonJS/docs/melonjs/device.html#pointerEvent"},"NV5AHmO0cZUFDvWGSGRcV":{"uri":"/melonJS/docs/melonjs/device.html#resumeOnFocus"},"xMolKZdlm1QuGFphnaClz":{"uri":"/melonJS/docs/melonjs/device.html#screenOrientation"},"tDSciiSkoukbyTkq7P2eF":{"uri":"/melonJS/docs/melonjs/device.html#sound"},"c9wa3KOl90Q2_9KyZxspf":{"uri":"/melonJS/docs/melonjs/device.html#stopOnBlur"},"oi_nMVdCNJjQEwXdEIdB7":{"uri":"/melonJS/docs/melonjs/device.html#touch"},"OW47a3SoGG0yZ8TvoMnku":{"uri":"/melonJS/docs/melonjs/device.html#touchEvent"},"IPakbKEs0ltIgKxEkbB3w":{"uri":"/melonJS/docs/melonjs/device.html#wheel"},"xVUXIwoNFDNzhgPq_Kw5y":{"uri":"/melonJS/docs/melonjs/device/enableSwipe.html"},"77Je7KCZTGMau2oLcPsMb":{"uri":"/melonJS/docs/melonjs/device/exitFullscreen.html"},"L9L_vpcHGBgo9H2-GRWbX":{"uri":"/melonJS/docs/melonjs/device/focus.html"},"NMYtnW4quZwPZVA-2ZBX6":{"uri":"/melonJS/docs/melonjs/device/getElement.html"},"1zMoLnF6Ry_XQkDT_SlzG":{"uri":"/melonJS/docs/melonjs/device/getElementBounds.html"},"wHShpr37_9cGfxwBF-VEt":{"uri":"/melonJS/docs/melonjs/device/getParentBounds.html"},"Y-bEZrlYH0pFkHYynoQcv":{"uri":"/melonJS/docs/melonjs/device/getParentElement.html"},"1FA2U1K1QnjUOGQdGfj15":{"uri":"/melonJS/docs/melonjs/device/getScreenOrientation.html"},"h_gGJhyT8GiR3Qaq66n-d":{"uri":"/melonJS/docs/melonjs/device/getStorage.html"},"VKu36TF7Nk9wgjMXrkMXy":{"uri":"/melonJS/docs/melonjs/device/isFullscreen.html"},"BE5V0ZRbjMcAz3QZewhWy":{"uri":"/melonJS/docs/melonjs/device/isLandscape.html"},"u0mOoQ_yTF8zXxVvkJFfU":{"uri":"/melonJS/docs/melonjs/device/isPortrait.html"},"HMImWI1tZcKMn0qkL9fj8":{"uri":"/melonJS/docs/melonjs/device/isWebGLSupported.html"},"o5X6x_PCPK2_at6m_N0Ly":{"uri":"/melonJS/docs/melonjs/device/lockOrientation.html"},"7w1dmPE7BZFy1Dxvrn_y8":{"uri":"/melonJS/docs/melonjs/device/onReady.html"},"SZd6Qo_lDuh5AjIwx0yrv":{"uri":"/melonJS/docs/melonjs/device/requestFullscreen.html"},"5khOk98HTj3DkWKVH_5CS":{"uri":"/melonJS/docs/melonjs/device/unlockOrientation.html"},"XsVqFxjzTB_09O9qkbuK0":{"uri":"/melonJS/docs/melonjs/device/unwatchAccelerometer.html"},"lm43_S_2A0yZfgEYBvuRf":{"uri":"/melonJS/docs/melonjs/device/unwatchDeviceOrientation.html"},"BXv6MczFBZhXNP7klzh3N":{"uri":"/melonJS/docs/melonjs/device/vibrate.html"},"qqtE9wV2QLnp-t7ksbnU4":{"uri":"/melonJS/docs/melonjs/device/watchAccelerometer.html"},"ey-Cg3VyYm9m5n_Y5Jyxu":{"uri":"/melonJS/docs/melonjs/device/watchDeviceOrientation.html"},"gClSnucaAFwJz0_ZaRyeG":{"uri":"/melonJS/docs/melonjs/event.html"},"LX7Qk4TkWpq38hCeC-96n":{"uri":"/melonJS/docs/melonjs/event.html#BLUR"},"aFQ7WczcIWSySjBx1oeMZ":{"uri":"/melonJS/docs/melonjs/event.html#BOOT"},"tPeHkv_yRnu7zUJMax4_4":{"uri":"/melonJS/docs/melonjs/event.html#CANVAS_ONRESIZE"},"_BzlnQGtIDhTwrOqKd2-Y":{"uri":"/melonJS/docs/melonjs/event.html#DOM_READY"},"ibxUn11DgyFJumW9cuCBT":{"uri":"/melonJS/docs/melonjs/event.html#DRAGEND"},"RH6CxxA6ex4GeSQfZAJLP":{"uri":"/melonJS/docs/melonjs/event.html#DRAGSTART"},"3FwduoEtOAsdxSMb6iksz":{"uri":"/melonJS/docs/melonjs/event.html#FOCUS"},"XetTB-XR5wVVlxaS6NFIT":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_DRAW"},"JCyoKHkHSTjjqowFRqdI6":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_UPDATE"},"AczxnaCsaB2v4c5cVyh3L":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_DRAW"},"uvrvcntmo6v0JN9gJ5PeD":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_UPDATE"},"xa-DNdCDF1pUzIKJsenED":{"uri":"/melonJS/docs/melonjs/event.html#GAME_INIT"},"twfy974c2WHdVwnUM--0M":{"uri":"/melonJS/docs/melonjs/event.html#GAME_RESET"},"yRS3iRvcn23q_SRjG_Xpd":{"uri":"/melonJS/docs/melonjs/event.html#GAME_UPDATE"},"iFBSWBr5v4Mra4evD3EQ8":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_CONNECTED"},"ItVrCr2ZSVR97teDXUT-q":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_DISCONNECTED"},"TGaAr5gw5iXhlCz9kDPlU":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_UPDATE"},"_oE_r49at8PK0afTHiMtM":{"uri":"/melonJS/docs/melonjs/event.html#KEYDOWN"},"ITaNydu_mMX2tky43-vw-":{"uri":"/melonJS/docs/melonjs/event.html#KEYUP"},"tY2cK0e5iEOrVVz5pcovr":{"uri":"/melonJS/docs/melonjs/event.html#LEVEL_LOADED"},"sUKI_Z0gOxTVeroFsK8pT":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_COMPLETE"},"5pBnPocArk1YvTgadyn_w":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_ERROR"},"LbBTy_9aB_ygJ1nc3P9iu":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_PROGRESS"},"dMAYQYZveTQZjmRrV0n5Y":{"uri":"/melonJS/docs/melonjs/event.html#ONCONTEXT_RESTORED"},"5feKm6nkdEEnTTdC76Ftp":{"uri":"/melonJS/docs/melonjs/event.html#POINTERLOCKCHANGE"},"p0KJbXWDW5re-xSKCDl5M":{"uri":"/melonJS/docs/melonjs/event.html#POINTERMOVE"},"Ki8Z9cDNs4P1kfeXOcHEU":{"uri":"/melonJS/docs/melonjs/event.html#STAGE_RESET"},"tvYk7yG-zRKY_RL3K2zcU":{"uri":"/melonJS/docs/melonjs/event.html#STATE_CHANGE"},"_rdUuEOiYPn-ZETZkcmoo":{"uri":"/melonJS/docs/melonjs/event.html#STATE_PAUSE"},"hktbjQ0XUucjJnltD3t3q":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESTART"},"CaWJXHGLQjZZclvTNQ3DZ":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESUME"},"VVmHtrgTVg-SdClXZoE20":{"uri":"/melonJS/docs/melonjs/event.html#STATE_STOP"},"xXMeBaUo48w1VCdRANpGv":{"uri":"/melonJS/docs/melonjs/event.html#TICK"},"sGy7B6aBmLp_qa4H2po9l":{"uri":"/melonJS/docs/melonjs/event.html#VIDEO_INIT"},"xGTFhModUJBgqqOqZdc03":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONCHANGE"},"K4Pgg-c7LVnojgJwIrg_-":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONRESIZE"},"PLdsRWTIKAlWDUbZmteBa":{"uri":"/melonJS/docs/melonjs/event.html#WEBGL_ONCONTEXT_LOST"},"W5-bhMwIA3t6LnVZcHNGn":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONORIENTATION_CHANGE"},"WgB5Zz_TQHgKklxHogMkM":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONRESIZE"},"5AxTCxhjvjaGyzx7KI3Rl":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONSCROLL"},"W51VSMn6tJe2puWXdF65L":{"uri":"/melonJS/docs/melonjs/event.html#WORLD_STEP"},"Ulf2Vsa32S__EwAguR4Zt":{"uri":"/melonJS/docs/melonjs/event/emit.html"},"NwqgOck-0Hj8EMIrhcC3_":{"uri":"/melonJS/docs/melonjs/event/off.html"},"OiUe-0cm7PCDWUB0Y_Tt3":{"uri":"/melonJS/docs/melonjs/event/on.html"},"hcw1tOrVgFXjroiMZdctI":{"uri":"/melonJS/docs/melonjs/event/once.html"},"AlukIS9aNe0sPAEamYwaV":{"uri":"/melonJS/docs/melonjs/game.html"},"b_J_egx94EarKPBNLlWqR":{"uri":"/melonJS/docs/melonjs/input.html"},"Zs_8Lcx3hFORw4JFN5wdg":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD.html"},"C02mbPIwaG2Vg_FiaysFk":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/AXES.html"},"Yg2SvFChwvx5JmSln-KcA":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/BUTTONS.html"},"NXo3qTs-FeJuFb7FHDvH-":{"uri":"/melonJS/docs/melonjs/input/KEY.html"},"n9iwJMq8KDoO5aam8Crwl":{"uri":"/melonJS/docs/melonjs/input/KEY.html#A"},"nezM3Tb12mnE5gA8B2xj1":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ADD"},"0MdkdXYBuaCbD_jerzupW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ALT"},"TEAcGJibQ1q4qv_vDbbdm":{"uri":"/melonJS/docs/melonjs/input/KEY.html#B"},"Dy4OHcUoSpv1e86IelQhq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#BACK_SLASH"},"IW-7i6KBWnvPH_XxN8oWz":{"uri":"/melonJS/docs/melonjs/input/KEY.html#C"},"PmXjq1UynuVSVoykzFugT":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CAPS_LOCK"},"TYR1tMA62Q6sL5BiWPzgC":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CLOSE_BRACKET"},"x_hILKiXWgQ6zN_7_SE-a":{"uri":"/melonJS/docs/melonjs/input/KEY.html#COMMA"},"xsKPUdEGQf_KzuiHD9ZDJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CTRL"},"qtL9et6YKfZpjNBJk3-wu":{"uri":"/melonJS/docs/melonjs/input/KEY.html#D"},"gUbBC-t2mvwP7ZWQ9TE0T":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DECIMAL"},"wUerGTT3vABmeLsWl5vuY":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DELETE"},"IAMfokYSnvkkXVFJ8zepZ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DIVIDE"},"89pl1jwFUNp2zZPuMWXUd":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DOWN"},"b1YEja-AjYNLuJbZSNv6A":{"uri":"/melonJS/docs/melonjs/input/KEY.html#E"},"ienOfh27FjLEWfcNPNKxt":{"uri":"/melonJS/docs/melonjs/input/KEY.html#END"},"CyoEX4fowoWD0RrGLkqCo":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ENTER"},"S1RSoPqmiwFO8Cjbdiz_W":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ESC"},"tL8aBtSjtBJzU68EtrZv9":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F"},"vad3_9O8YpfNzqGJbt6sB":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F1"},"oew5f-14-3x2F3sKeHuII":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F10"},"r302Ewb9pOsmAm_gGHRCv":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F11"},"jFn_Koius-tYuuWqehouL":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F12"},"DQq6qjQtBZ4-8ozxH6fWQ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F2"},"Gx2ODapQZxyhzaMNlwCvU":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F3"},"htIA_4CLPZD4YeQgktgXw":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F4"},"SWAyTirAc2_PPdbz0qEac":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F5"},"br6RvzAl8KigvD0ZVsB30":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F6"},"W37EB4Tn7rKQk7h--T1Ca":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F7"},"a-VQIxc1xZXdvRjq8e8aR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F8"},"Z5qzzv0ZqbiQvofbfHJAk":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F9"},"QvA_qi58jkWeNKPnk2fIg":{"uri":"/melonJS/docs/melonjs/input/KEY.html#FORWAND_SLASH"},"7G8QHhSh3VdertYqC_AMW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#G"},"yEKB9mBbwU5L51dI0KGjF":{"uri":"/melonJS/docs/melonjs/input/KEY.html#GRAVE_ACCENT"},"nigCL7aKjqBgmvfUeRGKR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#H"},"nS4GBXSqyj_Hwu-scpba2":{"uri":"/melonJS/docs/melonjs/input/KEY.html#HOME"},"L3gcWT9t7-rPJNsQwAjmn":{"uri":"/melonJS/docs/melonjs/input/KEY.html#I"},"4cEJoa1nZUvlS2tAodD14":{"uri":"/melonJS/docs/melonjs/input/KEY.html#INSERT"},"-QbpEGI17DnwozcexlMll":{"uri":"/melonJS/docs/melonjs/input/KEY.html#J"},"C8DUkZl1LVMEAx3bxQJer":{"uri":"/melonJS/docs/melonjs/input/KEY.html#K"},"0VBbRiyl8v5Uxv7nE23cH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#L"},"csmLd_SwESiOCqzEtjKeS":{"uri":"/melonJS/docs/melonjs/input/KEY.html#LEFT"},"XsPkDicF-8iYvfbCM6mQY":{"uri":"/melonJS/docs/melonjs/input/KEY.html#M"},"Yy8dDNIf_tdKrQ-g-Kp3C":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MINUS"},"nC-q8phHiAfVYI3lx7ocR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MULTIPLY"},"aLyzYbXIU-i9ZyLK9Zjag":{"uri":"/melonJS/docs/melonjs/input/KEY.html#N"},"WEjExNOad3rkGNCuOio_Z":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM_LOCK"},"jwUPEbdc-7sHbo-9IfSsw":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM0"},"dKekT51-Z2heypu2DPqTh":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM1"},"oJo2lTxaKdBSfT5KoZlj8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM2"},"mNYqoRkja6tsU22tCCxtX":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM3"},"rmfOVIw3iaV1XH8rR4ub6":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM4"},"1IUZmWQUCxpT3Qi8YC9bm":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM5"},"R5GQpvGTY7Z15dp9kRbVD":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM6"},"8ekZPu8jR1Gmr8_2JpWYR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM7"},"2UjbEP8zuD5VD-KaZ8Dy-":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM8"},"xU-KcA9Me_9VfL6pzBUgj":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM9"},"CxTNHNUcQUhLOBlu5Z-9s":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD0"},"sTIc1jnKpIOP6ADyqh3Cm":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD1"},"ut3ryqcKPjQYOcq1X0Cqc":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD2"},"pF5g0BUT2B0x_dguY7cuR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD3"},"UEna8NIq0Kj5l_LGDReOW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD4"},"S-6osWskzpVvQlPLRMyC7":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD5"},"WpJb7RsWEquJyp-zl5p63":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD6"},"9VtekhNilQxfsJnl4GZvf":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD7"},"A0kOzmoIgsF_JRHohjGDM":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD8"},"3216LlDcacURACc1S9GRF":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD9"},"GUESkKHN3QOP2kSPCleOQ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#O"},"D5NAaeszcvIHTdYiLjELE":{"uri":"/melonJS/docs/melonjs/input/KEY.html#OPEN_BRACKET"},"_0mIX-fXvvYjdUmNGmdPE":{"uri":"/melonJS/docs/melonjs/input/KEY.html#P"},"trLyXrvM9_ElPsJfdXWSV":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_DOWN"},"9wXmWVDVCXT63b9r-7Z9o":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_UP"},"PlP8HJxznRDQaW3tGao7F":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAUSE"},"QdIs0HfhSw07alM0v97Mr":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PERIOD"},"0YRoLIzKQLlqGKHf4MT0h":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PLUS"},"rcnTA7CNPmyRZxwG-BXtt":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PRINT_SCREEN"},"ZrItOZY1-4UiO5-sHUYm7":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Q"},"ySyIGhGMUWZWbOEW9g-AM":{"uri":"/melonJS/docs/melonjs/input/KEY.html#R"},"tuKHTNRHGAjBe2GvVDgf-":{"uri":"/melonJS/docs/melonjs/input/KEY.html#RIGHT"},"yDp8PWHVfrOCqaXS8XB5F":{"uri":"/melonJS/docs/melonjs/input/KEY.html#S"},"iVwbRq9Nt8fdZQ9ewAuZH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SCROLL_LOCK"},"osSV8Y0l_7Na7raxRNhgB":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SEMICOLON"},"EKgk25N4dk8ZD67fO3JCq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SHIFT"},"sAqt59sk4xc45MbJxQbs6":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SINGLE_QUOTE"},"IwymZIzrenmsKdHifQgC-":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SPACE"},"xGU_w01MfcRc6X0vDo4t_":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SUBSTRACT"},"c0_Txass_lrgf81ksCXmn":{"uri":"/melonJS/docs/melonjs/input/KEY.html#T"},"hazU5D4OY0uUuI-MPV2gJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TAB"},"AXCdiVwspQXz5yCRUg--7":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TILDE"},"J4RbKof4V-yzcTBthqmc_":{"uri":"/melonJS/docs/melonjs/input/KEY.html#U"},"8JmXCUwC724K1wXTxdcAy":{"uri":"/melonJS/docs/melonjs/input/KEY.html#UP"},"DB6XcWfK-ojQbL4_0cQ6w":{"uri":"/melonJS/docs/melonjs/input/KEY.html#V"},"zqBKacdgVCfBFOqloWuZ8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#W"},"qXW7b5fKlX-WOQQgUmbKP":{"uri":"/melonJS/docs/melonjs/input/KEY.html#WINDOW_KEY"},"rgruBciS6rPolHqREkjMG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#X"},"4Xq3K3DKvorDY7o4NCWCo":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Y"},"69A8GR5r3JL8rQt46ZPmw":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Z"},"3ljGGOy1mDk0kcjNUtq9e":{"uri":"/melonJS/docs/melonjs/input.html#keyBoardEventTarget"},"xPk-owXb_KEqh9ZhR1qG6":{"uri":"/melonJS/docs/melonjs/input.html#locked"},"zGpFnZZ35CotplZ0DFwci":{"uri":"/melonJS/docs/melonjs/input.html#pointer"},"SuDq3oF8s13UJ9z0azDGh":{"uri":"/melonJS/docs/melonjs/input.html#pointerEventTarget"},"zw7Hol1Drf6e0XAOCpdSp":{"uri":"/melonJS/docs/melonjs/input.html#preventDefault"},"4lz6sdUA5EXrFbF6dy1pk":{"uri":"/melonJS/docs/melonjs/input.html#setGamepadMapping"},"QDQVBvXM2UWNjASZs3zQP":{"uri":"/melonJS/docs/melonjs/input.html#throttlingInterval"},"U_3CIcrWni2P4XpUuK9LR":{"uri":"/melonJS/docs/melonjs/input/bindGamepad.html"},"WENzOEKpDQIqJFoshVDi4":{"uri":"/melonJS/docs/melonjs/input/bindKey.html"},"Okmk3D6czrlqXbJQxCEz2":{"uri":"/melonJS/docs/melonjs/input/bindPointer.html"},"27ITPlo7UxNSgeTxSw1xW":{"uri":"/melonJS/docs/melonjs/input/exitPointerLock.html"},"q_F8TWr3Q96dZnhIZPgj_":{"uri":"/melonJS/docs/melonjs/input/getBindingKey.html"},"SVjD1_3k5vUa9aTnYU72y":{"uri":"/melonJS/docs/melonjs/input/globalToLocal.html"},"wodbpoThUX66JpyYQ1YxA":{"uri":"/melonJS/docs/melonjs/input/hasActiveEvents.html"},"cVDJPn9Djw3AwJ4dTw8aS":{"uri":"/melonJS/docs/melonjs/input/hasRegisteredEvents.html"},"RJTphLSo3F7B69nAlLfgp":{"uri":"/melonJS/docs/melonjs/input/isKeyPressed.html"},"MDS57zInwRhNnt-8aev5v":{"uri":"/melonJS/docs/melonjs/input/keyStatus.html"},"WBxL5yMAhB_OF4eMS1Eoh":{"uri":"/melonJS/docs/melonjs/input/registerPointerEvent.html"},"R32vZykyOni_pHH3zvrLk":{"uri":"/melonJS/docs/melonjs/input/releaseAllPointerEvents.html"},"1A3FsffnSsXVfMGaGulWb":{"uri":"/melonJS/docs/melonjs/input/releasePointerEvent.html"},"oe7yKzexT2iyHqyj0Dup5":{"uri":"/melonJS/docs/melonjs/input/requestPointerLock.html"},"7Us2_bGJ4G9-XfYuh2kaC":{"uri":"/melonJS/docs/melonjs/input/setGamepadDeadzone.html"},"SFgJHPMlTuJWf3PdiKjxg":{"uri":"/melonJS/docs/melonjs/input/setTouchAction.html"},"V9Qj84f4GpL9LTRYqlYkc":{"uri":"/melonJS/docs/melonjs/input/triggerKeyEvent.html"},"EqYs6B_PyYQb20Kb4txQp":{"uri":"/melonJS/docs/melonjs/input/unbindGamepad.html"},"HRmWvuPqBxxBAoHDKzG55":{"uri":"/melonJS/docs/melonjs/input/unbindKey.html"},"NoY5HNV34i8Fv00zO1qCD":{"uri":"/melonJS/docs/melonjs/input/unbindPointer.html"},"F26S1oKZqS4oNuiLVMIzj":{"uri":"/melonJS/docs/melonjs/input/unlockKey.html"},"OY1-893Ree0x5ko9ptkXC":{"uri":"/melonJS/docs/melonjs/level.html"},"05ijcyF66yl4H_wW_Hq8i":{"uri":"/melonJS/docs/melonjs/level.html#add"},"_1porQ9F9OL9_8_CZRFob":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevel"},"INUbIDljuge3se2mhcEZQ":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevelId"},"Maza6AiuHlBcmuehhnJp7":{"uri":"/melonJS/docs/melonjs/level.html#levelCount"},"AdhIO4f1rUldLySdNOq1p":{"uri":"/melonJS/docs/melonjs/level.html#load"},"zKYjhX82aeItdEoKA2zRm":{"uri":"/melonJS/docs/melonjs/level.html#next"},"sHg29B3sZk2V6QsgshH2E":{"uri":"/melonJS/docs/melonjs/level.html#previous"},"mqn8IVaDfzm130loU7ph6":{"uri":"/melonJS/docs/melonjs/level.html#reload"},"JxDFuCFxxmPBTna8n9hbO":{"uri":"/melonJS/docs/melonjs/loader.html"},"2Wf5grXJcTJbaCeitTY-5":{"uri":"/melonJS/docs/melonjs/loader/Asset.html"},"77xH4aCfMSQ39xU7onWAm":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#autoplay"},"DHKb8IUm78iiNiGWlcrsR":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#data"},"TvsLIJDNuKoJNsbUSCSC9":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#loop"},"j7TqJLbT8IdY0TVz6K5dL":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#name"},"auYL-BRw6-KW_Ax0-4COg":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#src"},"jFAoh1R2bQHC15HQ0N73K":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#stream"},"iGsFCUub3AAplXvwxiqUr":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#type"},"WUS3DxmjOOqE1fyfIUchv":{"uri":"/melonJS/docs/melonjs/loader.html#crossOrigin"},"L727pDqbJ1iV7S9znNXT_":{"uri":"/melonJS/docs/melonjs/loader.html#onError"},"3-MpqZNIQKRg3sHK7XjWi":{"uri":"/melonJS/docs/melonjs/loader.html#onload"},"YAnhurZEq72r6_IBVCfUw":{"uri":"/melonJS/docs/melonjs/loader.html#onProgress"},"8DvT7IXpEOX5n4Chxu_rB":{"uri":"/melonJS/docs/melonjs/loader.html#withCredentials"},"SIyPEb0U773dFyl2Ntk7j":{"uri":"/melonJS/docs/melonjs/loader/getBinary.html"},"V6QoOdKZkmguAe-GiIp0l":{"uri":"/melonJS/docs/melonjs/loader/getImage.html"},"-SmesipqEULQccMyPJHSQ":{"uri":"/melonJS/docs/melonjs/loader/getJSON.html"},"_MT041ofDON0MFdL71b3u":{"uri":"/melonJS/docs/melonjs/loader/getTMX.html"},"ZjXlx7Qo1tKxSo8_ffGn-":{"uri":"/melonJS/docs/melonjs/loader/getVideo.html"},"4AcpkhKFukLJczo95BVwK":{"uri":"/melonJS/docs/melonjs/loader/load.html"},"ye1jnTH9jnLgC3O_aTdjn":{"uri":"/melonJS/docs/melonjs/loader/preload.html"},"vjU9VAMrIyEyMchdEDZRj":{"uri":"/melonJS/docs/melonjs/loader/reload.html"},"73-J6miZe3biBPS60XLAc":{"uri":"/melonJS/docs/melonjs/loader/setBaseURL.html"},"prco7KOepZRZEoceMsaxa":{"uri":"/melonJS/docs/melonjs/loader/setParser.html"},"Pwdacet3HBdl5CJB21Ybv":{"uri":"/melonJS/docs/melonjs/loader/unload.html"},"uFHSra0sh3CLcri1b-e9s":{"uri":"/melonJS/docs/melonjs/loader/unloadAll.html"},"9qO0P-KOjjI0eQPsoYRi-":{"uri":"/melonJS/docs/melonjs/Math.html"},"8zT8q8KZuT2U-fpMwUjqr":{"uri":"/melonJS/docs/melonjs/Math.html#DEG_TO_RAD"},"YGVBDFpSSK4OaWVMPj6uK":{"uri":"/melonJS/docs/melonjs/Math.html#EPSILON"},"KHrhlme_bfL80TUNGyxky":{"uri":"/melonJS/docs/melonjs/Math.html#ETA"},"pbd-xv1kDg-yyboFUgB4A":{"uri":"/melonJS/docs/melonjs/Math.html#RAD_TO_DEG"},"TSaemEhhu6LVEpWnBu_PH":{"uri":"/melonJS/docs/melonjs/Math.html#TAU"},"Ctiw3zoPOikynmNSmlnNj":{"uri":"/melonJS/docs/melonjs/Math/clamp.html"},"4uP_FOsfH9R-LW51F5Hvc":{"uri":"/melonJS/docs/melonjs/Math/degToRad.html"},"sUuZaV8C71EliustLwUCd":{"uri":"/melonJS/docs/melonjs/Math/isPowerOfTwo.html"},"2EABAUB83BD1nWo2lGw3U":{"uri":"/melonJS/docs/melonjs/Math/nextPowerOfTwo.html"},"z_szS-FSzRtYuTjKVFK40":{"uri":"/melonJS/docs/melonjs/Math/radToDeg.html"},"YdIeN39o4U1Dq3_x9rYQ_":{"uri":"/melonJS/docs/melonjs/Math/random.html"},"s2juTnxBTEvzA7WjzDQn-":{"uri":"/melonJS/docs/melonjs/Math/randomFloat.html"},"5gRlu6Q77i1XNVSlzBweF":{"uri":"/melonJS/docs/melonjs/Math/round.html"},"CThXV9YbUjHkbNdIOMDJ4":{"uri":"/melonJS/docs/melonjs/Math/toBeCloseTo.html"},"6uPHKlWctbf_wn5RO2BwY":{"uri":"/melonJS/docs/melonjs/Math/weightedRandom.html"},"eJpdfho_0pwlUeguAlOIP":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html"},"b8rn84D3smeWDr-O2lkOl":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angle"},"j8B6XxUzWHSDYbl7cbVyW":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angleVariation"},"kuhybxE-MRgLH7A9UWISP":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#blendMode"},"2vWIWlzvSq9--PsUvCuwl":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#duration"},"ft2wrrJMejwxGQjMKfKif":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#floating"},"mOU5jzh_iqOxdIpKJzIB9":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#followTrajectory"},"rF9fHSkGBdqAmWeVCPSkQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#framesToSkip"},"zHd8oJi1uQZcO1aGmInzE":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#frequency"},"FuI7gIfOjtG5tJq2S5hFl":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#gravity"},"nmH8ROKEjuOv2GP-mMz9n":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#height"},"zy8fPTC1U2bar3tcXxtUa":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#image"},"7bcpDaXuEtoiHKcAmrf8J":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxEndScale"},"yA7deQ8PHzZqtMMjQ5_ta":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxLife"},"euqe4mLTYNoayh9z-3uXS":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxParticles"},"y2t56zPP-DM1wlnnyy55M":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxRotation"},"VK4XCHhzrHVLcfXf4mdhX":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxStartScale"},"SkU5HgIMJDg8WlhWjcKpP":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minEndScale"},"JxSdoHzH2FkTuw_mcw29u":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minLife"},"6-DSXKywdXX9PBD-mxDrB":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minRotation"},"-ijsfW8fSvdEXcLI9VrMv":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minStartScale"},"Gaxj2hNiMmb0sDu6f1T_i":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#onlyInViewport"},"WhgVSflJ8-3J2PWc5JM4M":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speed"},"OM2quUBCDcL6S7PxQm3NM":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speedVariation"},"GLVA5WOGZfiwMHFdT9kZw":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureAdditive"},"qG6D8GcqPaMvsVd2NmhNi":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureSize"},"yaSbhhN-CmuyHcUw2rFL6":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#tint"},"OcBUkTFj4_T1QVpsWF0Qi":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#totalParticles"},"IGBK_I23Yp3wfETXjXegC":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#width"},"CQIbgmvWd9ZmesnExcESp":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#wind"},"kkHxy-js8_IxhLeXjKviJ":{"uri":"/melonJS/docs/melonjs/plugin.html"},"RnjX9SlxX75kDn-y9UnCc":{"uri":"/melonJS/docs/melonjs/plugin/Base.html"},"WFGveZ7KGTILZCIP1YzDZ":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#app"},"XPBlnKWilsPILJUxjF8DC":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#version"},"SR0dGaM6sVSeci--ArLYP":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html"},"ICqP0Gp3vGqoFByh0jdXV":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#app"},"zYXlI0sWO90ECYZfNmhvi":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#version"},"w9nlRfEVPbDq5MLRhxQnC":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#constructor"},"-I6epVD_1L_5qYb5wJqpy":{"uri":"/melonJS/docs/melonjs/plugin.html#cache"},"3pK0BI2UAgV1kdFxKnO0E":{"uri":"/melonJS/docs/melonjs/plugin/get.html"},"KaCjPJ8lLvhMJNYqTmEE1":{"uri":"/melonJS/docs/melonjs/plugin/patch.html"},"C3x7s0xvhJ0Rn_Df8u-b0":{"uri":"/melonJS/docs/melonjs/plugin/register.html"},"U7e6hqiNgEYZaN2h6lpGi":{"uri":"/melonJS/docs/melonjs/pool.html"},"p1N8zrOg4Z8Y-5yqXtGu2":{"uri":"/melonJS/docs/melonjs/save.html"},"pscwpqOxA2LfxQSRdKLg9":{"uri":"/melonJS/docs/melonjs/save.html#add"},"f5USn7WFh6Z3fHPpEJDNr":{"uri":"/melonJS/docs/melonjs/save.html#remove"},"7z8ZW2jlPeS75y4CPscvd":{"uri":"/melonJS/docs/melonjs/state.html"},"JbGB6oIab7aow7HqnXM9d":{"uri":"/melonJS/docs/melonjs/state.html#CREDITS"},"bX2-kVTbSoTrWBcayP9Hk":{"uri":"/melonJS/docs/melonjs/state.html#DEFAULT"},"p1h8xzH3IV6Kvx_4ECP8Q":{"uri":"/melonJS/docs/melonjs/state.html#GAME_END"},"LMFLB6ya-IMtaDGR7B6lf":{"uri":"/melonJS/docs/melonjs/state.html#GAMEOVER"},"Z3_-iS4ELfKBER5pAu2Tr":{"uri":"/melonJS/docs/melonjs/state.html#LOADING"},"-Ee1TxEDwDmq_Lomcim9b":{"uri":"/melonJS/docs/melonjs/state.html#MENU"},"CNY2xTtOiUlCx0KqTIhfr":{"uri":"/melonJS/docs/melonjs/state.html#PLAY"},"t_ISQeRjsScTr6Xb0A8d-":{"uri":"/melonJS/docs/melonjs/state.html#READY"},"sZQpd_qQBg1jH6rUO-Ytc":{"uri":"/melonJS/docs/melonjs/state.html#SCORE"},"DPsB4CMZSUj3DWRSjzdcD":{"uri":"/melonJS/docs/melonjs/state.html#SETTINGS"},"vcuNEfKZXW5XlEDWMWsXn":{"uri":"/melonJS/docs/melonjs/state.html#USER"},"yvm9Oy6nl3GxIfFdfBPNW":{"uri":"/melonJS/docs/melonjs/state.html#change"},"Yhuk1T9zBGN7xjLEU20HD":{"uri":"/melonJS/docs/melonjs/state.html#current"},"h2OkQEg15xwURbbL7MECd":{"uri":"/melonJS/docs/melonjs/state.html#isCurrent"},"S_sVmYhIRkxB_4ngixgvq":{"uri":"/melonJS/docs/melonjs/state.html#isPaused"},"dtGMeY25VUF0M6yFzw2YK":{"uri":"/melonJS/docs/melonjs/state.html#isRunning"},"CNvOjKQpkw-6vqzA0hftU":{"uri":"/melonJS/docs/melonjs/state.html#pause"},"HFe_4ZJ_uKHL5D0-jU51Y":{"uri":"/melonJS/docs/melonjs/state.html#restart"},"z8tLVQeEF0kr-lnv1bwnJ":{"uri":"/melonJS/docs/melonjs/state.html#resume"},"-lmj-CslD1FRXI3xkz8dW":{"uri":"/melonJS/docs/melonjs/state.html#set"},"6y4_jIYv4sRvRiOgcYFxq":{"uri":"/melonJS/docs/melonjs/state.html#set_"},"AwXJpm4hjoRt3W8YjNJnn":{"uri":"/melonJS/docs/melonjs/state.html#setTransition"},"lKRNS6uhALuHMNkO4UmLA":{"uri":"/melonJS/docs/melonjs/state.html#stop"},"hwyTcPaCWxmRwhvurf8Mq":{"uri":"/melonJS/docs/melonjs/state.html#transition"},"SlK-zYfk_KuTknvzJjYIz":{"uri":"/melonJS/docs/melonjs/timer.html"},"094ym-a7yp4T8hhN9qZsm":{"uri":"/melonJS/docs/melonjs/TMXUtils.html"},"jd1Q4CaaU4mrF30-70mFU":{"uri":"/melonJS/docs/melonjs/TMXUtils/applyTMXProperties.html"},"9AMe5VKYrGlGaJwzP9d7E":{"uri":"/melonJS/docs/melonjs/TMXUtils/decode.html"},"4p33jtMAa7NBdQfEfG8kw":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeBase64AsArray.html"},"DzwlRondCfIvmnLI-m5YI":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeCSV.html"},"4PPbOlll011q6ZcBPKtvu":{"uri":"/melonJS/docs/melonjs/TMXUtils/decompress.html"},"bqcimikCAjdg_aTR59cYz":{"uri":"/melonJS/docs/melonjs/TMXUtils/parse.html"},"9XVWspi-iyDdciS4I1u5B":{"uri":"/melonJS/docs/melonjs/TMXUtils/setInflateFunction.html"},"Q04AD5lim2YieuD2xN_mp":{"uri":"/melonJS/docs/melonjs/utils.html"},"wXiWMRqyOr6TStdG8TyvX":{"uri":"/melonJS/docs/melonjs/utils/agent.html"},"TEM8YKkV4iXiyrQrVoTLU":{"uri":"/melonJS/docs/melonjs/utils/agent/prefixed.html"},"ZlqpQQ58ClrUa5RPCUIRk":{"uri":"/melonJS/docs/melonjs/utils/agent/setPrefixed.html"},"a7Qzucog54gKaeQIQrqMk":{"uri":"/melonJS/docs/melonjs/utils/array.html"},"kQxkju0_v2-DrhY234d6a":{"uri":"/melonJS/docs/melonjs/utils/array/random.html"},"pmYMbjDdUX90PFIHCW0iT":{"uri":"/melonJS/docs/melonjs/utils/array/remove.html"},"QIUayBecav2X81sAyCA1e":{"uri":"/melonJS/docs/melonjs/utils/array/weightedRandom.html"},"yIlSO3cCwzYmTRMkwgeBr":{"uri":"/melonJS/docs/melonjs/utils/file.html"},"zWwrUVL2UpsAd0JxtwnXz":{"uri":"/melonJS/docs/melonjs/utils/file/getBasename.html"},"cR5Zzl8Myi67iqcpr6W9U":{"uri":"/melonJS/docs/melonjs/utils/file/getExtension.html"},"QJFPMuIqrGE9IZLfy76o7":{"uri":"/melonJS/docs/melonjs/utils/file/getPath.html"},"OC0K6y-Hi4m-nr5W11PAG":{"uri":"/melonJS/docs/melonjs/utils/function.html"},"3_8LqHYNMEC__KuW2oWy9":{"uri":"/melonJS/docs/melonjs/utils/function/defer.html"},"xMpJMwxMtZrIrG0msqp9r":{"uri":"/melonJS/docs/melonjs/utils/function/throttle.html"},"lPoqW26zzYvP5IShXJo6I":{"uri":"/melonJS/docs/melonjs/utils/string.html"},"TVRumLIWGkmfz8H2x7yZ9":{"uri":"/melonJS/docs/melonjs/utils/string/capitalize.html"},"5YQ76DlaVDUYi7PXjDYwe":{"uri":"/melonJS/docs/melonjs/utils/string/isBoolean.html"},"G5IcEqANEtOTsaCDcDEvj":{"uri":"/melonJS/docs/melonjs/utils/string/isDataUrl.html"},"Z5IhgE2x971L31Wt6VV93":{"uri":"/melonJS/docs/melonjs/utils/string/isNumeric.html"},"Z74j6HqIBrDSxmcpfdZcy":{"uri":"/melonJS/docs/melonjs/utils/string/toHex.html"},"5LodgJ9XH89Alb9vn2gKB":{"uri":"/melonJS/docs/melonjs/utils/checkVersion.html"},"o8jDZ3NuD8eiT_UnDbIqQ":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html"},"hUpBMBdyHIpSmZE1UbFKz":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debug"},"4M1fAJXI99nIR_T8HWgtC":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debugToggleKey"},"jhT-AVnBgoNd2bj9zpYZ4":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#hitbox"},"_R-NBxjJb9kkFUfp35eQO":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#quadtree"},"St6U9B_-Wj8UOeLH-GMay":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#velocity"},"FOpx3iRJbd6YorD-Yn3CM":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#webgl"},"94iXwQcDw1XCI2WAvOTtI":{"uri":"/melonJS/docs/melonjs/video.html"},"k8-9cC6dj9mtz4XQKKKGa":{"uri":"/melonJS/docs/melonjs/video.html#renderer"},"cUEUtsr9_5WfxbnysJUDE":{"uri":"/melonJS/docs/melonjs/video/createCanvas.html"},"k-5Z7pQaaLovykjMKmydX":{"uri":"/melonJS/docs/melonjs/video/getParent.html"},"eqGtXrvL9oz9a5l-oJ-RP":{"uri":"/melonJS/docs/melonjs/video/init.html"},"Jf_raImAKzGZWkczAx8J9":{"uri":"/melonJS/docs/melonjs/Application.html"},"4PX5lPVXJO8PJLr2yPfcQ":{"uri":"/melonJS/docs/melonjs/Application/Settings.html"},"ZkhR5ixHk92TAxA6FdMpL":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#antiAlias"},"NtOSqRz1akaZZY755T3Eb":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#canvas"},"9cMcorAbFxSd5GAbk0BpQ":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#consoleHeader"},"oQxhoTroFMO-_srSdInzb":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#depthTest"},"14egDsqUFvLWuEmx8yBLQ":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#parent"},"jzf3YoKIuLKZuvJZmDUsl":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#powerPreference"},"y4OBRBl2qE08rocXP5VSl":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#preferWebGL1"},"w9t4tLtgNrHYHoQg3fw_k":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#renderer"},"p3lqBz8hC5DiZskoYqerq":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scale"},"jJ0WMhE9ddAsGErlegDHX":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleMethod"},"EHZvGYpk5YL4UEitky-8-":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleTarget"},"oaOwIcGhpsCYyVjfxvvmd":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#transparent"},"cZeBddFNW6BhJVyjK4axO":{"uri":"/melonJS/docs/melonjs/Application.html#isInitialized"},"cYQlb4GKY44GTTCQmnBqd":{"uri":"/melonJS/docs/melonjs/Application.html#lastUpdate"},"mqMGCLln0FKH4UZJTIUos":{"uri":"/melonJS/docs/melonjs/Application.html#mergeGroup"},"HZC5682bHx7CQan6VBoAx":{"uri":"/melonJS/docs/melonjs/Application.html#parentElement"},"dnRIE6pUU5UMF1HbCMHrh":{"uri":"/melonJS/docs/melonjs/Application.html#pauseOnBlur"},"3PGmuVd_UWZAT9HeXVNkN":{"uri":"/melonJS/docs/melonjs/Application.html#renderer"},"YNyHLqDxTDtvkqDRJOUEf":{"uri":"/melonJS/docs/melonjs/Application.html#resumeOnFocus"},"pV5G4JwlvffvpR4eTHp1Q":{"uri":"/melonJS/docs/melonjs/Application.html#settings"},"pkhIdYawki0jmLtP3aXf8":{"uri":"/melonJS/docs/melonjs/Application.html#sortOn"},"hoTkPyGRdcPU_pVnbci4P":{"uri":"/melonJS/docs/melonjs/Application.html#stopOnBlur"},"ZKZWmvruRY7hdw1hHcn9C":{"uri":"/melonJS/docs/melonjs/Application.html#viewport"},"mzlVjhqRrEIw1NpEw-9X-":{"uri":"/melonJS/docs/melonjs/Application.html#world"},"qmMTlnzSJ7H2aNJdnxjOZ":{"uri":"/melonJS/docs/melonjs/Application.html#constructor"},"jOpwpZ1YLtBdXr3ERYoKa":{"uri":"/melonJS/docs/melonjs/Application.html#draw"},"o2QfinZdHASBqfJdk9FYr":{"uri":"/melonJS/docs/melonjs/Application.html#getParentElement"},"gfHUuD0iPssI5MbNrAALj":{"uri":"/melonJS/docs/melonjs/Application.html#init"},"t55PPpxt9OVS_CGRZQ5O6":{"uri":"/melonJS/docs/melonjs/Application.html#onLevelLoaded"},"UKZuImK8E6804PnwZYLON":{"uri":"/melonJS/docs/melonjs/Application.html#repaint"},"vSRie6ZixezSOzgG-dQEl":{"uri":"/melonJS/docs/melonjs/Application.html#reset"},"64AHjnlcdR4n1DgYSqZNM":{"uri":"/melonJS/docs/melonjs/Application.html#update"},"m9JXR8eZ4FqnKmEvFprhn":{"uri":"/melonJS/docs/melonjs/Application.html#updateFrameRate"},"tB3PeGMsNNYPDDXjM_jjY":{"uri":"/melonJS/docs/melonjs/BitmapText.html"},"9yT9rk0LsaVl7QZkF_YLW":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alpha"},"18t9-vvLtpiKSZoB-PNQQ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alwaysUpdate"},"roBu6j3AZBntv6tv_kveY":{"uri":"/melonJS/docs/melonjs/BitmapText.html#ancestor"},"PYMY0or8a0TZ4AvTx5agh":{"uri":"/melonJS/docs/melonjs/BitmapText.html#anchorPoint"},"nErat08-fUUbZezPNZ2o8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#autoTransform"},"DIUQ76q43FrbbjsBtv3J2":{"uri":"/melonJS/docs/melonjs/BitmapText.html#blendMode"},"ZCNxE_1MSE09GPriVXpwS":{"uri":"/melonJS/docs/melonjs/BitmapText.html#body"},"gT3itVkEDvSlAhUxfbBF0":{"uri":"/melonJS/docs/melonjs/BitmapText.html#bottom"},"aIC-YS3DShWUDu5JLmPjm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerX"},"Aeuno8aEnRaJ_1TbAgo2m":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerY"},"CXj5GipeHm2_DqH1KkYEa":{"uri":"/melonJS/docs/melonjs/BitmapText.html#currentTransform"},"PncmS2j507UCpQnAeNtGl":{"uri":"/melonJS/docs/melonjs/BitmapText.html#depth"},"g_uajAm31f8xCGYlcd9Bz":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fillStyle"},"zWYS7oqXbXD7HhxhLa3i7":{"uri":"/melonJS/docs/melonjs/BitmapText.html#floating"},"ys_uHatWt7NFed8zV4HVu":{"uri":"/melonJS/docs/melonjs/BitmapText.html#GUID"},"zUs7R6jnm8Uljt0EG9eJA":{"uri":"/melonJS/docs/melonjs/BitmapText.html#height"},"yQ85Ywx5xtiImxENmsH-p":{"uri":"/melonJS/docs/melonjs/BitmapText.html#inViewport"},"oDY91FjnC9-s5VqM6HGgQ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isDirty"},"t0E6808ShFB4w3Ejceg3z":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedX"},"huVmi27nDlnvbi-nZ6Rja":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedY"},"PCbmYK33BvApjqoiumHrF":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFloating"},"5ndWLC8F9tlZYkYWk5KgM":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isKinematic"},"VIgHhnmAMoYtm6PGEWoyh":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isPersistent"},"V6ITA9GVHp6m5Ws2NdpKF":{"uri":"/melonJS/docs/melonjs/BitmapText.html#left"},"6jnI9QNSshW0yeQw9FtEQ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lineHeight"},"ygRx7lzsvVh9uAI1d8j0s":{"uri":"/melonJS/docs/melonjs/BitmapText.html#mask"},"8biRP1MN2BxYnIStToI8U":{"uri":"/melonJS/docs/melonjs/BitmapText.html#name"},"ZivjCOUB0C-i0LFN3HdGK":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onVisibilityChange"},"LqC5_OPe45SDqaXz4Ni--":{"uri":"/melonJS/docs/melonjs/BitmapText.html#parentApp"},"kXSQXccqT0OGtB_J1ZefG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#points"},"fmABNRkYDCWvL7cida8gZ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#pos"},"pFnLfpnzqO5tZZ_XC-nH-":{"uri":"/melonJS/docs/melonjs/BitmapText.html#right"},"3gnh5aguTf_5leSNLH-bc":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shader"},"jxUzzigIrwJXygvISJpKW":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textAlign"},"ljt9DaJ8mG779n9qxMZoq":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textBaseline"},"Hiih4TafuCII0DDKzRaRT":{"uri":"/melonJS/docs/melonjs/BitmapText.html#tint"},"kUR50_6PAYZEonCIzclu2":{"uri":"/melonJS/docs/melonjs/BitmapText.html#top"},"XBEJgpxIJxud6T9_nnCif":{"uri":"/melonJS/docs/melonjs/BitmapText.html#type"},"3uYbgXDKH6VG2wSUFZklH":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateWhenPaused"},"a-UpsEneMnIBcRjXf2QG8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#width"},"xsyqhFBfqmDJ5SNuUfBcd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#wordWrapWidth"},"SeCfYwQN420VCRE7wcGls":{"uri":"/melonJS/docs/melonjs/BitmapText.html#_text"},"TDp8iVI7T4J4Gj3bDMxBI":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontData"},"5cij0WxWDeT0TzUG4F1s-":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontImage"},"7kg52uYONCqLmfF-PVUU_":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontScale"},"5amANHYO4QvLrCUQVajqb":{"uri":"/melonJS/docs/melonjs/BitmapText.html#angleTo"},"uirjFQUSo0nlLkPLPoqO8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerOn"},"3JkIXNTfYebz5OFeGH6ty":{"uri":"/melonJS/docs/melonjs/BitmapText.html#clone"},"N6mDR7P-_9HfM-GBnD_1q":{"uri":"/melonJS/docs/melonjs/BitmapText.html#constructor"},"QKsesOftRwjL5sx0XkbhR":{"uri":"/melonJS/docs/melonjs/BitmapText.html#contains"},"X2wYOu80hnz2PbSxanyDm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#copy"},"wAPBcnvYOrrAM8OTbeEeW":{"uri":"/melonJS/docs/melonjs/BitmapText.html#distanceTo"},"RxSDtinWMRo0u_ChcBigR":{"uri":"/melonJS/docs/melonjs/BitmapText.html#draw"},"ZaJ13mHmvw2e5NavniYBn":{"uri":"/melonJS/docs/melonjs/BitmapText.html#equals"},"YJqFfzg_kYR9hNZqQwZcG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipX"},"dcCk3ZDvWchK8xom562pg":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipY"},"KHQQkJeobhge3FzqwaU4G":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getAbsolutePosition"},"5mLW-d2eA5xKIEyafoEMp":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getBounds"},"w8px2tSDDA2d5fpqmRE5-":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getIndices"},"_96cNVUSMmwEILqQf-44D":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getOpacity"},"4tss22QgypMjhqdfMjSYP":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isConvex"},"2ZrUqr1M5I-BeNegTlnmK":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFinite"},"gKPsi_kEcJDdMa3x4hBMR":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lookAt"},"b3QQjh9mJUu8pib_3rTSd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#measureText"},"5biglcnJU9sfS1tOfXzhd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onCollision"},"dCc-poTHiQEehwmAKT8X3":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onDestroyEvent"},"EladmIXhb_X-iqI7k5hlA":{"uri":"/melonJS/docs/melonjs/BitmapText.html#overlaps"},"duueTNXRfgFO_N1zYbBHe":{"uri":"/melonJS/docs/melonjs/BitmapText.html#postDraw"},"LO9wVGnF4hAMIORpfrlmm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#preDraw"},"AaicEoWFdKuJw_acx5Dtj":{"uri":"/melonJS/docs/melonjs/BitmapText.html#recalc"},"EvDODNV5LXG2BaShlSFJq":{"uri":"/melonJS/docs/melonjs/BitmapText.html#resize"},"YA5lVeG1MTzGaxEilAemM":{"uri":"/melonJS/docs/melonjs/BitmapText.html#rotate"},"8yUDzeHZZeAvIkNFj6kdl":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scale"},"mOjusq-lrsyuHYjZ0W9Kd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scaleV"},"yGxDPhZOqFdjwXCcT2pBt":{"uri":"/melonJS/docs/melonjs/BitmapText.html#set"},"8ld8pj2ETYbjp--Xv7m3F":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setOpacity"},"cqxljktPbpkUz8QkL0UMK":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setShape"},"z9-KPxUzOxb9MFi0hIg6o":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setText"},"KkZ8dCgAtagMIJwZkbbJP":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setVertices"},"mvltmFmQjMSWwV7G6OlHn":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shift"},"ARo0YLkyj2nwwvfUUjw-S":{"uri":"/melonJS/docs/melonjs/BitmapText.html#to2d"},"Fa7quKDg_Hn6Iqkd5sJW7":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toIso"},"6lgnIN_AhuGW8pmbllo3f":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toPolygon"},"ry25SQWdZ-VexG_ZJBUzH":{"uri":"/melonJS/docs/melonjs/BitmapText.html#transform"},"FrwMO-FjuLqFSJ4WWvW4F":{"uri":"/melonJS/docs/melonjs/BitmapText.html#translate"},"7Sr8N4RXtH9C-x5yuA4rE":{"uri":"/melonJS/docs/melonjs/BitmapText.html#union"},"u1GpRWheuqVQAKx46iet8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#update"},"h7Z8p-9i6PdloNZqjwd7V":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateBounds"},"csxIWUnD1Y3mwe9E-UCnP":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onAnchorUpdate"},"Kdlfm9avwIcAY1YS__Dyh":{"uri":"/melonJS/docs/melonjs/Body.html"},"Ac9YOG8cPsUh1Jm0FWEW5":{"uri":"/melonJS/docs/melonjs/Body.html#ancestor"},"muWEO1UfF-eV-mic4iB5K":{"uri":"/melonJS/docs/melonjs/Body.html#bounce"},"PP4TiU5bgNISEmW80m4yn":{"uri":"/melonJS/docs/melonjs/Body.html#bounds"},"8QLSnZ4YoZW6F-NDOwSq9":{"uri":"/melonJS/docs/melonjs/Body.html#collisionType"},"glFOkHf594DsGNJnDtaXy":{"uri":"/melonJS/docs/melonjs/Body.html#falling"},"2C3lX-UssClVsSJWwCI4P":{"uri":"/melonJS/docs/melonjs/Body.html#force"},"1GLDQBnHudQoXcD6hwOjc":{"uri":"/melonJS/docs/melonjs/Body.html#friction"},"4RVpgyPz3cV_1iiod8wxX":{"uri":"/melonJS/docs/melonjs/Body.html#gravityScale"},"3sBXGNp9cnFBPdshjhkXq":{"uri":"/melonJS/docs/melonjs/Body.html#ignoreGravity"},"LYMeEawNpfqgNJtT1d9ap":{"uri":"/melonJS/docs/melonjs/Body.html#isStatic"},"YwDs3JoGO7x0GqYbJ01il":{"uri":"/melonJS/docs/melonjs/Body.html#jumping"},"_PG76GVpWAUNUiV70G_le":{"uri":"/melonJS/docs/melonjs/Body.html#mass"},"93y3xi_1yO27eIuiYipBQ":{"uri":"/melonJS/docs/melonjs/Body.html#maxVel"},"2E7tTk6lcOyE4yBk06-NW":{"uri":"/melonJS/docs/melonjs/Body.html#vel"},"9bA0EVxyHZ6UMvXvjWDyB":{"uri":"/melonJS/docs/melonjs/Body.html#addShape"},"-wj7nIgXQbctn8RuwbZwd":{"uri":"/melonJS/docs/melonjs/Body.html#addVertices"},"BeEM5uLn9icimGQCe_lvf":{"uri":"/melonJS/docs/melonjs/Body.html#constructor"},"GO63wS7jHnxBfM1W7sK_f":{"uri":"/melonJS/docs/melonjs/Body.html#contains"},"TpwkRBwcXkvQxLdZMJpNZ":{"uri":"/melonJS/docs/melonjs/Body.html#forEach"},"R3hy347m4UH4Mb8uCF1C_":{"uri":"/melonJS/docs/melonjs/Body.html#fromJSON"},"WN9lRe0p8w3Ybvq12aiiO":{"uri":"/melonJS/docs/melonjs/Body.html#getBounds"},"HOW8_NiQjBhI4E8Wzb4Sa":{"uri":"/melonJS/docs/melonjs/Body.html#getShape"},"05AgJRn9Zpn2P8JMIqKpu":{"uri":"/melonJS/docs/melonjs/Body.html#removeShape"},"HefoeM5-6CSwOvh6VWy-2":{"uri":"/melonJS/docs/melonjs/Body.html#removeShapeAt"},"BUTy1E2RYEb46WE2Jz_Sd":{"uri":"/melonJS/docs/melonjs/Body.html#respondToCollision"},"J-07NR9ccji04awKtwwvH":{"uri":"/melonJS/docs/melonjs/Body.html#rotate"},"sb5CYw-cPeOFRRU50fMDm":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionMask"},"J_ZwiD7LjesGa_pgUCHU3":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionType"},"Kh1npH72jmOiiK1mWAI5t":{"uri":"/melonJS/docs/melonjs/Body.html#setFriction"},"9AlYZE6n1DYPsFCHCp6VF":{"uri":"/melonJS/docs/melonjs/Body.html#setMaxVelocity"},"BnHxru6tYbMMcs-JPG6lo":{"uri":"/melonJS/docs/melonjs/Body.html#setStatic"},"56gaYc5J4dwQILFlZ0uLm":{"uri":"/melonJS/docs/melonjs/Body.html#setVertices"},"zhGHnTBOkwNZMPSSCjIGw":{"uri":"/melonJS/docs/melonjs/Body.html#update"},"c1x7hUqFdOHLG5m2bXXyY":{"uri":"/melonJS/docs/melonjs/Bounds.html"},"1dRuvilA6XnSLOfpHbOkD":{"uri":"/melonJS/docs/melonjs/Bounds.html#bottom"},"nC-qV1K0DJEWCmj9zxOGF":{"uri":"/melonJS/docs/melonjs/Bounds.html#center"},"jqVcSB7dguLYhqHVkkbAt":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerX"},"HX_MN0LQ-_UKIDzqYPWa_":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerY"},"DllySBzcwmnTlpzxOZ_3O":{"uri":"/melonJS/docs/melonjs/Bounds.html#height"},"Wb9evITAkaGbLCsS_-C-B":{"uri":"/melonJS/docs/melonjs/Bounds.html#left"},"szRYUlKtw1tj2CpLiCKlX":{"uri":"/melonJS/docs/melonjs/Bounds.html#right"},"tchfGKAU0ODFqdY9myfoi":{"uri":"/melonJS/docs/melonjs/Bounds.html#top"},"qe34X_AIBCj4l5qgzUY0R":{"uri":"/melonJS/docs/melonjs/Bounds.html#type"},"aUxVGO-DqfBfTi8wrpYkd":{"uri":"/melonJS/docs/melonjs/Bounds.html#width"},"2a5bpNJ0uXHj3UBRkeSQf":{"uri":"/melonJS/docs/melonjs/Bounds.html#x"},"rYqo3RkyOUxXYH6UWGSD2":{"uri":"/melonJS/docs/melonjs/Bounds.html#y"},"DOY-2-dYwqqneQiU3DzGF":{"uri":"/melonJS/docs/melonjs/Bounds.html#add"},"JmOg-uTHOiCGIBHQQjQO6":{"uri":"/melonJS/docs/melonjs/Bounds.html#addBounds"},"y-wr0ZKzRSyrZ0yJcjnRA":{"uri":"/melonJS/docs/melonjs/Bounds.html#addFrame"},"1Bz2-fTrjOgeoTwFEFhTh":{"uri":"/melonJS/docs/melonjs/Bounds.html#addPoint"},"Ytc96C7Hvwf4xNycJTbFs":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerOn"},"6c9U-LCXFWokfMhZnQNfJ":{"uri":"/melonJS/docs/melonjs/Bounds.html#clear"},"WpmazKQ6GFVwUL_klHebP":{"uri":"/melonJS/docs/melonjs/Bounds.html#clone"},"mqK831f8gCJJKsuUt5KMh":{"uri":"/melonJS/docs/melonjs/Bounds.html#constructor"},"BqyqdjFiLglgt4WajHT7P":{"uri":"/melonJS/docs/melonjs/Bounds.html#contains"},"fyK42S3WFFQ9vXfH068_v":{"uri":"/melonJS/docs/melonjs/Bounds.html#isFinite"},"LrZwTbPC_NjTPwn8vsJeB":{"uri":"/melonJS/docs/melonjs/Bounds.html#overlaps"},"ViSH0pOQYGfZLSO9Hfnvc":{"uri":"/melonJS/docs/melonjs/Bounds.html#setMinMax"},"x-Yg7IU53XR_MUYiP1eKN":{"uri":"/melonJS/docs/melonjs/Bounds.html#shift"},"inSfB-cd9_fbnQ4L3bzQv":{"uri":"/melonJS/docs/melonjs/Bounds.html#toPolygon"},"uJVXmQz-p1YbRra6A4ZUa":{"uri":"/melonJS/docs/melonjs/Bounds.html#translate"},"w6Lno1KM23bRlgeCxKABT":{"uri":"/melonJS/docs/melonjs/Bounds.html#update"},"78atrQxvlfbIwZZBzSz87":{"uri":"/melonJS/docs/melonjs/Camera2d.html"},"9p7e-DMG_rRWtmEyQh29T":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html"},"ivqZP_UvS5Kb7ehDyiaYG":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#BOTH"},"D_WpJb1RNYxRSfjW10aR0":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#HORIZONTAL"},"cuAKlGLJJEZ1Rkdt4JdSA":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#NONE"},"sxLy5JWYdQksplJfOvZb1":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#VERTICAL"},"HuytYK2qf7ZSLS-rElfKG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alpha"},"L71WWJdqRn1qNzUmedZQ2":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alwaysUpdate"},"rWhz6qeVed2E9jrMbk6v8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#ancestor"},"UemmRhufgzQvUymivU3DN":{"uri":"/melonJS/docs/melonjs/Camera2d.html#anchorPoint"},"MJkMquO3UzQV_evzfglZb":{"uri":"/melonJS/docs/melonjs/Camera2d.html#autoTransform"},"_xvgk3d4AsNfKkz5IQflF":{"uri":"/melonJS/docs/melonjs/Camera2d.html#blendMode"},"39S9dmw4Vi37TaIV8Shep":{"uri":"/melonJS/docs/melonjs/Camera2d.html#body"},"Ns2cn-vnD_jM8gOQCIkbi":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bottom"},"9wf-Xyav5AwZzNBUmkyR-":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bounds"},"59wyDTWCYlaDfYOMBNTer":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerX"},"9UXj3fmSsoMm7KNyWkyZZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerY"},"OuHg7N3GCH9SY0q3c4so8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#currentTransform"},"HeKDFR4guCu6-5wXvHz1r":{"uri":"/melonJS/docs/melonjs/Camera2d.html#damping"},"hjfwzX1JUHfJX2KLK6wB8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#depth"},"ZkW3UO1q0Ea5eQ18SBEkd":{"uri":"/melonJS/docs/melonjs/Camera2d.html#far"},"E6P4au0KcwSO9ORUyARvM":{"uri":"/melonJS/docs/melonjs/Camera2d.html#floating"},"EQZ4p28JczqGY8ON8l8Xo":{"uri":"/melonJS/docs/melonjs/Camera2d.html#GUID"},"466xMgxSI7H0rom76udoD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#height"},"M9oCsXANxKML77qb4L1Of":{"uri":"/melonJS/docs/melonjs/Camera2d.html#inViewport"},"waUKUycmdaKmJkeH0PIew":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isDirty"},"NVlX34kEEe7FOTtmmthu7":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedX"},"9CRZs7STyaqMyOiJgdWOA":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedY"},"aidOuL3iq7j6jrqc3chBf":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFloating"},"gUyGNqXjii81MFX98ZEvw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isKinematic"},"EDdwLYNQKeaXggTk4yGIe":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isPersistent"},"WrUDprQlwk9zFrx4CZ7s6":{"uri":"/melonJS/docs/melonjs/Camera2d.html#left"},"-ck8edLyEMdNbdOUBiq2L":{"uri":"/melonJS/docs/melonjs/Camera2d.html#mask"},"1__OJKvYodV5EhV-cjos6":{"uri":"/melonJS/docs/melonjs/Camera2d.html#name"},"wulLfCpk3cwzdWZuFC_dM":{"uri":"/melonJS/docs/melonjs/Camera2d.html#near"},"zqGwUCEFCNOqNhIc1SOC0":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onVisibilityChange"},"66ETx0RqYD72u85sWiP6D":{"uri":"/melonJS/docs/melonjs/Camera2d.html#parentApp"},"osG2i0s_0igOr8VOv0OxW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#points"},"4J3M_l3uuFqN-ay_6wQnY":{"uri":"/melonJS/docs/melonjs/Camera2d.html#pos"},"brsm49bv2RSw6VHM3T33r":{"uri":"/melonJS/docs/melonjs/Camera2d.html#projectionMatrix"},"rByh3f4VjxbqIQHSLvOre":{"uri":"/melonJS/docs/melonjs/Camera2d.html#right"},"hZe0lgxgjxjz19HdBmiAW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shader"},"dhkMlQpopF9sglnW4judy":{"uri":"/melonJS/docs/melonjs/Camera2d.html#tint"},"XbwiHKk1Uimcd4S7FtrKx":{"uri":"/melonJS/docs/melonjs/Camera2d.html#top"},"rXxapubf2ulObyjFLB6HI":{"uri":"/melonJS/docs/melonjs/Camera2d.html#type"},"rXi7Ne-soWSMh9Qpkw-Le":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateWhenPaused"},"3S2rmz9PpK1HEH4nv2i1-":{"uri":"/melonJS/docs/melonjs/Camera2d.html#width"},"YjgP0plpppbZCnIjKOb9H":{"uri":"/melonJS/docs/melonjs/Camera2d.html#smoothFollow"},"FvLYzMB7P-94ip-dKq58D":{"uri":"/melonJS/docs/melonjs/Camera2d.html#angleTo"},"PenrAaCxRR5JAnKffnuDr":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerOn"},"uNJTSV5VmKTbuGcAdRotD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#clone"},"ckaTsxEQ1bcEkdYIw0_kD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#constructor"},"PP45s914EdWH5PNI7dysy":{"uri":"/melonJS/docs/melonjs/Camera2d.html#contains"},"aI1DGqdPBgPCFVEYLcQYO":{"uri":"/melonJS/docs/melonjs/Camera2d.html#copy"},"S6e2UHwydmvsVHS9QSVGr":{"uri":"/melonJS/docs/melonjs/Camera2d.html#distanceTo"},"DNgbDWEwzOUImDacXg4UH":{"uri":"/melonJS/docs/melonjs/Camera2d.html#draw"},"8QXBTXvNlGgWhW4_NLktC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#equals"},"Gk9RPbR1yvQ1GOLxBFW-f":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeIn"},"smYuw_ajzBcLW26vT0cNC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeOut"},"nJ7KEdMLkEGKBtDkXbASr":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipX"},"25R1CypbKsU14RXW25Wxk":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipY"},"vBE3BINf1RJCFLIkfYNLp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#focusOn"},"htX5wSubrPmRJ7sJKYN4M":{"uri":"/melonJS/docs/melonjs/Camera2d.html#follow"},"9bYaszRBKT3sS4pLNhq_-":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getAbsolutePosition"},"YIo5_nO61sDwWPOzLmwMv":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getBounds"},"gpmQbu1nFkO9LBjMo2Afm":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getIndices"},"Fbu8Fiu_eAnPOSwiu0SEe":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getOpacity"},"yiEgdYmbtNbhYjsHG8g98":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isConvex"},"Nb-sNfVry11VIC8HYWnoL":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFinite"},"QOGeAEr5V4BssXGwcqBC1":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isVisible"},"gUBbo9M5ZIpFFuVOOBRYF":{"uri":"/melonJS/docs/melonjs/Camera2d.html#localToWorld"},"bSGOHJeQfccGVPgSVC380":{"uri":"/melonJS/docs/melonjs/Camera2d.html#lookAt"},"Vm99fw0hPS0vCzdEmGvqi":{"uri":"/melonJS/docs/melonjs/Camera2d.html#move"},"vWrVGcpVVQ6JsvyeM9026":{"uri":"/melonJS/docs/melonjs/Camera2d.html#moveTo"},"N0LPk_8PYbV7Jiu-OLSBa":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onCollision"},"n_jELsOjtFTVM62o4ib-8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onDestroyEvent"},"LZn4oAayZEAJAnt2O17DB":{"uri":"/melonJS/docs/melonjs/Camera2d.html#overlaps"},"avhUpVkZXX4pGP5XuDGOU":{"uri":"/melonJS/docs/melonjs/Camera2d.html#postDraw"},"JWIDnyJJUWJ0nUG7PlqnK":{"uri":"/melonJS/docs/melonjs/Camera2d.html#preDraw"},"Sh5PmaeQaLdxtUpKLVm3U":{"uri":"/melonJS/docs/melonjs/Camera2d.html#recalc"},"wf50nP3eIuwq5wDIFWrje":{"uri":"/melonJS/docs/melonjs/Camera2d.html#reset"},"nVfQh2kYWDC1a9zm1WiZ5":{"uri":"/melonJS/docs/melonjs/Camera2d.html#resize"},"hPA06fc9wJvKxxOKdGPQ7":{"uri":"/melonJS/docs/melonjs/Camera2d.html#rotate"},"akhpIIODKVczBKc13S9b6":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scale"},"S1fs--1iU86BIgC-H90Ge":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scaleV"},"Rrea4mQW0u8VKYQCNxCvw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setBounds"},"nPFVlBXWAtAUG7rBuM6sd":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setDeadzone"},"1KG7JQt7rZoOXI5PXEqHT":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setOpacity"},"dAiTnavvlMv--fi14rTpp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setShape"},"InVtLJWOZjVsr07B6bwKy":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setVertices"},"nsidT7c5u0QFPxQryrOtb":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shake"},"Q_dQeJdCQP1BRsGK-pfkl":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shift"},"JntvFuMiqK8fxP37QbEmY":{"uri":"/melonJS/docs/melonjs/Camera2d.html#to2d"},"69K7LTA-cDavG6taTKm7K":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toIso"},"5h6bLzvYm4FHloHBdakdj":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toPolygon"},"frzlA55C5dkl5nVWlWZvf":{"uri":"/melonJS/docs/melonjs/Camera2d.html#transform"},"D5hfk-l4vERX7PmHGYtAt":{"uri":"/melonJS/docs/melonjs/Camera2d.html#translate"},"awPZ0MGKMWAM8XdNMsM_w":{"uri":"/melonJS/docs/melonjs/Camera2d.html#unfollow"},"4U1us_x6pDe4TlDaCEtpT":{"uri":"/melonJS/docs/melonjs/Camera2d.html#union"},"u35p_OOh2vsGMoBkBtrC2":{"uri":"/melonJS/docs/melonjs/Camera2d.html#update"},"mLGzJUYzRZbNRa442GnAV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateBounds"},"SBXlv-ofpcaT8vPCbamUe":{"uri":"/melonJS/docs/melonjs/Camera2d.html#worldToLocal"},"1qjakg89gcU_Cp8Ka4Fg3":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onAnchorUpdate"},"K6wDn8x9eXMFyMh5NBzbD":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html"},"QitYrL1fdS51APi0eoXUj":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#depthTest"},"w3T3HtmIgZPvKqqB7w16f":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#designRatio"},"tW-veZEPRu3nkADrw2KVg":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#height"},"ea4Tbw45YFkA5SF--rrYU":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#isContextValid"},"x89cstwG1wFV1DWjmxjqY":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#path2D"},"lZmaVO7i3NvBorNy6mdOJ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scaleRatio"},"YzQSqEFso6mHKcA2M7i0T":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#settings"},"T-KgyUh0P_mSUjmBUMC9L":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#type"},"fXc3KQEPqes2aKwpxXpIN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#width"},"Xjapa_VyGTOMSwte96F9A":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#beginPath"},"86C4UU5LQseCPLklMGpU8":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clear"},"DsdGmIHBWabY1H2kxgm36":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearColor"},"eeK4YE1o_G6kCbN0vhOao":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearMask"},"vCcxewgrJkzNeaLwNBWjH":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearRect"},"din1F7hVGZo0AqHGe6F3s":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearTint"},"6KLz5buXucRzjTxV1V50q":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clipRect"},"Q2Ix9f7kVGzSkM6t5wb-A":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#closePath"},"UWXhfWmoLK7sz4K_GPNMR":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#constructor"},"BpjLYmgSbP0fiXeOn4Yxn":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#createPattern"},"KVaJmI3HN0HiM8-oSBREs":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawImage"},"FHLkbTrgC1HL0E9IQm-TL":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawPattern"},"W-vHXvAolC9WZzTWu_Ao5":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fill"},"459vMuZd2lWGCVs1IAzIp":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillArc"},"GuT2NSpcACzm60Hzml6VA":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillEllipse"},"Y1Vu344je2EvZJ_W2oYDc":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillLine"},"89nF7wYO25jqUdzXXryjo":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPoint"},"AuePEf6GM4WFQx6rddicT":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPolygon"},"-rp9UqiSu4mH7r4yC5yaa":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRect"},"KRCtmTXI4SwMs3kSd9_uJ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRoundRect"},"0TsEg7kosH1fBvbWpGdnv":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#flush"},"pVKv0GS2RNbOScNja_s0W":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getBlendMode"},"F9p9C7iQh3QRGx62T35mO":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getCanvas"},"ihaj1myoIlUx_GfTroeLI":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getColor"},"kZtEbLGkg-7HqGVnoaN1h":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext"},"E2IJzMlQf3xSzbFDFy2ku":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext2d"},"vo46FkFJx0YBZoRoL2AtG":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getGlobalAlpha"},"Qu_3m4OB-QxycjWyGMdLK":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenCanvas"},"4LgqPsBwpNaO9e_6l4ulN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenContext"},"4UrOTgeUHPrXXXwSg1wDZ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#globalAlpha"},"uCaONT_vyTlJ1ModgbE1o":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#lineTo"},"-6YYDXcWO-8PemDpNupWL":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#moveTo"},"CntdrPxzfDqpZM37aOknx":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#overlaps"},"GAOzzZa2IwKnm7POx5geq":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rect"},"n8xFBGzJfZenyiX1KDXJB":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#reset"},"_FTthunurSUmeBmtz2Km4":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resetTransform"},"iz1hARdFLcNmFTaip3T9q":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resize"},"lecptkB1vrVT8Lo2KFEEB":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#restore"},"gjgyzoJKZf3CYGLNo0W3a":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rotate"},"ysylteyhZVtlYOEA6F7SC":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#roundRect"},"iZ44p7iZQobONxATvhXYM":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#save"},"3QjhDfgFwnlUiaCa_JJPm":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scale"},"0sbRN_aeCWYovFsxY341O":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setAntiAlias"},"OPXrvwF8VIjWmha9V0Os_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setBlendMode"},"5Y83l-hPpCaKyJYJ_UFWc":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setColor"},"vPeveNYg94JA1-81MjRpQ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setGlobalAlpha"},"NWny5_H3paEdM6oHKG8qF":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setLineWidth"},"h9MF8XBJ0fdhSJWa0zjE0":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setMask"},"-8yYJq3QvvpF8gIfiUlIn":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setProjection"},"OkEjRWY3Aphgm8NPW2dXG":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTint"},"N0dTralG3ljvZ6XRKcu_9":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTransform"},"DHJ64LlKrwXFoUM5-s0Z_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#stroke"},"7U29kxcUNXyZr8eovXJD9":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeArc"},"-zfX55-duqZ_PvYGdR667":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeEllipse"},"KWTHtsUWZuYp228UfpM36":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeLine"},"P21UgshetuELt2jbr3CsN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePoint"},"iqlHg36iCVFjbFdiwPpQW":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePolygon"},"FTyA8t17a6CEwOBfh33vm":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRect"},"uYd7IpshhEhgZgv2ioDAe":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRoundRect"},"2lwnhFT00pWCzjZQpgJ2w":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#tint"},"9HCxT1A-IiAUpSLn3i64V":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toBlob"},"Qqqz0ITZvX2jV5fHUCOxP":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toDataURL"},"KdX96w4779MktHtJJ9fII":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toImageBitmap"},"6fqXjZgYHsv4i47C4F1-c":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#transform"},"S7t0pkfPhlOMmnNLukA9a":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#translate"},"VFi3W5sUhzm9X-z9KjZt6":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html"},"Uugk_RJBeuiT8YQvJ4_kH":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#canvas"},"0sqUxtaYCdzfDRKAiXuQz":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#context"},"ibWCe0Le6gK6AB10-_R8m":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#height"},"jF5buneFPc3PXsfw9fwiW":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#width"},"dVorkny2mG0QgwJHxMmmt":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#clear"},"P_ogNCuKi3WHG6BaMNMdQ":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#constructor"},"Dw271JuUuYnvVpSjcUBd6":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#getImageData"},"w65HZmZAE7k3Qub9IIfzH":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#invalidate"},"YRAqeZ7UCgBeijNTAWFgO":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#resize"},"p3JIhka3xVqih6bhgvnoX":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#setAntiAlias"},"ow2BBsZaPqd3u-PbtPfXL":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toBlob"},"nqbBcrI5egghA_uLTIUv5":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toDataURL"},"_ix7qknS43EvajtBFue-g":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toImageBitmap"},"yWLwDbUccegv8U4YKDfOM":{"uri":"/melonJS/docs/melonjs/Collectable.html"},"cu9M30ZoFQn38oj03Q5_a":{"uri":"/melonJS/docs/melonjs/Collectable.html#alpha"},"CQakb79RU1y4i0ihCR8qx":{"uri":"/melonJS/docs/melonjs/Collectable.html#alwaysUpdate"},"Cf6YC5_hIBMXhKHQawaxL":{"uri":"/melonJS/docs/melonjs/Collectable.html#ancestor"},"99kqMeI1LJrWRs_PaVzdm":{"uri":"/melonJS/docs/melonjs/Collectable.html#anchorPoint"},"aCBP_5ad8avOZb61uUOGV":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationpause"},"uUvI94fV6xQhbtFrTRkko":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationspeed"},"u9r0RRYegA6J9dBRWPvZj":{"uri":"/melonJS/docs/melonjs/Collectable.html#autoTransform"},"SBdD1a5qth2qRyWCY-iWY":{"uri":"/melonJS/docs/melonjs/Collectable.html#blendMode"},"O8eC3MKCOEBwZ0jJbTkpV":{"uri":"/melonJS/docs/melonjs/Collectable.html#body"},"zwHOmgw97k-U6GoL0mx81":{"uri":"/melonJS/docs/melonjs/Collectable.html#bottom"},"CJKYJwop94vx4uERKfSdg":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerX"},"7ZGo_MzrUGOgsO7b3lqsv":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerY"},"5jJP-gbf80wPeU-W0RfH2":{"uri":"/melonJS/docs/melonjs/Collectable.html#currentTransform"},"MEwIRL2TXzsZqFn5cE1Fz":{"uri":"/melonJS/docs/melonjs/Collectable.html#depth"},"A3_j4lJCUytQEDadMczwB":{"uri":"/melonJS/docs/melonjs/Collectable.html#floating"},"-y3BpCZMmWHrkSYpZroLm":{"uri":"/melonJS/docs/melonjs/Collectable.html#GUID"},"2fFBs7PWnJUDirzwNhz0v":{"uri":"/melonJS/docs/melonjs/Collectable.html#height"},"OBduZ-7TXi5aw_uK90_Sj":{"uri":"/melonJS/docs/melonjs/Collectable.html#inViewport"},"VWvqDk2GIh_0bd3B9jUJf":{"uri":"/melonJS/docs/melonjs/Collectable.html#isDirty"},"3xy7WOEXBcujiFfrm39rv":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedX"},"Hsqf9HuLYrxvkTifK584h":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedY"},"MiVCBd9juoDTfeAJzfh9O":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFloating"},"1wX5NcCMY1iYZ1cBXUQYM":{"uri":"/melonJS/docs/melonjs/Collectable.html#isKinematic"},"p8DgkpR8vUTn2ORaeBgg2":{"uri":"/melonJS/docs/melonjs/Collectable.html#isPersistent"},"4v4Kmcs1e3qVzz38gtNMD":{"uri":"/melonJS/docs/melonjs/Collectable.html#isVideo"},"uyb6q5VEmB9shFQ9iD26X":{"uri":"/melonJS/docs/melonjs/Collectable.html#left"},"G4jCwZ4MbEQ3sOEnqljcb":{"uri":"/melonJS/docs/melonjs/Collectable.html#mask"},"W9eE_maWRLNOlaZiXEZyr":{"uri":"/melonJS/docs/melonjs/Collectable.html#name"},"8Yxst7SvrniwsQ3ZjSI0n":{"uri":"/melonJS/docs/melonjs/Collectable.html#offset"},"r4xRKHcJaaApkunYRNU6B":{"uri":"/melonJS/docs/melonjs/Collectable.html#onVisibilityChange"},"jBD6OamhrY7Svpro1-zbG":{"uri":"/melonJS/docs/melonjs/Collectable.html#parentApp"},"UNjxX-Da4QQvrmKY3AWN6":{"uri":"/melonJS/docs/melonjs/Collectable.html#points"},"m9zQkLkl4UtNfH0CxFwSw":{"uri":"/melonJS/docs/melonjs/Collectable.html#pos"},"YqaNXB15eoyuOu-_zQUDX":{"uri":"/melonJS/docs/melonjs/Collectable.html#right"},"24XxAJ850OAzv_Arov2hy":{"uri":"/melonJS/docs/melonjs/Collectable.html#shader"},"YypVKYRtMiZZuMEKFUt_6":{"uri":"/melonJS/docs/melonjs/Collectable.html#source"},"lxYKQUQNPQseEOR2S0ZuT":{"uri":"/melonJS/docs/melonjs/Collectable.html#tint"},"Y9ZqFIQriH14zar37WjdJ":{"uri":"/melonJS/docs/melonjs/Collectable.html#top"},"eibqqBmJY7LG3UvEkPTWr":{"uri":"/melonJS/docs/melonjs/Collectable.html#type"},"pKgzkgB1izFKQo4sNAE47":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateWhenPaused"},"D-hB8T1BjIkIiQ-PRvYJC":{"uri":"/melonJS/docs/melonjs/Collectable.html#width"},"ZwIxl9eVweKLxwDoSC_EV":{"uri":"/melonJS/docs/melonjs/Collectable.html#addAnimation"},"JMQsQTc7QjEVyho3Vu50b":{"uri":"/melonJS/docs/melonjs/Collectable.html#angleTo"},"JXnG2bC6Y3WK-yz6hCeUm":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerOn"},"iy7aQsCwhW6QipHF5KmE1":{"uri":"/melonJS/docs/melonjs/Collectable.html#clone"},"M2eNff1BUIWpsJrjhs0ff":{"uri":"/melonJS/docs/melonjs/Collectable.html#constructor"},"c5nFdyrRDjRLqpw2IKvtT":{"uri":"/melonJS/docs/melonjs/Collectable.html#contains"},"stkwlsewBBALztUZzUjX8":{"uri":"/melonJS/docs/melonjs/Collectable.html#copy"},"o9Tqvfglo2diHnmOP2F6T":{"uri":"/melonJS/docs/melonjs/Collectable.html#distanceTo"},"fzUyx5o1cvfpVGlYftNRd":{"uri":"/melonJS/docs/melonjs/Collectable.html#equals"},"0S6heBOAizYODF9Nh21hP":{"uri":"/melonJS/docs/melonjs/Collectable.html#flicker"},"tb8p57REdfcr1Un8472rp":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipX"},"5QPU6nHfZhrdseNuNY8ft":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipY"},"kD8dHvicMQUlo3WggBR-W":{"uri":"/melonJS/docs/melonjs/Collectable.html#getAbsolutePosition"},"6-Xap1YPWxfNOKMDO3m-m":{"uri":"/melonJS/docs/melonjs/Collectable.html#getBounds"},"mY4aTSlpkVyTkGnqwntL2":{"uri":"/melonJS/docs/melonjs/Collectable.html#getCurrentAnimationFrame"},"qVUGBTND-OZnOMzechzPs":{"uri":"/melonJS/docs/melonjs/Collectable.html#getIndices"},"93frHp0tJOEye8eTsPcHN":{"uri":"/melonJS/docs/melonjs/Collectable.html#getOpacity"},"zyzI98ZNapyI9NlD_ILvN":{"uri":"/melonJS/docs/melonjs/Collectable.html#isConvex"},"5elzajjuB729BwtSuviWt":{"uri":"/melonJS/docs/melonjs/Collectable.html#isCurrentAnimation"},"_-fHpZDRW6ioop4E_ZbHg":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFinite"},"NWiE4RBVPWjWDNhrqvEJS":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlickering"},"yP5l1ygVxNi9lrjbhSQRi":{"uri":"/melonJS/docs/melonjs/Collectable.html#lookAt"},"n3xfqxesNbZpiIyskyWKr":{"uri":"/melonJS/docs/melonjs/Collectable.html#onCollision"},"30Ptko6t77YH9xtfSfFpW":{"uri":"/melonJS/docs/melonjs/Collectable.html#onDestroyEvent"},"-Q3uv_dtai-JNl07AwkqK":{"uri":"/melonJS/docs/melonjs/Collectable.html#overlaps"},"8vtD5DZcxqm7nfoWh7Va_":{"uri":"/melonJS/docs/melonjs/Collectable.html#pause"},"MmLgJYTNqhbBaI5k_HQxt":{"uri":"/melonJS/docs/melonjs/Collectable.html#play"},"CcuBV5bk8z-_kTVSDPiha":{"uri":"/melonJS/docs/melonjs/Collectable.html#postDraw"},"k-zoVB5L0hSGDAgAH2zCW":{"uri":"/melonJS/docs/melonjs/Collectable.html#preDraw"},"BqtHjZ_YwCmZm6w8tl382":{"uri":"/melonJS/docs/melonjs/Collectable.html#recalc"},"HsPzFBbS6mQ6UlYs4YlAx":{"uri":"/melonJS/docs/melonjs/Collectable.html#resize"},"WM7igPggPjPLR342QfH-W":{"uri":"/melonJS/docs/melonjs/Collectable.html#reverseAnimation"},"HAUAmn9nGUN5Uqr_pGMHV":{"uri":"/melonJS/docs/melonjs/Collectable.html#rotate"},"7Mgl4pfQBS7dprVHo0xy1":{"uri":"/melonJS/docs/melonjs/Collectable.html#scale"},"rEjvy_R7cKaW12Pdp4rJr":{"uri":"/melonJS/docs/melonjs/Collectable.html#scaleV"},"bkEaEq3C15b0tKRT8icd8":{"uri":"/melonJS/docs/melonjs/Collectable.html#setAnimationFrame"},"Jzwaz8_ZHWuGq2wLAPP8w":{"uri":"/melonJS/docs/melonjs/Collectable.html#setCurrentAnimation"},"LH1RexaPAyi4asZvCiC9B":{"uri":"/melonJS/docs/melonjs/Collectable.html#setOpacity"},"lo5pbsbUcZeUKQtvBzmPq":{"uri":"/melonJS/docs/melonjs/Collectable.html#setRegion"},"LPt7B2KHGkjLs18RhXQLc":{"uri":"/melonJS/docs/melonjs/Collectable.html#setShape"},"FWm4iAkoUxy7v-DWdgp8U":{"uri":"/melonJS/docs/melonjs/Collectable.html#setVertices"},"zHEAOKSZ_5KmGZIFFYsYQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#shift"},"5oEq0mk3gB4IgvFwWizll":{"uri":"/melonJS/docs/melonjs/Collectable.html#to2d"},"ZU1-1yN1Ct6DqlSkuem4A":{"uri":"/melonJS/docs/melonjs/Collectable.html#toIso"},"d9Zh6bXU0NWj7Us7f0Kvy":{"uri":"/melonJS/docs/melonjs/Collectable.html#toPolygon"},"Dkp9ua_QV2r4NuClYd3qB":{"uri":"/melonJS/docs/melonjs/Collectable.html#transform"},"VajoZ04Jd3OA30xFQaJ2z":{"uri":"/melonJS/docs/melonjs/Collectable.html#translate"},"ax6IQiEZZrnt6BeymbevI":{"uri":"/melonJS/docs/melonjs/Collectable.html#union"},"2Du9Ffzn9QDtaxzYb0ZBZ":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateBounds"},"rTPSw7OlkLISGp9xvNXDC":{"uri":"/melonJS/docs/melonjs/Collectable.html#draw"},"rN9Rtbuswm3fybimL2tC2":{"uri":"/melonJS/docs/melonjs/Collectable.html#update"},"M-JIY4_NKK4fisJT7q6zd":{"uri":"/melonJS/docs/melonjs/Collectable.html#onAnchorUpdate"},"DD_LzKQjLAqfd1rY18Yry":{"uri":"/melonJS/docs/melonjs/Color.html"},"vRbd--FnDgz5fiUha2kIV":{"uri":"/melonJS/docs/melonjs/Color.html#alpha"},"lyHZoHw5XcSflxQbPije0":{"uri":"/melonJS/docs/melonjs/Color.html#b"},"p_wnbk7YAwToCGVPFNYT5":{"uri":"/melonJS/docs/melonjs/Color.html#g"},"JJ1kFvmJ3pTTA4UJ9K5Qw":{"uri":"/melonJS/docs/melonjs/Color.html#r"},"SKCFkP0PBI4nASGdvblYx":{"uri":"/melonJS/docs/melonjs/Color.html#add"},"A-KMlF66ObNeq1GtCla4d":{"uri":"/melonJS/docs/melonjs/Color.html#clone"},"yaw5Ynh4zcqr6qst6W9su":{"uri":"/melonJS/docs/melonjs/Color.html#constructor"},"DGAC4g0-0hMQyEpSOF-vo":{"uri":"/melonJS/docs/melonjs/Color.html#copy"},"iXnllCiO8WR0GZxN0GeqP":{"uri":"/melonJS/docs/melonjs/Color.html#darken"},"53wHfQ2bA0nCT6_jq8kXq":{"uri":"/melonJS/docs/melonjs/Color.html#equals"},"3PcdTRatWoFTx5t1W9Vsw":{"uri":"/melonJS/docs/melonjs/Color.html#lerp"},"NKQ8nhCsklSJADPPY6ZMt":{"uri":"/melonJS/docs/melonjs/Color.html#lighten"},"XNPHxoywyGJ-rc7ZJi1h7":{"uri":"/melonJS/docs/melonjs/Color.html#parseCSS"},"8qwVCxlaHMvpu_LsIP4Ew":{"uri":"/melonJS/docs/melonjs/Color.html#parseHex"},"rk_ViLNpguULOBVtFhWHE":{"uri":"/melonJS/docs/melonjs/Color.html#parseRGB"},"P7Ix3vAwORa0vENPEahht":{"uri":"/melonJS/docs/melonjs/Color.html#random"},"O4LVoLPdbMfzVA6aUSN9f":{"uri":"/melonJS/docs/melonjs/Color.html#setColor"},"lNUmEr2emooNgviJfnDt7":{"uri":"/melonJS/docs/melonjs/Color.html#setFloat"},"zkiFD4gvFsovubPNmCBbG":{"uri":"/melonJS/docs/melonjs/Color.html#setHSL"},"ztx_bvh4mOfyOs9fqur9C":{"uri":"/melonJS/docs/melonjs/Color.html#setHSV"},"RMJUf3rOmmwa-Sn-eicNo":{"uri":"/melonJS/docs/melonjs/Color.html#toArray"},"Mvkwd1CXXITOLhl2axkUf":{"uri":"/melonJS/docs/melonjs/Color.html#toHex"},"DeV9G87R14BBonacglDZ0":{"uri":"/melonJS/docs/melonjs/Color.html#toHex8"},"QNYznZdUu2Thi8nYoky6x":{"uri":"/melonJS/docs/melonjs/Color.html#toRGB"},"DDPkMEY12VCFGzE4unMdp":{"uri":"/melonJS/docs/melonjs/Color.html#toRGBA"},"COxhyNl_H6wLiXzjFOxX5":{"uri":"/melonJS/docs/melonjs/Color.html#toUint32"},"W1cuM7DwnY8B20QpI5hwY":{"uri":"/melonJS/docs/melonjs/ColorLayer.html"},"q3UQjQjL9Ade87b3-vHi6":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alpha"},"x2nK430-11GJmNkMxG0VG":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alwaysUpdate"},"9zZKhLzL9lHLkRwHzik_a":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#ancestor"},"qjNwQVoUQdxHBZhUNtsPk":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#anchorPoint"},"-nbdLSwCcYtH7hK-fCuRv":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#autoTransform"},"m-ncny9E-432ybiBWmUZa":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#blendMode"},"TZdEZ8kdpjoHMqxMhE9kY":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#body"},"mGwogRCGXP8zrpTuvBzTw":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#bottom"},"qtKvVNyx3mbbuxh5HCDnY":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerX"},"2aLOlFJodN0zlBW8d_npB":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerY"},"HkXxq-FRQFhvBc5qjXVLX":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#color"},"WVrFrW0cMBeUd-XR3gXKv":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#currentTransform"},"NNQQEW9G_vooh2MNg7TQt":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#depth"},"bTqvmie2VKLrgnR8TMqlp":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#floating"},"OkobpPJzov8JNDXCvFr4M":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#GUID"},"sN8-HGIw_9StaGxn7cQH4":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#height"},"qem4wwNLTtPMWFbh75hYy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#inViewport"},"jz3_7_kWEA_FQzy09slRb":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isDirty"},"di51tM-7_JLCdkd_3LdMx":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedX"},"mwL0uFkc7gwMWBm2RyRmg":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedY"},"bciWeMF6LzCo7B-xeTJg3":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFloating"},"dGwLcbh59ywzoWMjWCfTn":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isKinematic"},"jihBybE6w63eyC7jQ_th5":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isPersistent"},"JpgBkCi7jSjuDNEqFgKoN":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#left"},"YR2bLI3c3My1EuGbIbtpf":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#mask"},"gbIniJThPByQx0djd0S88":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#name"},"OIBb8DzD0GGF9k7ehih--":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onVisibilityChange"},"kpdlXMeSW9Nlsa2nPwWFf":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#parentApp"},"VRYbjWerxF2sQWMIpXoe8":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#points"},"pp05By5tA4U-B4hqt1Ftc":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#pos"},"YXEKegrik3NLp1jjb4_6b":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#right"},"w7buaCFP0zrWUFVmFFr2y":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shader"},"Xm-V3iUhSFxzt4bF07YF1":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#tint"},"QKet2D20N-scosL09FUO4":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#top"},"i-Ovi7dKwaHae9kI76UYV":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#type"},"47yfMNOO1cY4Y6GXCgy97":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateWhenPaused"},"gMJiG_Hu7lNn3_qnGgoIQ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#width"},"YxS1o2aTTDNlSLcByEC3f":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#angleTo"},"sUYXYA7d07nN4tywuYIZy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerOn"},"7SSSRDeZ6l-oAlpd6v84a":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#clone"},"UWyKVOowMmqu1Dh89yhq-":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#constructor"},"qT9Bg9wY0spaDLlmAgo-p":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#contains"},"O5ma5kH-_VyKm3PaSi7S2":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#copy"},"Y4KA_d-kleXWj_3ZHPuSX":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#distanceTo"},"7wB3AwiZHJe57j4rhgQ9D":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#equals"},"ZsOzveaHozfFYVPrhSVzz":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipX"},"nDyGehfduDDAFjnDihv3V":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipY"},"ceEZVIZHwzLM16q4-Z_j1":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getAbsolutePosition"},"-kYZh9rviOPq7fyeJeypm":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getBounds"},"aKW4--VwXYvaShEeLGj__":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getIndices"},"zkwBm6JORxh48JeyIv6lK":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getOpacity"},"tPbOvRaIWWJZEwVOgE8xa":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isConvex"},"0lanQ5zGvlpMF2A82NtoN":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFinite"},"VesbJ1rAfqCfRcmOvKNJL":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#lookAt"},"o0k4Td31JZojsJMHryI_z":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onCollision"},"U20E1KMKdsxTDqHjyOLtB":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onDestroyEvent"},"dkeH0mdE-9dbtDRRTKZSd":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#overlaps"},"UF7H0io-gO55TAQyBS8Do":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#postDraw"},"1Zl0knRIzRJvTfmHaUn2V":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#preDraw"},"wSIX2sHZn75py-TBG8qaa":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#recalc"},"8jDbSx2ykGbj4ebmfpen3":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#resize"},"YBD8Dtg2lyvLCPaCSs4XQ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#rotate"},"5NY2WWTuK4AqfhfKabKag":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scale"},"QZL_G85zHhKS8cDLcAVqD":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scaleV"},"UOqFYfM1-3qmHKJSOlEcP":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setOpacity"},"4FKwy2QWYyIZeNSCp_gYz":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setShape"},"1XusvMSniXM8zGmA0EIyb":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setVertices"},"NRvJs8X95MKSQjTFLQgBT":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shift"},"hT_lEVFEzc8MCCNp2M2ay":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#to2d"},"HeFSYVQANitNqCQuoTb3n":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toIso"},"JRCPp43aT-DGwYzNq4zzi":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toPolygon"},"pqDlONgaUawGLOSCgkMQ_":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#transform"},"w_g4h1HCLOmQo5JiZ_5cv":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#translate"},"zrd-tJxvcxy7S8WjodPyp":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#union"},"oSWqHMg05jY2BVe89Gf0F":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#update"},"2s8PMhWTQXgbzX_y_FCS_":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateBounds"},"FkrAaoAqy3b0sbkdpWqUr":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#draw"},"u94CL4eAdKjHIsEremCuy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onAnchorUpdate"},"boPaxtX09afhkJxnIoj_y":{"uri":"/melonJS/docs/melonjs/Compositor.html"},"BBYXkxyYq3Ue6CXO4yBUx":{"uri":"/melonJS/docs/melonjs/Compositor.html#attributes"},"fVgo6ULOvJWCW1t4N_d09":{"uri":"/melonJS/docs/melonjs/Compositor.html#currentShader"},"LvSQ0aPBdVSHxo2Q2vUce":{"uri":"/melonJS/docs/melonjs/Compositor.html#defaultShader"},"suM7JWxgRGXzZfP9O5tbz":{"uri":"/melonJS/docs/melonjs/Compositor.html#mode"},"eY5bM_0Zw2bRdzM7qM78r":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexByteSize"},"tiWvJGUFhGBdxayEaExrZ":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexData"},"DSdJJA0G6TCJpyjEg1dWV":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexSize"},"tvrdbF3ZrJHmOp4ubIg0J":{"uri":"/melonJS/docs/melonjs/Compositor.html#addAttribute"},"XZy4p-zncgrrfx8AjdC9c":{"uri":"/melonJS/docs/melonjs/Compositor.html#bind"},"IwDgihcquImC1JbLUIG3z":{"uri":"/melonJS/docs/melonjs/Compositor.html#constructor"},"SHAB8UFiP-_jCiBCCXIF1":{"uri":"/melonJS/docs/melonjs/Compositor.html#flush"},"3g3oyOonjkdIybH-IEyqq":{"uri":"/melonJS/docs/melonjs/Compositor.html#setProjection"},"EAEWFpCBsG_urK3xHwYzQ":{"uri":"/melonJS/docs/melonjs/Compositor.html#useShader"},"-XCAc4006OvxbF9UORRw7":{"uri":"/melonJS/docs/melonjs/Container.html"},"WGwWswVpYZCZEWHGOJLiQ":{"uri":"/melonJS/docs/melonjs/Container.html#alpha"},"YMh4Z_IqJC2i5CrLxZFBI":{"uri":"/melonJS/docs/melonjs/Container.html#alwaysUpdate"},"z-tFR-x-opMaR2OVCmLxl":{"uri":"/melonJS/docs/melonjs/Container.html#ancestor"},"dnJrUM3tzv2Kt-MOchZxv":{"uri":"/melonJS/docs/melonjs/Container.html#anchorPoint"},"kJAT9dUgjE4RAfZVD4x2Q":{"uri":"/melonJS/docs/melonjs/Container.html#autoDepth"},"77Qy8EYt5XPx7P1absf6B":{"uri":"/melonJS/docs/melonjs/Container.html#autoSort"},"8voBxanJyqH90OqCGjy6U":{"uri":"/melonJS/docs/melonjs/Container.html#autoTransform"},"I4jmWQ-PWMcuxJdnFCYEa":{"uri":"/melonJS/docs/melonjs/Container.html#backgroundColor"},"XM09RkyrcJsL2va-MoHQB":{"uri":"/melonJS/docs/melonjs/Container.html#blendMode"},"LeTLaktEU3y7BKJNbPa31":{"uri":"/melonJS/docs/melonjs/Container.html#body"},"mWEjAfKjSPiulcLQbEf1a":{"uri":"/melonJS/docs/melonjs/Container.html#bottom"},"zSCDwaltdCgI3HSaD4EwJ":{"uri":"/melonJS/docs/melonjs/Container.html#centerX"},"YCL9sUq9JCfpbxhdpB5j0":{"uri":"/melonJS/docs/melonjs/Container.html#centerY"},"_C2nl6Sgz3GeOA6PE7hmo":{"uri":"/melonJS/docs/melonjs/Container.html#clipping"},"zThCe8xC3w9XCxR6oUm2m":{"uri":"/melonJS/docs/melonjs/Container.html#currentTransform"},"qxm__ihE0kCpcNmAmq9x-":{"uri":"/melonJS/docs/melonjs/Container.html#depth"},"Dkd2nFI6iBXt1KTLJRSGT":{"uri":"/melonJS/docs/melonjs/Container.html#enableChildBoundsUpdate"},"JWZ2LmLt0qXBNiTDx3-P4":{"uri":"/melonJS/docs/melonjs/Container.html#floating"},"60UcZ74Lmp63_hjp2CSIW":{"uri":"/melonJS/docs/melonjs/Container.html#GUID"},"V_pEYsiYPnlJtOp2ZHKBp":{"uri":"/melonJS/docs/melonjs/Container.html#height"},"Bl6bnH3n43o56A_9lT5Ce":{"uri":"/melonJS/docs/melonjs/Container.html#inViewport"},"FWvCsMqnymnXU_vUzhH-7":{"uri":"/melonJS/docs/melonjs/Container.html#isDirty"},"Zc-VLhbJihoJKcMuaf2eD":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedX"},"tXz0bUeoYXwZMKKk0UTQv":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedY"},"2HGM-xpOoYpoVZ412w0HR":{"uri":"/melonJS/docs/melonjs/Container.html#isFloating"},"kdb94SX1tN77tLBetuBAB":{"uri":"/melonJS/docs/melonjs/Container.html#isKinematic"},"3qQH0HMhfnLUWacm_h1Gq":{"uri":"/melonJS/docs/melonjs/Container.html#isPersistent"},"NfVKkeoNS3zDgnua0rm12":{"uri":"/melonJS/docs/melonjs/Container.html#left"},"LwZyNTXLMIN1jiOJl6cNC":{"uri":"/melonJS/docs/melonjs/Container.html#mask"},"d1esvHTECqFQHyK-PN6sz":{"uri":"/melonJS/docs/melonjs/Container.html#name"},"2inUabSkUWjct1v742je4":{"uri":"/melonJS/docs/melonjs/Container.html#onVisibilityChange"},"SlYDcWm9g80wFr1Xamx2_":{"uri":"/melonJS/docs/melonjs/Container.html#parentApp"},"xLqxl0BZuSTN80nJTeGv_":{"uri":"/melonJS/docs/melonjs/Container.html#points"},"OzBo7d8J8Km1BpQFoxqZT":{"uri":"/melonJS/docs/melonjs/Container.html#pos"},"B-r0_p3jlswRJglwxTATI":{"uri":"/melonJS/docs/melonjs/Container.html#right"},"zzsIZMWsyouY62U32atrJ":{"uri":"/melonJS/docs/melonjs/Container.html#root"},"cul_FdHkRzEYeVCw4lLFn":{"uri":"/melonJS/docs/melonjs/Container.html#shader"},"5HHCqL92fa_9EDysK3PFA":{"uri":"/melonJS/docs/melonjs/Container.html#sortOn"},"vRDyoD1go4sTcm0V-c3Gb":{"uri":"/melonJS/docs/melonjs/Container.html#tint"},"uLSftLj3lL12qR7TJi_ZE":{"uri":"/melonJS/docs/melonjs/Container.html#top"},"hBwggc8qnoG7wIzNTLHkF":{"uri":"/melonJS/docs/melonjs/Container.html#type"},"zRpRIaR9i4xHM9MJ1AYcu":{"uri":"/melonJS/docs/melonjs/Container.html#updateWhenPaused"},"QOm3-5XYl0mTKsNDzsaqt":{"uri":"/melonJS/docs/melonjs/Container.html#width"},"-8Ze4XQMSvns-jCsGhotu":{"uri":"/melonJS/docs/melonjs/Container.html#addChild"},"aYwwsCGjNqX_1hBU0Avwd":{"uri":"/melonJS/docs/melonjs/Container.html#addChildAt"},"_28KH5uBDVHPcIAJB1xAA":{"uri":"/melonJS/docs/melonjs/Container.html#angleTo"},"NyDfgcpPv4oB0-E88MKzu":{"uri":"/melonJS/docs/melonjs/Container.html#centerOn"},"sLXuonEqEAmzYc9cxGZwq":{"uri":"/melonJS/docs/melonjs/Container.html#clone"},"2Z7bW7X8Z3PTWmIkKQ8Qo":{"uri":"/melonJS/docs/melonjs/Container.html#constructor"},"rh8Hz5LFuQerRYTZ71wrK":{"uri":"/melonJS/docs/melonjs/Container.html#contains"},"m3-w9f4lNa_StaRjnxv-P":{"uri":"/melonJS/docs/melonjs/Container.html#copy"},"QGDkiXGWCUwg2tp9loHVE":{"uri":"/melonJS/docs/melonjs/Container.html#distanceTo"},"njL_nTUoRJIpKwWSqIwjk":{"uri":"/melonJS/docs/melonjs/Container.html#equals"},"USkjFpKMOk3VFwxwxlq0H":{"uri":"/melonJS/docs/melonjs/Container.html#flipX"},"64zZLslowpX-oz8lcjw7u":{"uri":"/melonJS/docs/melonjs/Container.html#flipY"},"KSnZxVqm_BTQ8XjJhzX-1":{"uri":"/melonJS/docs/melonjs/Container.html#forEach"},"szZ7Dkjc3BSOeq_LVAjCT":{"uri":"/melonJS/docs/melonjs/Container.html#getAbsolutePosition"},"b11qr-8y0zquGrb28tuJ3":{"uri":"/melonJS/docs/melonjs/Container.html#getBounds"},"Fbz6Cm78xSlJhtOtazARs":{"uri":"/melonJS/docs/melonjs/Container.html#getChildAt"},"AOtRIHCuTlBT7zbJTG6Ww":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByGUID"},"-iS-JWcpyc1g_tgPCuNiy":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByName"},"vLa9mUV-cPKpaSpBQGhvN":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByProp"},"WdXme5cH_9FS7bORRcUOv":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByType"},"rpFnsQtBSPhyYnDyXHGwA":{"uri":"/melonJS/docs/melonjs/Container.html#getChildIndex"},"WqGBBznvapUmDAkSFd7hR":{"uri":"/melonJS/docs/melonjs/Container.html#getChildren"},"VC999SoWgSidR3Do8xYF1":{"uri":"/melonJS/docs/melonjs/Container.html#getIndices"},"H90CO36Na32MQCDo3Ytiw":{"uri":"/melonJS/docs/melonjs/Container.html#getNextChild"},"WQWciCYfUYSCr7XliV_FT":{"uri":"/melonJS/docs/melonjs/Container.html#getOpacity"},"Y7elzIiMEZ0rn9hEF8_up":{"uri":"/melonJS/docs/melonjs/Container.html#getRootAncestor"},"ZngorXVGYNJbdrmFVlnzS":{"uri":"/melonJS/docs/melonjs/Container.html#hasChild"},"2ziTlKXC28f7yWZOUrLPn":{"uri":"/melonJS/docs/melonjs/Container.html#isAttachedToRoot"},"dpX6gKgwaV4mXIsDOtkr4":{"uri":"/melonJS/docs/melonjs/Container.html#isConvex"},"wNlIUACB-ito_iYNLK-p_":{"uri":"/melonJS/docs/melonjs/Container.html#isFinite"},"kGm28pXF0RFiADcXWJbEt":{"uri":"/melonJS/docs/melonjs/Container.html#lookAt"},"-A74hVICfVC_Y1DMtWNyV":{"uri":"/melonJS/docs/melonjs/Container.html#moveDown"},"Z97TcwSQs2zsgREuUOWZh":{"uri":"/melonJS/docs/melonjs/Container.html#moveToBottom"},"d_-z0IwviVxwI-TNOG0uJ":{"uri":"/melonJS/docs/melonjs/Container.html#moveToTop"},"4EqMEnca1wY5clsj09srw":{"uri":"/melonJS/docs/melonjs/Container.html#moveUp"},"5c7Q33E7pLWtALoEVmUBN":{"uri":"/melonJS/docs/melonjs/Container.html#onChildChange"},"k5ka8hAB-9FwXlP_r302A":{"uri":"/melonJS/docs/melonjs/Container.html#onCollision"},"cxtJWEBRwSrtBe0bR3GQc":{"uri":"/melonJS/docs/melonjs/Container.html#onDestroyEvent"},"se8S0rmYBXYgsGP7jNr7V":{"uri":"/melonJS/docs/melonjs/Container.html#overlaps"},"aTgcLDfa-UnbT-0sIrm3S":{"uri":"/melonJS/docs/melonjs/Container.html#postDraw"},"NqiEfn2ex3tQS9GWDPOyB":{"uri":"/melonJS/docs/melonjs/Container.html#preDraw"},"RLUfL06wXAtiZ6XdeJ0EO":{"uri":"/melonJS/docs/melonjs/Container.html#recalc"},"o4hhwTSgZVOdpsdcSMBro":{"uri":"/melonJS/docs/melonjs/Container.html#removeChild"},"hafQyogeafifB9CnYnWiT":{"uri":"/melonJS/docs/melonjs/Container.html#removeChildNow"},"7AyENGNycDsZ1hQjQxaKD":{"uri":"/melonJS/docs/melonjs/Container.html#reset"},"eYocuwRL_ecflpVGOHm8U":{"uri":"/melonJS/docs/melonjs/Container.html#resize"},"eH1k4wG2g_uaBYb2mIrWW":{"uri":"/melonJS/docs/melonjs/Container.html#rotate"},"46WckfK1aMEDYxWxAAkjG":{"uri":"/melonJS/docs/melonjs/Container.html#scale"},"gqhE8SvW7MFI28zuMRpEa":{"uri":"/melonJS/docs/melonjs/Container.html#scaleV"},"IOtLDKq-sZNZ_NkV31djv":{"uri":"/melonJS/docs/melonjs/Container.html#setChildsProperty"},"fTOeECgAcFiNfFc82EV8F":{"uri":"/melonJS/docs/melonjs/Container.html#setOpacity"},"A_C0m6kSK908Ux8okp5cd":{"uri":"/melonJS/docs/melonjs/Container.html#setShape"},"2A4jG0NYa9-aXHBXo347Y":{"uri":"/melonJS/docs/melonjs/Container.html#setVertices"},"Yn7wuChDqjtBWdi_-oeOc":{"uri":"/melonJS/docs/melonjs/Container.html#shift"},"4avcEyo0h36uCOAOaKRUB":{"uri":"/melonJS/docs/melonjs/Container.html#sort"},"PNmM2KsalM9jeH-XrNK3s":{"uri":"/melonJS/docs/melonjs/Container.html#swapChildren"},"fcR3BRq_Se5HHY7Op3sey":{"uri":"/melonJS/docs/melonjs/Container.html#to2d"},"3sPGVH8Nv1pdfEIRlmAZE":{"uri":"/melonJS/docs/melonjs/Container.html#toIso"},"OzK-DjAi2t-_SLjEPoOij":{"uri":"/melonJS/docs/melonjs/Container.html#toPolygon"},"kqcL-Db4puK6hARfKpPz8":{"uri":"/melonJS/docs/melonjs/Container.html#transform"},"WTny6YFbFu_JZu5DteuZ9":{"uri":"/melonJS/docs/melonjs/Container.html#translate"},"ShaCYCUmnvPWQE3xzNgYu":{"uri":"/melonJS/docs/melonjs/Container.html#union"},"2qAYH4OkjAZj2FB7yMPYH":{"uri":"/melonJS/docs/melonjs/Container.html#updateBounds"},"KpBsRT9oMZ7JeejsH_Lf2":{"uri":"/melonJS/docs/melonjs/Container.html#draw"},"73-b1jPcrTb865nuneTTU":{"uri":"/melonJS/docs/melonjs/Container.html#update"},"C_g-IQjY92nyVKkpExOWQ":{"uri":"/melonJS/docs/melonjs/Container.html#onAnchorUpdate"},"ZGPR-hN_p27Ybwy8RbVhM":{"uri":"/melonJS/docs/melonjs/Detector.html"},"ASPUDnLfPNG9UebtjkrKG":{"uri":"/melonJS/docs/melonjs/Detector.html#response"},"YUgAln7bALRtScJocozKu":{"uri":"/melonJS/docs/melonjs/Detector.html#collides"},"3G7KnU3dLRCB-7s65zOZT":{"uri":"/melonJS/docs/melonjs/Detector.html#constructor"},"4ujt2vQBdGMRcNF9Ysd09":{"uri":"/melonJS/docs/melonjs/Detector.html#shouldCollide"},"I7tBe1Jzwj485CjQRw4ba":{"uri":"/melonJS/docs/melonjs/Draggable.html"},"sz1C7iSJfvNfZAy3S6HVn":{"uri":"/melonJS/docs/melonjs/Draggable.html#alpha"},"18LOXKwl8WpyWOCvi27op":{"uri":"/melonJS/docs/melonjs/Draggable.html#alwaysUpdate"},"W5TystW962EKFEbkdIMVL":{"uri":"/melonJS/docs/melonjs/Draggable.html#ancestor"},"UpMPv4eA-lyBsp1A48m4R":{"uri":"/melonJS/docs/melonjs/Draggable.html#anchorPoint"},"WEHCPqWf35Tw4CeDidkgh":{"uri":"/melonJS/docs/melonjs/Draggable.html#autoTransform"},"RqPLe1K3q6KgqmecwwgP5":{"uri":"/melonJS/docs/melonjs/Draggable.html#blendMode"},"94BoiaNlKdxwjPFn0mJN8":{"uri":"/melonJS/docs/melonjs/Draggable.html#body"},"u6fg7w71sqMzg_TIk3Apo":{"uri":"/melonJS/docs/melonjs/Draggable.html#bottom"},"BMZ6wUXiUSOFqOhAxO1uh":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerX"},"DhzvPYQSbdJa3hxFfx3Q0":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerY"},"y99SnYiSe7bvsXtUyOjRN":{"uri":"/melonJS/docs/melonjs/Draggable.html#currentTransform"},"7D6BUlJUSm_6zBUH2suLx":{"uri":"/melonJS/docs/melonjs/Draggable.html#depth"},"o5UraDPgvYrhZg6Js3wy_":{"uri":"/melonJS/docs/melonjs/Draggable.html#floating"},"OGOUH4L0mv9ljZVwPzZRS":{"uri":"/melonJS/docs/melonjs/Draggable.html#GUID"},"ReWWLMwm9_OHflxJ6IKNW":{"uri":"/melonJS/docs/melonjs/Draggable.html#height"},"UvL6wzeW_5_QD8eb606yb":{"uri":"/melonJS/docs/melonjs/Draggable.html#inViewport"},"YCYLWswpR9cDG0v1CaXhl":{"uri":"/melonJS/docs/melonjs/Draggable.html#isDirty"},"7w-H_jQydraBm_gMjL6vl":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedX"},"HtlUqn-gmtibq-HtgMUah":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedY"},"frMYcRYABjSq6SN8h8wJt":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFloating"},"OVrdXFH49uFNsgyxKqJME":{"uri":"/melonJS/docs/melonjs/Draggable.html#isKinematic"},"ORZFrFlFR37aLsmLvBeX8":{"uri":"/melonJS/docs/melonjs/Draggable.html#isPersistent"},"Xe3GsXAVOmPgsuDz5Jz83":{"uri":"/melonJS/docs/melonjs/Draggable.html#left"},"kAhvocQkV8KtjbH5qa9dN":{"uri":"/melonJS/docs/melonjs/Draggable.html#mask"},"KDt593BFKAgw43L9hb4VH":{"uri":"/melonJS/docs/melonjs/Draggable.html#name"},"XLTsUHyoWut47erLyOGlO":{"uri":"/melonJS/docs/melonjs/Draggable.html#onVisibilityChange"},"55IAuGlTChuJv8rzBLeTL":{"uri":"/melonJS/docs/melonjs/Draggable.html#parentApp"},"Y4B7kfX0N4oJBTB2SxfxO":{"uri":"/melonJS/docs/melonjs/Draggable.html#points"},"Rp5bYDWX-MgTt60OBA4-W":{"uri":"/melonJS/docs/melonjs/Draggable.html#pos"},"ThXiWWHda6lxDgQGtbUs9":{"uri":"/melonJS/docs/melonjs/Draggable.html#right"},"f7eZtqz-v6hIL1JW6pFbf":{"uri":"/melonJS/docs/melonjs/Draggable.html#shader"},"IGHEeQcIlTmBuvnUjAqhy":{"uri":"/melonJS/docs/melonjs/Draggable.html#tint"},"oGMPcWO7UsOe-ET3HJONA":{"uri":"/melonJS/docs/melonjs/Draggable.html#top"},"ccI8Zl8G6qJu2r4cKR475":{"uri":"/melonJS/docs/melonjs/Draggable.html#type"},"Tqcgx1uOxBEbmask2U3sh":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateWhenPaused"},"0jjGv95pIzNi_zsBKsV67":{"uri":"/melonJS/docs/melonjs/Draggable.html#width"},"cZx6ir5hvtkGxFMlnVaHK":{"uri":"/melonJS/docs/melonjs/Draggable.html#angleTo"},"sQciZgt-XoSWYn-Ih3Weo":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerOn"},"uxVFpkdAtsK3Kz-iGmat3":{"uri":"/melonJS/docs/melonjs/Draggable.html#clone"},"rpoDcjGpUaOAYs3FCCrUp":{"uri":"/melonJS/docs/melonjs/Draggable.html#constructor"},"h250ksumn_2uFmKgC32_Z":{"uri":"/melonJS/docs/melonjs/Draggable.html#contains"},"0v3Xx8BHko2kZqu88s6Xv":{"uri":"/melonJS/docs/melonjs/Draggable.html#copy"},"Oj-mJTOQCKVyRPVd8ud_5":{"uri":"/melonJS/docs/melonjs/Draggable.html#distanceTo"},"y49LmVnJfWbLEJbyoIW3L":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragEnd"},"RV2AgWH6u1DPw67nsxzVR":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragMove"},"pBhASEKKYpletWvkuKbOP":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragStart"},"dDCl5io_bwQUV1ck6GG27":{"uri":"/melonJS/docs/melonjs/Draggable.html#draw"},"MPpOyu-5pACmhLsXhqe98":{"uri":"/melonJS/docs/melonjs/Draggable.html#equals"},"q8hLvkqvdpkAs_xPwnd4K":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipX"},"2VhYnJgGdmZYWyf2Gt5lM":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipY"},"fi7U-C6ZeunUdF6QFjyC3":{"uri":"/melonJS/docs/melonjs/Draggable.html#getAbsolutePosition"},"V1LuxmRN17T3HyEz2wsJa":{"uri":"/melonJS/docs/melonjs/Draggable.html#getBounds"},"cUYzJQXBPzUhAW-PHFQAB":{"uri":"/melonJS/docs/melonjs/Draggable.html#getIndices"},"u1NU7xBazmgEKeY1Y6bXS":{"uri":"/melonJS/docs/melonjs/Draggable.html#getOpacity"},"EiREDtsYj_EuGsh8C3IJw":{"uri":"/melonJS/docs/melonjs/Draggable.html#isConvex"},"JZEcNUZZ_LLACKD4a5VkT":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFinite"},"tpzcqHLgIzmxCKqve7uoA":{"uri":"/melonJS/docs/melonjs/Draggable.html#lookAt"},"IhNRByuJOAgef5aQqbHMg":{"uri":"/melonJS/docs/melonjs/Draggable.html#onCollision"},"5gdhxep43K3D822U8Hes8":{"uri":"/melonJS/docs/melonjs/Draggable.html#onDestroyEvent"},"0HZHkAM2sRrVf9rJmBI2U":{"uri":"/melonJS/docs/melonjs/Draggable.html#overlaps"},"IQrVvqQQ_GAL7G1dLvRwj":{"uri":"/melonJS/docs/melonjs/Draggable.html#postDraw"},"mfLc4fpw9lnWW6qs0yI9E":{"uri":"/melonJS/docs/melonjs/Draggable.html#preDraw"},"uiTFe1Xit29BQk_xYatLJ":{"uri":"/melonJS/docs/melonjs/Draggable.html#recalc"},"CorPEx0L9WNe526rD8OyI":{"uri":"/melonJS/docs/melonjs/Draggable.html#resize"},"Fkpo8POeFjSJ1G3S2pD0D":{"uri":"/melonJS/docs/melonjs/Draggable.html#rotate"},"x093S6xRVpjVVCKfN5msZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#scale"},"PtPZ8SBXa71HjzcOx5LYk":{"uri":"/melonJS/docs/melonjs/Draggable.html#scaleV"},"vcdULyRlsgVGa1GAYjGOW":{"uri":"/melonJS/docs/melonjs/Draggable.html#setOpacity"},"KjzmL2JE4WBG7FWQIojaE":{"uri":"/melonJS/docs/melonjs/Draggable.html#setShape"},"CjCwkVQnMWhjLZbOP64AB":{"uri":"/melonJS/docs/melonjs/Draggable.html#setVertices"},"FvaMQfmoLPEm7QPQlnH6i":{"uri":"/melonJS/docs/melonjs/Draggable.html#shift"},"LlL021ZmNO_oPUSQhwebl":{"uri":"/melonJS/docs/melonjs/Draggable.html#to2d"},"AwO0wY77jPvViuWdAe3Cx":{"uri":"/melonJS/docs/melonjs/Draggable.html#toIso"},"ZzKRPKNjPUt_ZtQy3FRyI":{"uri":"/melonJS/docs/melonjs/Draggable.html#toPolygon"},"VaWrUKV1jlQxlFbUcPtcY":{"uri":"/melonJS/docs/melonjs/Draggable.html#transform"},"PPGS8BhRrp2mfEKflIxjO":{"uri":"/melonJS/docs/melonjs/Draggable.html#translate"},"Eul15xASJHQ1FfpUWtUpF":{"uri":"/melonJS/docs/melonjs/Draggable.html#union"},"Qy3lK69_a-e_DJ5ByNEDR":{"uri":"/melonJS/docs/melonjs/Draggable.html#update"},"ydYDoM9_DMJ_U_XXd8fyZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateBounds"},"F4O2YCo7suDecHSH2bzBv":{"uri":"/melonJS/docs/melonjs/Draggable.html#initEvents"},"G5N4puquQ890v8WiF0yNr":{"uri":"/melonJS/docs/melonjs/Draggable.html#onAnchorUpdate"},"TSoN4Bt8cMw_LnvDHG85q":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html"},"vRomU6ahAMd1iL0om64wu":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alive"},"sS8pJCTb7ylEwWCbMtYQz":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alpha"},"BMnkfIZ38hsQcWNEtFSCK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alwaysUpdate"},"F9zoBW-LJCPiPhrSD2DAj":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#ancestor"},"K6IDS6Vq96tPwp4d9n3jp":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#anchorPoint"},"-cupR6jNc720kCtxzYXm4":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#autoTransform"},"hkByAfF76CB4kXUzkgT33":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#blendMode"},"SynuliLXuayYxn8BdYvL5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#body"},"MRAKfiVR_PtF-cL6I_agn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#bottom"},"mVQQoGqo2gQ7z_U1svIMn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerX"},"qH7iyY_5_pJxhc7CAqq65":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerY"},"o3iW9M_pUhRFhNsI-XUtw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#currentTransform"},"6GhsfgUN2KNFYlh1JXnw2":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#depth"},"dPTFEIfRkJVsV3yBcgaGS":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#floating"},"DtTXQCTge3i98Cbettnax":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#GUID"},"SBrW1ysk1mQtxAE3ViNX4":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#height"},"WV4geJL02U__Rg30Bfvxm":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#id"},"laj6M_F1IfulSZDyDYsk3":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#inViewport"},"t05koUj6T7Gxt68eJIRcn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isDirty"},"P63I8jhNiz9AuEhTX79hv":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedX"},"hgbB1uy63o_PBOZTWKB4_":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedY"},"LsvEvetp2hhmEhdrNLdor":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFloating"},"4ktTaTErMdQ8EB-4S6t5V":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isKinematic"},"nIrnSMWxccTq3lFMDpbN5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isPersistent"},"CEJss16BbVxJoRM3M73v7":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#left"},"gwgWfDLdZICr36_0ueqOw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#mask"},"PQWya-iqD_ZzOmUnWyR6Q":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#name"},"vM2b2b9nGYok4h5_W1ejn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onVisibilityChange"},"oE2zo9Akrc7JhNU4oSbnd":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#parentApp"},"AsBAmKY-e9JyeZ9AZOO8G":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#points"},"jgN6cnUHngaptcwIIn5RS":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#pos"},"VClu_WstoDs2vTPxW6GNW":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#renderable"},"I9y8hh7UmPLa4kRn75-sY":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#right"},"47edyrEhNku3MmnKsU5qq":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shader"},"8tp_kPZQnRZXvqNPK1Zy1":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#tint"},"XVa7xMU1SkxzhWSfGNsZ2":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#top"},"xPkpDwvE0VgpW6GUDagU4":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#type"},"oQ6p8-8d36dJVe7Oj7ACz":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateWhenPaused"},"yvNCyqgiktUeMlrvhBZE5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#width"},"Fr6K2DZ0MvOBY7RaMMSTv":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#angleTo"},"fJNc-qap0SeBVAn8v6XUd":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerOn"},"p9LZCemoEcbVZNtmsTp8I":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#clone"},"t3pYYiCEgRhBu0s9vJBdD":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#constructor"},"dN9uHoMR3k6JdoPzvMgAr":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#contains"},"dCgrOlhVRAzpxZO1o6AjP":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#copy"},"Z2kil3CXWY1D-qnetZEuu":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#distanceTo"},"hZ-WOmDlGCxfEBQUmycoI":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#equals"},"wIpDPwyOpTHZpit1JbfFd":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipX"},"Ls9Umt0rIWk_2QZxb9B47":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipY"},"35hFnpDW9pufM8GSE2-Wh":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getAbsolutePosition"},"WdoTD3oD5RXHbz6FqzW21":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getBounds"},"kO6dNIe1YyEjPUFtExZGV":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getIndices"},"FKJYMz-ny7U0yN6ivX0VK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getOpacity"},"rT6Ra-yPtoSx4xowVBdF5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isConvex"},"HI5EwNqKa-6bI076RM0DP":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFinite"},"aKKqknvLyTYZ5FQ_y4qm-":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#lookAt"},"2b8A12w4LIOVuyF6oQS9L":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onBodyUpdate"},"5bXHi6pTcY6zMUW97-1I2":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onCollision"},"LYBWpzWJ0XRCWgAgQvvjw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDeactivateEvent"},"NJmDI5WcudeOGkXwRMr2_":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDestroyEvent"},"7bkUE36vvU0SHCOoiD_xV":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#overlaps"},"chm_06PgK9WI7DTPRLaWn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#postDraw"},"K3Wkr6QWGubRsW0wyxWG0":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#preDraw"},"XRbBv75ZYsnkBdjgZJpeK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#recalc"},"Y_XfJOKL_CEgejE41OTgk":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#resize"},"bpmzeX-8GT95SsrMI0sbj":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#rotate"},"Hilt5jocyslDNhzn7FLhT":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scale"},"o9L88GMXRVseiMb1mmwPK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scaleV"},"HFvjDNhZHBpUaVOm4X-yf":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setOpacity"},"-Zg7XFpQweABTJDecsdHQ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setShape"},"xlb_8lZWj42RpOmFzjkrk":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setVertices"},"gPlQ6UuJnQEwihp8ic7Q0":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shift"},"g_BY5SXMcoTqSREWNMtST":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#to2d"},"9-s-YdQ92V7G-eL1F2qBF":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toIso"},"ad-Lx9EbBLqF6OpX17TF1":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toPolygon"},"Py5shH5DyTiN2DIMWOxQZ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#transform"},"WbkbEEj-BH0kYBNwbJbof":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#translate"},"m-la_HSLlntlD35iir-19":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#union"},"cjqjzlw38odFwRh0iyiHJ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#update"},"Yr-myoL8MHJIQjazzBq7P":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateBounds"},"edYQhabXsqEZL0zbBNEOE":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#draw"},"9sMQpffXf8tzC6OVu26gN":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onAnchorUpdate"},"iQMFYOeperlmue3N9F4XX":{"uri":"/melonJS/docs/melonjs/DropTarget.html"},"JD1FGZPVq8VHUZGVFZ4WI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alpha"},"y18r2jB2-Fxq5BV8WK7H0":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alwaysUpdate"},"eBKLpXlq7v2D71-RiMzMQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#ancestor"},"Wwut59g7QenFRQaU3SLFy":{"uri":"/melonJS/docs/melonjs/DropTarget.html#anchorPoint"},"doOH9vQUYmGHaJZihdpWn":{"uri":"/melonJS/docs/melonjs/DropTarget.html#autoTransform"},"BMCJzdcF2459wlM_rBk8c":{"uri":"/melonJS/docs/melonjs/DropTarget.html#blendMode"},"FpHGScrXe1iliNjNYs6i4":{"uri":"/melonJS/docs/melonjs/DropTarget.html#body"},"FPedjDFbM7WBS-1ZFXhkS":{"uri":"/melonJS/docs/melonjs/DropTarget.html#bottom"},"Otos9MQinoKhXSZcKDIQA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerX"},"k_2DngaFf_cenYpLbMNU5":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerY"},"adzS9K87qomcCHhGd9lYO":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkMethod"},"QcBQC-bUwZbgqO-T4v583":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_CONTAINS"},"unL5DuwMqYO5J4CSntpw7":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_OVERLAP"},"Ol-vHMFceK18HrhYujYIK":{"uri":"/melonJS/docs/melonjs/DropTarget.html#currentTransform"},"irUalR52wvUXUn05gPc65":{"uri":"/melonJS/docs/melonjs/DropTarget.html#depth"},"w0PqBrj77_pXeSp9xQyRU":{"uri":"/melonJS/docs/melonjs/DropTarget.html#floating"},"Tma3Iz1aGBp9EmrPPvDwB":{"uri":"/melonJS/docs/melonjs/DropTarget.html#GUID"},"w6KkiBxa3hEw2Jga15PZF":{"uri":"/melonJS/docs/melonjs/DropTarget.html#height"},"QXPhIuf9_cmEl9gVTs_6w":{"uri":"/melonJS/docs/melonjs/DropTarget.html#inViewport"},"xeFFfvXgNQtqy3yxqekfM":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isDirty"},"JPYYuhXM8oHNTRBV_VIXX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedX"},"2UOtpnKifdhuac-BWEwSX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedY"},"7TYwsDZrY3cis_f5ERIDw":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFloating"},"W6R4kzUCfY_1Z0addcZeO":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isKinematic"},"nsxA24fn7dw-nPR6cL7sv":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isPersistent"},"tDHzPip2Lmxz8N9nHtcmd":{"uri":"/melonJS/docs/melonjs/DropTarget.html#left"},"BL-xkQ5w1VDJzAL0tNPUM":{"uri":"/melonJS/docs/melonjs/DropTarget.html#mask"},"rBKshQxC-V17P_iiiqJ6z":{"uri":"/melonJS/docs/melonjs/DropTarget.html#name"},"GkQ05QXlvlRJFDWK9X3_a":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onVisibilityChange"},"JkClXZUjQ__PxzkGTTpAD":{"uri":"/melonJS/docs/melonjs/DropTarget.html#parentApp"},"ZUsBXf0fNxaAhF4le9gAg":{"uri":"/melonJS/docs/melonjs/DropTarget.html#points"},"gpqN4sW4K7IenIUwmQi2c":{"uri":"/melonJS/docs/melonjs/DropTarget.html#pos"},"VW6s1j4M_5VCKp7_9LRX_":{"uri":"/melonJS/docs/melonjs/DropTarget.html#right"},"q4VPOV1g-BcK9rmHITicX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shader"},"a9YN1fsVTiVB3q3L_13xu":{"uri":"/melonJS/docs/melonjs/DropTarget.html#tint"},"utxOgF_vrVbtBQdY3u9Vx":{"uri":"/melonJS/docs/melonjs/DropTarget.html#top"},"EvSVSLVBJ2g0GQXTIIGBJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#type"},"zpeq7sv5hpi7KNa1WaBvA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateWhenPaused"},"0lZSQ16ilHfCA_AGfVoNK":{"uri":"/melonJS/docs/melonjs/DropTarget.html#width"},"ynWYszsaQppqtu8V_ZD-a":{"uri":"/melonJS/docs/melonjs/DropTarget.html#angleTo"},"Ed3j6DTvypb1lMhS6hCRa":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerOn"},"4cCDchd2d9UZm1wKWupwb":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkOnMe"},"6s256fuDROVd067ZrbLWW":{"uri":"/melonJS/docs/melonjs/DropTarget.html#clone"},"fY3nPsTG93kGgULQaRUoL":{"uri":"/melonJS/docs/melonjs/DropTarget.html#constructor"},"SpVDumKix_LCvkHkvH937":{"uri":"/melonJS/docs/melonjs/DropTarget.html#contains"},"6t-ROc3jsPD3s2-UwfqCb":{"uri":"/melonJS/docs/melonjs/DropTarget.html#copy"},"UtbSb74VfrPixCuGOsvkB":{"uri":"/melonJS/docs/melonjs/DropTarget.html#distanceTo"},"YWyuTAbMPp7yGip0E_vW_":{"uri":"/melonJS/docs/melonjs/DropTarget.html#draw"},"sFHuBxtkwb9aQgxusojDr":{"uri":"/melonJS/docs/melonjs/DropTarget.html#drop"},"R3Sw6QyLBMgi1iImvEtkx":{"uri":"/melonJS/docs/melonjs/DropTarget.html#equals"},"omk2TphHrOyZkfzskrp_9":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipX"},"InMmOGkm13NzCXnpQ29Mn":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipY"},"Yt5j5PHqSdNrTcd1_yqbH":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getAbsolutePosition"},"wGHtBMvE5qgas6ObPg2ca":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getBounds"},"_qdCqMYoxwRdPF7dJl7mA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getIndices"},"30klMyTRxjx8aVx3647jb":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getOpacity"},"a0tMelerivO7xjjTN1VOQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isConvex"},"k4X4PEhpOelByGjqhiLdc":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFinite"},"ydq6ItX4oxwlVi8sqYOVd":{"uri":"/melonJS/docs/melonjs/DropTarget.html#lookAt"},"FLDVuXw4fqj1EZC9Fop6Z":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onCollision"},"HKLuxew2I_oVaFRiVvi7e":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onDestroyEvent"},"_5BX8NrGxuT4jxUIB0WXw":{"uri":"/melonJS/docs/melonjs/DropTarget.html#overlaps"},"v1j5CUi2q3VLHBQr68Gff":{"uri":"/melonJS/docs/melonjs/DropTarget.html#postDraw"},"_NFSPvua9HQMYlr5FF7dR":{"uri":"/melonJS/docs/melonjs/DropTarget.html#preDraw"},"t2OpLbhhNSSL3u7zkPT0W":{"uri":"/melonJS/docs/melonjs/DropTarget.html#recalc"},"HRvHxGiq8sKLTWjo5q1MA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#resize"},"jBHgFE2xXFqE6O4oubgKJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#rotate"},"r3R0BSoetsDXs73GMMjjz":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scale"},"d7ItoJ_sA5E3r_CGrchl5":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scaleV"},"cTHy9tGpDiHYv_MElldAA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setCheckMethod"},"OsTQ57R1g_NdfLi81IQMi":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setOpacity"},"MGoykymbkFC2XD-CHhAgr":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setShape"},"W2Hbr5y8AX3RYScYVccPP":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setVertices"},"jLfYeg7fLdI6MWlmzV2VG":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shift"},"XHY8LPjyyxNGI2Nvron3Z":{"uri":"/melonJS/docs/melonjs/DropTarget.html#to2d"},"F3sr1pOPqCae3PejUsvxM":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toIso"},"DdvHu0x0qs4gT9_kxL-30":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toPolygon"},"itf2u649pxhJFziC2iRkL":{"uri":"/melonJS/docs/melonjs/DropTarget.html#transform"},"lbN-42MnQFosMDkJDgAzZ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#translate"},"C2KS9ojVasN6TSWYScFeG":{"uri":"/melonJS/docs/melonjs/DropTarget.html#union"},"Y1g979Yulu63TLPSkwwgn":{"uri":"/melonJS/docs/melonjs/DropTarget.html#update"},"3p5JjAcVc-NT14qJEHpcp":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateBounds"},"YNPeUUXm5E7VzFXTmoLyc":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onAnchorUpdate"},"lUOge6kq6iM0jXcxWy890":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html"},"6cqVcX4jEn-7mb-MlKjXT":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alive"},"v2JIzFK9wrSth8Z6EYOgl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alpha"},"vHOcw1f7QqSxWEwogAVd_":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alwaysUpdate"},"N3hag7hdcRVeXIUMdlBHV":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#ancestor"},"whyV87TJUlKg0FGCO3Fva":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#anchorPoint"},"cfIz7kzX0Bgb0D_fK9vMc":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#autoTransform"},"D8h5FuE98Wjihw44vYx6M":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#blendMode"},"AfP9lfKNP34atd-1FpITL":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#body"},"mOAht6GxeypuOinEFLpAX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#bottom"},"YX5yfltDSXIjxniWBPSh8":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerX"},"qIhiyCffvglaNyuk2KsT7":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerY"},"Bf848DnVIyyXTtpzgKjJF":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#currentTransform"},"S4Agtc32hoEeyiDyAM3Wv":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#depth"},"ZAk2gnVP-EBmgSNVOs_yd":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#floating"},"eZw6oCdc5ZutXtiRRJlVM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#GUID"},"afrvHEeFCDj1fkZIaw2Bo":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#height"},"zIAR8MQrg4OnRPc2BVX1Y":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#id"},"H2Eq7U-zOlhgsK_XevY7k":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#inViewport"},"OAQydWkGfjyA7SsNNdQpz":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isDirty"},"uOluTDzUVA-7d7lIptVzR":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedX"},"H8tbbpdkk2jhCJ0Bs7nST":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedY"},"8YTkz3C_16LgXJAWaHzJA":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFloating"},"BDBurDgEaDCk2YkEWKONt":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isKinematic"},"XZ2s-iITp1VOP0AALtsWR":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isPersistent"},"MZZeb6UMDB_nLuk6oauqh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#left"},"p985lovThPEe2-ujymWbp":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#mask"},"wGwjyVr7o4-anlqjHH_uq":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#name"},"B5YqjWl23XQX3miiOr18F":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onVisibilityChange"},"ZeoQ-HtgkcRL4A87jXbGm":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#parentApp"},"iCzGYcn5cGDCq_PsC93Ld":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#points"},"Pz7QsaUUMwhFfzIlIc5BR":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#pos"},"hifMETETQ0UD1BjJ7zXH-":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#renderable"},"CwEYjD5q0gqzeaUXdjQzN":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#right"},"x9wHC-M402OSO79f2J1cP":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shader"},"wp2b04eBp0tW9xgy2WMHc":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#tint"},"ixjwvoSs8F9mQHEdQsXsN":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#top"},"UVrUlOwZfRB8A3TPQ6bTz":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#type"},"oC_Ck71AgBL69j4_8nQgM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateWhenPaused"},"LHaSXgFGpuGs7Mi-TCrvA":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#width"},"jIRWvjS-NVHwPnQAgjFT_":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#angleTo"},"wOql6ggplkDbbr5UqV3CE":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerOn"},"wHTF72YT_JYqmDz5Xdq7R":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#clone"},"H_hwbPI9VylNu2Al-EBjz":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#constructor"},"2nSDOyBlYPpkbcaWYkSvT":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#contains"},"JKg_Ct8rncKsI1Ob9Je-S":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#copy"},"l15iiVyJr9FgRZzZ9QqVM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#distanceTo"},"bc5I7qRl-AqMk1023LT_K":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#equals"},"yMEDFnpmg6o5wVRNG_7uw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipX"},"rrmo7py6yoBcXJmjKl524":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipY"},"UF2WFZjCwwCMTY7los_m5":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getAbsolutePosition"},"Wy6KBzPi5V1eXREWqP-II":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getBounds"},"Jbqq2OBJ2qJkZhdagKRZj":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getIndices"},"-tBJBpYYPUZkOkyilyxBT":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getOpacity"},"iV4KVdPEt9hkaK2UUuKDz":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isConvex"},"tNz4t4I_ukcPJfSEBQOgu":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFinite"},"S6LjNb8StVX-1UA87wGWM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#lookAt"},"JOX_yPtVDjZcZhT3_YeG_":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onBodyUpdate"},"eEsCVg6IFKTj4GPhzpnDE":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onCollision"},"qpLtU1XgIhMk4SIugypUH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDeactivateEvent"},"FbPWLZ1zSeYwi4SdM9Azr":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDestroyEvent"},"J_SkzoHCBRwL0iNua_swC":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#overlaps"},"ihNET2vAoxWTWvggAAiRE":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#postDraw"},"hG6S62E3viEPk-2qO0hIQ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#preDraw"},"eHKCNLnXQDgj_-nDCORz3":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#recalc"},"b0UZFUcBJD2mpEI0p5x2C":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#resize"},"MUOZ5zu6MawKKY6jWZKqx":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#rotate"},"WqZivhL9gId3kzegQiaYX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scale"},"-tj3tPlH5KpwsptfVTSs8":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scaleV"},"1TlVj54PoWTFdDkPYP-GO":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setOpacity"},"8UmW15s9TkVyo1gQBECl_":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setShape"},"R0gRPHGPxUFyzrEoizZvy":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setVertices"},"f8DBvOKMF3INV-2i7QZpD":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shift"},"f81BfoZvJZJyKHKYFRHoy":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#to2d"},"M9XbHhpuEanB8F2rVw9-3":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toIso"},"uinwMA0aprCVl9pBCtryH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toPolygon"},"HnxopiFSoeyQVn3GxH087":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#transform"},"8LANllLzZ9vm8-73MF9Hi":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#translate"},"UgpMcE4XfFiewNMDd3we5":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#union"},"wW375FohyBjPxSF5MPHgb":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#update"},"QxoTRVnhYb3txXCgbWXkp":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateBounds"},"LZf09_dKwTVqscOJS-suz":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#draw"},"t9CNo6Lkz0RLURqJJMkRv":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onAnchorUpdate"},"62vG0VM-OtZQDFpjoS954":{"uri":"/melonJS/docs/melonjs/Ellipse.html"},"tbYb5qYpoc3wMvfZwgJ53":{"uri":"/melonJS/docs/melonjs/Ellipse.html#pos"},"Klrdqec3uVrcOAleQRW5-":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radius"},"KSTZvkZ4MI4w2rpKVo9E1":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusSq"},"sloNCfa1jBcTRST3SN9UI":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusV"},"YMso34I-Z5UphWK5j1WTW":{"uri":"/melonJS/docs/melonjs/Ellipse.html#ratio"},"YfOtxmE0hLQ_1c9z1gllE":{"uri":"/melonJS/docs/melonjs/Ellipse.html#type"},"7NFG4pR7r-7Js_GGxpZbW":{"uri":"/melonJS/docs/melonjs/Ellipse.html#_bounds"},"MU8SoCWJPOQy3iQfJw2sT":{"uri":"/melonJS/docs/melonjs/Ellipse.html#clone"},"ZgdaQLSpSRhU-_SYsLYOI":{"uri":"/melonJS/docs/melonjs/Ellipse.html#constructor"},"az4o6BgYc6VFvRsgmOarH":{"uri":"/melonJS/docs/melonjs/Ellipse.html#contains"},"71I0ZAci-DpTCJADQCL77":{"uri":"/melonJS/docs/melonjs/Ellipse.html#getBounds"},"VYSFzTv1KlDNUokEXq2qI":{"uri":"/melonJS/docs/melonjs/Ellipse.html#rotate"},"FLjkU3_10GLHTFkgY9-2h":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scale"},"1z5GdMmds2pxyP6R9bH0S":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scaleV"},"YvksA7H_xO5yWI4NSpM6Q":{"uri":"/melonJS/docs/melonjs/Ellipse.html#setShape"},"5VZY858W_I7KfOenRbXwo":{"uri":"/melonJS/docs/melonjs/Ellipse.html#transform"},"C5U3noMN-G8O5tYc2uR7m":{"uri":"/melonJS/docs/melonjs/Ellipse.html#translate"},"YpMQoqmaTVoP-aRgH8_qg":{"uri":"/melonJS/docs/melonjs/Entity.html"},"bqg-VM1l_PAU_iXPYReKA":{"uri":"/melonJS/docs/melonjs/Entity.html#alive"},"ro1uVjTFQo71P87xgjY4z":{"uri":"/melonJS/docs/melonjs/Entity.html#alpha"},"_cmMbR2fmB25AP7hy2btg":{"uri":"/melonJS/docs/melonjs/Entity.html#alwaysUpdate"},"_IcogyuiLRH1bI0ikvOXM":{"uri":"/melonJS/docs/melonjs/Entity.html#ancestor"},"hF8FMqL8xkrYgYplqwWbn":{"uri":"/melonJS/docs/melonjs/Entity.html#anchorPoint"},"rUpEM8vAhnFKUpg3e9QaW":{"uri":"/melonJS/docs/melonjs/Entity.html#autoTransform"},"uBI2hDOMIO9KnibwgfhnL":{"uri":"/melonJS/docs/melonjs/Entity.html#blendMode"},"ztWaZTqWZUxqN3DBzME9d":{"uri":"/melonJS/docs/melonjs/Entity.html#body"},"-KQDoJddZEUFLqST-HxgG":{"uri":"/melonJS/docs/melonjs/Entity.html#bottom"},"lpe7NzYTtMvO-QCmHytpN":{"uri":"/melonJS/docs/melonjs/Entity.html#centerX"},"mSD01fdobvVSHJ3Vb11PX":{"uri":"/melonJS/docs/melonjs/Entity.html#centerY"},"TWsAKQ3Wi_I-t1d49AwDD":{"uri":"/melonJS/docs/melonjs/Entity.html#currentTransform"},"gV22omFvcAc--5dVN7Nzl":{"uri":"/melonJS/docs/melonjs/Entity.html#depth"},"lnLpP-lrawC6CGNwGETSN":{"uri":"/melonJS/docs/melonjs/Entity.html#floating"},"t7l38ZIT0UZiX143tPrCz":{"uri":"/melonJS/docs/melonjs/Entity.html#GUID"},"WhFC3O3klsIgs-FU4skty":{"uri":"/melonJS/docs/melonjs/Entity.html#height"},"QYdnl0qzCpe0_Q5bNhEgi":{"uri":"/melonJS/docs/melonjs/Entity.html#id"},"ke7WWBfmMrcVAlUL7eO5w":{"uri":"/melonJS/docs/melonjs/Entity.html#inViewport"},"4gKzgksJOnFN5opeBukEY":{"uri":"/melonJS/docs/melonjs/Entity.html#isDirty"},"1QOfRtdq7MkxJ-GEQ6XYF":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedX"},"Sid7lbxIgWJWtlC65ZaGB":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedY"},"m4npIEQY6ZNzxqfQyumkB":{"uri":"/melonJS/docs/melonjs/Entity.html#isFloating"},"kYsGvPHthQ_k3mwdAXmhP":{"uri":"/melonJS/docs/melonjs/Entity.html#isKinematic"},"F_mJCE01n83EJ0FCBfD9h":{"uri":"/melonJS/docs/melonjs/Entity.html#isPersistent"},"wjGOHhD02__EEQJK9RChX":{"uri":"/melonJS/docs/melonjs/Entity.html#left"},"bGoyvHmJ6ilUDYp3grO2l":{"uri":"/melonJS/docs/melonjs/Entity.html#mask"},"XmxyfvTJltFiQogs5-fBl":{"uri":"/melonJS/docs/melonjs/Entity.html#name"},"xgX-84Uh821h6bQi7-cSX":{"uri":"/melonJS/docs/melonjs/Entity.html#onVisibilityChange"},"v9q0t3nju9EznDH2m-ccB":{"uri":"/melonJS/docs/melonjs/Entity.html#parentApp"},"Jwa9O5yPNuA804OY1FonP":{"uri":"/melonJS/docs/melonjs/Entity.html#points"},"pSP-harAMB04NwzhYR2oz":{"uri":"/melonJS/docs/melonjs/Entity.html#pos"},"T1RwMwvV9YDiwxATT77lg":{"uri":"/melonJS/docs/melonjs/Entity.html#renderable"},"FZr1VxWlIStweZmfVODYD":{"uri":"/melonJS/docs/melonjs/Entity.html#right"},"ZaSbTwDcdngVzzwO3732D":{"uri":"/melonJS/docs/melonjs/Entity.html#shader"},"98Uj7cnMo8O7AomLcR4dw":{"uri":"/melonJS/docs/melonjs/Entity.html#tint"},"wp6g-X-77js18HOuvlRK8":{"uri":"/melonJS/docs/melonjs/Entity.html#top"},"7_DbUa0zRANDbJBO4vMyg":{"uri":"/melonJS/docs/melonjs/Entity.html#type"},"le9Dcf5X_IJbK6XVtXs0-":{"uri":"/melonJS/docs/melonjs/Entity.html#updateWhenPaused"},"6zW0pCa4N06N_t_4qthfG":{"uri":"/melonJS/docs/melonjs/Entity.html#width"},"x2keBUtcwllGC5eWnrCOQ":{"uri":"/melonJS/docs/melonjs/Entity.html#angleTo"},"m8gxqO18j0CT1mJtzmDRC":{"uri":"/melonJS/docs/melonjs/Entity.html#centerOn"},"q3-rYTTuIOpeijpURNcv8":{"uri":"/melonJS/docs/melonjs/Entity.html#clone"},"4M4zIf7mH1QV5rIz3dhqX":{"uri":"/melonJS/docs/melonjs/Entity.html#constructor"},"SXFtPS9O3crRtjErnTgvU":{"uri":"/melonJS/docs/melonjs/Entity.html#contains"},"C7qoc5jidWdUGqMsRAYa8":{"uri":"/melonJS/docs/melonjs/Entity.html#copy"},"9A1QGLNj67fjiedveacwb":{"uri":"/melonJS/docs/melonjs/Entity.html#distanceTo"},"nL8qYMrbcTAt5Gc-2lz3y":{"uri":"/melonJS/docs/melonjs/Entity.html#equals"},"BFSCwCOhDAtMHmg2MXfzU":{"uri":"/melonJS/docs/melonjs/Entity.html#flipX"},"crML9ErCi7un5s8dxBLMI":{"uri":"/melonJS/docs/melonjs/Entity.html#flipY"},"z0uSg5iaIpLtBUL62KKDv":{"uri":"/melonJS/docs/melonjs/Entity.html#getAbsolutePosition"},"ux4c49bG7aMgMgpVV_xsE":{"uri":"/melonJS/docs/melonjs/Entity.html#getBounds"},"PMHXShCzBv5vOaFckIyXF":{"uri":"/melonJS/docs/melonjs/Entity.html#getIndices"},"eA186o35iTO0r4ifeMV7L":{"uri":"/melonJS/docs/melonjs/Entity.html#getOpacity"},"XMC5vlp9IR5EA2Elw54uq":{"uri":"/melonJS/docs/melonjs/Entity.html#isConvex"},"LMdStydH70MikdF3MXR4O":{"uri":"/melonJS/docs/melonjs/Entity.html#isFinite"},"zj3fNL2FIAC7IZG6HrPuK":{"uri":"/melonJS/docs/melonjs/Entity.html#lookAt"},"avuGAMI7rmiWy7QIHqPc_":{"uri":"/melonJS/docs/melonjs/Entity.html#onBodyUpdate"},"JP8B-FruzaesePp0txyYF":{"uri":"/melonJS/docs/melonjs/Entity.html#onCollision"},"onjOtWTp9_jwvkDvLr2lm":{"uri":"/melonJS/docs/melonjs/Entity.html#onDeactivateEvent"},"u2t8mXOTKz_Ts57AhaulT":{"uri":"/melonJS/docs/melonjs/Entity.html#onDestroyEvent"},"nOEjSd7TSL4MEpVAiWQcX":{"uri":"/melonJS/docs/melonjs/Entity.html#overlaps"},"PRr1VWT1Nviz2W3PjJlBu":{"uri":"/melonJS/docs/melonjs/Entity.html#postDraw"},"3--ctwe9khAu4iOWVigHL":{"uri":"/melonJS/docs/melonjs/Entity.html#preDraw"},"n8kg83YQYVv_9PeBC2rBN":{"uri":"/melonJS/docs/melonjs/Entity.html#recalc"},"HNPUknuUu5n0LHBpopA2b":{"uri":"/melonJS/docs/melonjs/Entity.html#resize"},"50qlwECBN6I3gH95xub_H":{"uri":"/melonJS/docs/melonjs/Entity.html#rotate"},"bpXCRZyV19fAhqgRTtLuU":{"uri":"/melonJS/docs/melonjs/Entity.html#scale"},"1GBnH7RFTAqoMDDliZbfT":{"uri":"/melonJS/docs/melonjs/Entity.html#scaleV"},"oQW84KZs6p9MXeMyKawQq":{"uri":"/melonJS/docs/melonjs/Entity.html#setOpacity"},"786nt8uOQ2LfhAxcaEZ2_":{"uri":"/melonJS/docs/melonjs/Entity.html#setShape"},"8LPJ6FhwIuPd53dcTo1g-":{"uri":"/melonJS/docs/melonjs/Entity.html#setVertices"},"yBttirozcViwNkngTFKRO":{"uri":"/melonJS/docs/melonjs/Entity.html#shift"},"LaC6HnSRPfoYkKyXyc0FR":{"uri":"/melonJS/docs/melonjs/Entity.html#to2d"},"B_puFoijzPxhrvDQ7FtQq":{"uri":"/melonJS/docs/melonjs/Entity.html#toIso"},"Yi1_q3QzlHWALYcWF5Omx":{"uri":"/melonJS/docs/melonjs/Entity.html#toPolygon"},"m1ncL7we7ip_FFX5Z4w5b":{"uri":"/melonJS/docs/melonjs/Entity.html#transform"},"8CZa0dP0SXfvXBlgC_b8m":{"uri":"/melonJS/docs/melonjs/Entity.html#translate"},"CT8VXw5bYLx1HpzRa_3d6":{"uri":"/melonJS/docs/melonjs/Entity.html#union"},"tCkxHouUCTxTFIX-7hv2J":{"uri":"/melonJS/docs/melonjs/Entity.html#update"},"44QXLbOQiagEc5GXpn7AK":{"uri":"/melonJS/docs/melonjs/Entity.html#updateBounds"},"ZsTNJnrIjb0gawSZrhuSE":{"uri":"/melonJS/docs/melonjs/Entity.html#draw"},"jr-ZOqX439mXo3UsLc1Dy":{"uri":"/melonJS/docs/melonjs/Entity.html#onAnchorUpdate"},"qXGNd_4YvoU2HFmUxdW5Z":{"uri":"/melonJS/docs/melonjs/GLShader.html"},"1TxjXUTv6BWvITsIa79Up":{"uri":"/melonJS/docs/melonjs/GLShader.html#attributes"},"us77wEAeawdh5r0mEZP0q":{"uri":"/melonJS/docs/melonjs/GLShader.html#fragment"},"n789S2RqXypv1YtftjqfA":{"uri":"/melonJS/docs/melonjs/GLShader.html#gl"},"lxvCDDjB_bQVKhMRt628i":{"uri":"/melonJS/docs/melonjs/GLShader.html#program"},"SCPPiX-9bkwNVVxHumBGy":{"uri":"/melonJS/docs/melonjs/GLShader.html#uniforms"},"dDfcqEMrdXUzs_Xs-8Tps":{"uri":"/melonJS/docs/melonjs/GLShader.html#vertex"},"S5WftMhYg1pBjLAChu4Bl":{"uri":"/melonJS/docs/melonjs/GLShader.html#bind"},"E1vT7PRNFiMEIrF7btHjC":{"uri":"/melonJS/docs/melonjs/GLShader.html#constructor"},"7SsizvrV8LOC7TM_bweSu":{"uri":"/melonJS/docs/melonjs/GLShader.html#destroy"},"RGVcha1rywnQCBV580A5z":{"uri":"/melonJS/docs/melonjs/GLShader.html#getAttribLocation"},"vMIS6wBewADsj5LhrDYDH":{"uri":"/melonJS/docs/melonjs/GLShader.html#setUniform"},"o3iT_bHdw2d5eDgBcdmW9":{"uri":"/melonJS/docs/melonjs/GLShader.html#setVertexAttributes"},"vpszRFD8ZWnBBuThrAYNL":{"uri":"/melonJS/docs/melonjs/GUI_Object.html"},"q2KsY1ewVxgqLieKuNMQE":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alpha"},"5VAeG0CMw4IiPcfb0Eonh":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alwaysUpdate"},"Xq64Ue5cZHpxdBZTDCOJC":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#ancestor"},"FNKOCW7LtFwJG8PBSWi5V":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#anchorPoint"},"VOUe-9IksHKtVGwq5dqoI":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationpause"},"qA8_BC4R-f9hgvZUz7z0j":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationspeed"},"J0Tv6s_W_bc75B_WDE_il":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#autoTransform"},"clfv2mMHgKUDa9oJnXaq8":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#blendMode"},"iqi-YGpLxWJWZAMjMfxvx":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#body"},"sZEhxAEkmnS9I-DY4aACo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#bottom"},"XCZNLpx5krrh34SsdXH4r":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerX"},"bRqdhvE7QpkyDsED5XMie":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerY"},"yZbZAdojZ8ekkLUwoIqYz":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#currentTransform"},"2XlxGTtOBDUUlhv_fkjLI":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#depth"},"EQXfK-8PL5zHae3O2LnZH":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#floating"},"tfX-fEHSPn3WXWd_lPsCb":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#GUID"},"1uZBGkaUvENoH175y6H1j":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#height"},"ToI4ZJqWGpUlBM-suvHg7":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#inViewport"},"lubn8lVOKHg7M317F_Fce":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isDirty"},"TYKBd8eC8i6h0nbZ1hgld":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedX"},"yYfTHr5ysU7qYNHpIQ95n":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedY"},"VvQF4e8zgPICh0qn3qMfz":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFloating"},"1eyjPH0ijBjeVTLXtxb8n":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isKinematic"},"IF1C5pX1k3OUxqJl7XtR_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isPersistent"},"uGh2sfFHR9VgDez5xQprh":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isVideo"},"NkGtH42R9V56e4nfMeAGK":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#left"},"LefijSw9csrpusyAsdsxg":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#mask"},"EqN-UjkaiIFUGn11aXKJF":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#name"},"zTRV17h-i13nQhP9Q8dYK":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#offset"},"Vyrh8n6qmM6Q6I6hXaLur":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onVisibilityChange"},"UeMQE-7DCOmATOFTml3za":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#parentApp"},"KZM-cM_CkXk08RtslmefC":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#points"},"KtOPswZkUfkWY3PWPCWKx":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pos"},"2OUmrKAkcuUsLWkPloJq7":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#right"},"5HaBlRKIkVkk6m42WdcHG":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shader"},"2OVWG6RYdt097a8n5h-Tg":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#source"},"MGg0dUduQHJF5a7PVNzE_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#tint"},"DdsDiT-WYeVrWeQ0zxk43":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#top"},"CKIbRAYvGAGinmDMR5rKA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#type"},"fkYvvr5xpJaDe_TgddMrU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateWhenPaused"},"PbmG7Gz43AxIvBdfL6DWf":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#width"},"vIdi5x5hjjwkNV7f5xaiK":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#addAnimation"},"TZRZcTSKtT2Jar8MZNOJp":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#angleTo"},"r6wSJfeNP4JnmBEVyNcm5":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerOn"},"tuk_9AGqczefty0Ie5EMo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#clone"},"j5Es3z8ldqIPctGazTKha":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#constructor"},"QmNkCcKzBGvixwllZtzXi":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#contains"},"g8Sh4l8XYzhMiQyoxPTKU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#copy"},"jI2YIX1orG6A_M5aOiCxc":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#distanceTo"},"PkOg_nbT78Gf641PKUx3S":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#equals"},"du9oRuclD1CLMzkzSd7PW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flicker"},"eTL21p1MkVbRofDwVd66P":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipX"},"_d0Jx0NTKt4TnwQd16Jql":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipY"},"987aZb2J_3BguGwPLzSof":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getAbsolutePosition"},"YUdBGCkqg1DZkejUutxIu":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getBounds"},"IJsDzbKx3Hiba_H7Pe-Uh":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getCurrentAnimationFrame"},"3OHTL9Op3p9MI8Yvp2Xt3":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getIndices"},"07P4kBJu1h9Y3A7dkl6ey":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getOpacity"},"_I0br3YW7_IAJ12u_kZfg":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isConvex"},"PA-RBHGMhoF9X8jOSiKQE":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isCurrentAnimation"},"z7Dg6DY0Yw2Gdn3ZU03vO":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFinite"},"P3YPlTTy9gcgvLtSb8krq":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlickering"},"lkS95nnqzdScZW-mJlI68":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#lookAt"},"QsaJbDLUfKjtVhMwHQB4i":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onCollision"},"-w1sffbADK1JN_KTL9laG":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onDestroyEvent"},"s8eg-_9c3ZVH-ocN8GB1F":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#overlaps"},"WIq_8spC4WKfXbL1nrw6C":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pause"},"Hrzs5zjeGu_-lMobQFzxm":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#play"},"OrSbmy5zX6MTIBFiGjTZC":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#postDraw"},"h_afFp9k_UNt-aPD33BZK":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#preDraw"},"AOkqr07VWzRH5VJ4zP9Qp":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#recalc"},"xGqmFchlmRsdDwHm1P8gr":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#resize"},"vAdaUWqvbB4q0IdGcbYo3":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#reverseAnimation"},"bmTmnwrIT0lYZwBKqoeiW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#rotate"},"uO_nAUIJ8c5lqxgq4RpeH":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scale"},"578hprLm4ccrEjYM8xSwQ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scaleV"},"VRlxW_jaT7R9isX8W2S70":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setAnimationFrame"},"Ekpgk_mnvnguiaQ33_SvS":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setCurrentAnimation"},"p6PDt0MIE3tP1A0JAF9fS":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setOpacity"},"FfTmM_vv8HywSABRiJZhE":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setRegion"},"3RMVuReHKaf10iw03zsYi":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setShape"},"TQ6vC558HztVlA7TVLcpF":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setVertices"},"_Zl1MvK5QKiECcnf1UVjW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shift"},"UCsyTJfijLYUtRg_3zW0f":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#to2d"},"CjWaYXjS_dwO8FlZe7Jbo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toIso"},"K-4Ryxbdw-fwyY4HzfkUn":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toPolygon"},"HgX8_oiETy8G-XxW84ddN":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#transform"},"ZokUGqkPDDEJXGNlZ_CYb":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#translate"},"DyYivsnO1esA-SMYWQ1vD":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#union"},"L5uhYTFJeld9haXUcJswd":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateBounds"},"DZLcCuad8RMib-ql3qAkj":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#draw"},"wPOCoAcHg7OGfXVyEDv-p":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#update"},"dTSlBryiStQ45xhXGGpeq":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onAnchorUpdate"},"4Wplzr3j0_82u2xB_-ZSL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html"},"PcRjNT7o3WZtI9SCLdlqh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alpha"},"nTK9BNH4jENyoStX7lxYL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alwaysUpdate"},"oMKipEaH7P-NdwrGpij2h":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ancestor"},"wBgMpX4kda6simpj3SsNi":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#anchorPoint"},"T9Nl2ZZtPJ9kz3F_vzsBY":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationpause"},"mkNMeCNO6l2K1EgQqUxo7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationspeed"},"MNcey5xZCGZHs2wfZSNMf":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#autoTransform"},"q9n4AyLqKJ2_rB0PZ3Qfg":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#blendMode"},"W4BKBcwC9VT6iKEiAQNsd":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#body"},"YTgbN04KQXQV23J0sGRfh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#bottom"},"-qlIxhBbJZMZ9ejQ6mXsx":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerX"},"SeT4VYF86gAUGukInek9_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerY"},"lJY8yY4SANZvNLiHDO-yZ":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#currentTransform"},"u9t9_MaWT9l8KDRH5XgCY":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#depth"},"X99WMs9Ye8RPwJ-t4TK5s":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#floating"},"5FzuFIhHzc-Pv17cRZBwx":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#GUID"},"LsJLr-fdyrDo4udRjmTP-":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#height"},"2UnleK7RY438PRH8ZGWZ9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#inViewport"},"CoFboymerWOBSC0QJ08QU":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isDirty"},"DDJWTFjnMIGvoHkJiiM3c":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedX"},"IIKhZVhf1fl0UnUqjy2hp":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedY"},"psdq0SfZUS_TBdd0QLYHp":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFloating"},"kAaiFyQWHjUjvTb5Z2BPi":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isKinematic"},"CiMwTahRXs-Jc61i3Zbze":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isPersistent"},"whvzAzeY-2EL_rn7CPjP5":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isVideo"},"0cRvsnT6Bei5SBWNiiy3h":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#left"},"a5SEePNr1BJGj5IJmAGBb":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#mask"},"C4cr8XcChqkCZdIC9pFtP":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#name"},"J8fc8GM20Kpp0hKs1xfDR":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#offset"},"bp9rwQ3qVmNAa2AgJj_gX":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onVisibilityChange"},"LZYenbFMWU1gkHIJiEAMy":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#parentApp"},"wlpufCu9Xo1hVsB9OmoBM":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#points"},"2Ga3coLzTUuSIh9xAjDbh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pos"},"rKWeRzwTW1tGli6wTWvRb":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ratio"},"wO_Iljr_KyLhD93TVOlN3":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#repeat"},"BCD7Nef8ESdWhjVQAOlgF":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#right"},"M2U-z907qw9b1jEYoWZ2_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shader"},"uckVGpBB80t58J08pxb4G":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#source"},"YVVy7TbAaLr1wlExrRzo5":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#tint"},"kRbCuHbZjg4s4RGqSws6S":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#top"},"g_1_BxAvJfEX1U5KSVmW3":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#type"},"YUrHXpKvL9El2eYNQuM5l":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateWhenPaused"},"8l6indHwX_KY8aXgOa2GB":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#width"},"OjtiGKkMzLSHlZCpzcdYk":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#addAnimation"},"6CKw_f98HyF8kDNVLCHQP":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#angleTo"},"LRq0FvzGWaUt0An48jmO-":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerOn"},"JrDbPxBPfqQYucz9f-B7H":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#clone"},"isEFPq5lTveX0e53CXmHM":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#constructor"},"_z6zXnhZN_7q88C6PzwX9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#contains"},"77cgmmATSesGopXJWGyAz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#copy"},"uBm66P6PFzCtLJlCqcJfU":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#distanceTo"},"tCurjB020R8HJBEENZ5tg":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#equals"},"7ufaP1aoJ1nwtfkhHS_Ok":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flicker"},"srChAaot20sQpvCzWrXFH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipX"},"LYAQs6pBa4kuPPTFTnLV1":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipY"},"V6zjwfdzrFG369D-CEFP1":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getAbsolutePosition"},"t3MzKsQ76xQ91JgxawXNX":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getBounds"},"hFEoz1w9mgLzpYdLZ6Mmt":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getCurrentAnimationFrame"},"JXiw6k92xXPdHZ-seM2tl":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getIndices"},"i3MXNeOIYcZCdSoAeMuzP":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getOpacity"},"jrz7jKMkFDI7qj8dxAzrD":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isConvex"},"-7ZQ5iY7CmkY2GUUW4RK-":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isCurrentAnimation"},"881qvQpmWtwK8ZOIhOMNe":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFinite"},"6Fkn80GtS9n4Nwa2JGjk0":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlickering"},"8770W2V35s2c6k5gidFeF":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#lookAt"},"QA7-ap7MJJKhKQ7GUwhZh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onCollision"},"_s4QtHw0ClPepGA__hJ6g":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onDestroyEvent"},"UFftMs46jCF7ihGHSeIOE":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#overlaps"},"oq_nCTnSbGsiNqPSPm42d":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pause"},"OWUL3cVSQ9IZdASpsHLyK":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#play"},"RUmLBxNzG4c_7GSJjfo4V":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#postDraw"},"4MeWCYAJ-4emi-fhEsGcs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#preDraw"},"3HGN19eQncRE-oQ9u4WIy":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#recalc"},"1SURbvRnajXGJ6SkVq0ZH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#resize"},"eREFg3cec7fjnUVLCD5BP":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#reverseAnimation"},"Hcf-LyeCFVaMoCmtkLz07":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#rotate"},"mkbCvUUlLSuF-k8UH3v7u":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scale"},"6bvj5BB4nkOPMjcFqAzZi":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scaleV"},"gOgy5n0uYJ67iGIKcI5JS":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setAnimationFrame"},"8Dmb8eIIe9Kozi2ecDuS3":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setCurrentAnimation"},"WDK0qomz_hsFUg5QgnBQf":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setOpacity"},"WpDOs3LmaEFDQeYujKtP4":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setRegion"},"99ud22ebSJvriaNrRPsOW":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setShape"},"aNYYWGQwtBS33dTXl7zDl":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setVertices"},"Jt4g4yFjnX2sOc83cn0IR":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shift"},"OtjDLnZgI4sps7sgAtCrw":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#to2d"},"iZLWFegtycpR-0D7lKLLk":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toIso"},"Mla7SdO6u1KFBE2SdEvvS":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toPolygon"},"_dmjINIJ_EVqxyITjBvVM":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#transform"},"noCGRn0A_irT4v_YezuH_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#translate"},"kVma1S5ZyupHdeeCFOo2d":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#union"},"HsBHc3IRGQ38OKurbbDfH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateBounds"},"lIDtUNEodr5oSylhKMtBQ":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#draw"},"DLZZjnytnoEuva1SqF0OT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#update"},"6K2YzPqVY95JpE2d8cZQg":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onAnchorUpdate"},"DYMPUfYJaPlEcoZjQIvFf":{"uri":"/melonJS/docs/melonjs/Light2d.html"},"RebgYvrCfpzv51d_ydzG9":{"uri":"/melonJS/docs/melonjs/Light2d.html#alpha"},"0BcYfkLB1HHJGWgEMXfij":{"uri":"/melonJS/docs/melonjs/Light2d.html#alwaysUpdate"},"dMcnxGAeWXQ7EysETRWto":{"uri":"/melonJS/docs/melonjs/Light2d.html#ancestor"},"dLlywPXvXJgJfuVJryfqb":{"uri":"/melonJS/docs/melonjs/Light2d.html#anchorPoint"},"f82Lc-CDZSC3b5XP0gAbp":{"uri":"/melonJS/docs/melonjs/Light2d.html#autoTransform"},"7fruDRZ2oGPzgn8DIqTRu":{"uri":"/melonJS/docs/melonjs/Light2d.html#blendMode"},"NnNvzLdMdcvPgMMAEFuyo":{"uri":"/melonJS/docs/melonjs/Light2d.html#body"},"yc3Gvg3DhZVVnFVVMr-Ic":{"uri":"/melonJS/docs/melonjs/Light2d.html#bottom"},"oxzmyKL5rQdoXhP4MV6aq":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerX"},"06-EEYI2VTAxh9vmIZtZs":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerY"},"p4IRhi5_-HkD-qBWBkzjg":{"uri":"/melonJS/docs/melonjs/Light2d.html#color"},"9E7pFaVf5Z5RS76wrYXB_":{"uri":"/melonJS/docs/melonjs/Light2d.html#currentTransform"},"dF19QUwKCOlyCQH-JXawK":{"uri":"/melonJS/docs/melonjs/Light2d.html#depth"},"RJF1R2hFp6OH8jT7hhRrG":{"uri":"/melonJS/docs/melonjs/Light2d.html#floating"},"-HwM-Ib1lpVR5iN0zbloD":{"uri":"/melonJS/docs/melonjs/Light2d.html#GUID"},"5Hnbxc6B_KRWedHiDwbCi":{"uri":"/melonJS/docs/melonjs/Light2d.html#height"},"TWPMtwUnlKvjHwBZakmVM":{"uri":"/melonJS/docs/melonjs/Light2d.html#intensity"},"qyLRHfPtLENwcXijOaZoC":{"uri":"/melonJS/docs/melonjs/Light2d.html#inViewport"},"ChBJhpUZB8Q6q80P2Flwr":{"uri":"/melonJS/docs/melonjs/Light2d.html#isDirty"},"XbttvZiGj6A6alPpaKNOC":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedX"},"EOBUAAlGy5fsCgDqenIdq":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedY"},"vluyWl2SkY1QJyyOpYBsL":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFloating"},"vwYs8VeGKJrp4VrczlChC":{"uri":"/melonJS/docs/melonjs/Light2d.html#isKinematic"},"EWWmx_7b4o6RqSE1DnD63":{"uri":"/melonJS/docs/melonjs/Light2d.html#isPersistent"},"E8P8TbS6PBILumKIk1bjT":{"uri":"/melonJS/docs/melonjs/Light2d.html#left"},"xeht-OH9wCle2qxGc6g2h":{"uri":"/melonJS/docs/melonjs/Light2d.html#mask"},"FBDu4S6hKeRbJA6TCfkZv":{"uri":"/melonJS/docs/melonjs/Light2d.html#name"},"imm47VSsOUVaLG5A50mOU":{"uri":"/melonJS/docs/melonjs/Light2d.html#onVisibilityChange"},"VbfF6fx0pdlRNVZfig8TV":{"uri":"/melonJS/docs/melonjs/Light2d.html#parentApp"},"myyvMQ6flOiGgNeIy2pu8":{"uri":"/melonJS/docs/melonjs/Light2d.html#points"},"mbxu_ABdBs3EFaviyYgqo":{"uri":"/melonJS/docs/melonjs/Light2d.html#pos"},"z1Ryp45anIQ2d-tO-a64K":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusX"},"GL-5EWRWbtUSt5noeYJDE":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusY"},"6JYd5WoEwNOKec8sV_j4x":{"uri":"/melonJS/docs/melonjs/Light2d.html#right"},"9YPC0x5KqtbEMCEmUj-ZA":{"uri":"/melonJS/docs/melonjs/Light2d.html#shader"},"y9pLwnMRxdD7dXXZ4vYKb":{"uri":"/melonJS/docs/melonjs/Light2d.html#tint"},"r6Kkurp59JDzz7I8HXlBb":{"uri":"/melonJS/docs/melonjs/Light2d.html#top"},"9flxG-6b-VixGUtFiU_Ix":{"uri":"/melonJS/docs/melonjs/Light2d.html#type"},"vx0Y74dGCPLVKipdF4e1C":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateWhenPaused"},"u1KOtRaI-lhaNYrNWIPOx":{"uri":"/melonJS/docs/melonjs/Light2d.html#width"},"kUlKqFVqlXnIog5C61Znd":{"uri":"/melonJS/docs/melonjs/Light2d.html#angleTo"},"TB6zhuAYfoGTDdh_ZmYSj":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerOn"},"YYKRJWvWiTU7RJQiCiXmi":{"uri":"/melonJS/docs/melonjs/Light2d.html#clone"},"6KnGRLRpBGrfbzGHINekT":{"uri":"/melonJS/docs/melonjs/Light2d.html#constructor"},"Oq4PF0K-qmyFr1RX3iWpg":{"uri":"/melonJS/docs/melonjs/Light2d.html#contains"},"xFooM_y671qS0wWvQcmoZ":{"uri":"/melonJS/docs/melonjs/Light2d.html#copy"},"Ud70yYEgiaTsWzW2Cngzr":{"uri":"/melonJS/docs/melonjs/Light2d.html#distanceTo"},"UX8-C1JftsDCrIu2i8G1x":{"uri":"/melonJS/docs/melonjs/Light2d.html#equals"},"5iuEUs1-bLcKSdYvEAQ_n":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipX"},"NQEE1MGtONWd4Z8XHXSxO":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipY"},"MVHDbxeei_S-J8geLk9fL":{"uri":"/melonJS/docs/melonjs/Light2d.html#getAbsolutePosition"},"_0bQUc4pvBhF5_cdTh_wZ":{"uri":"/melonJS/docs/melonjs/Light2d.html#getBounds"},"rDusukJP3O71kphtFpOVj":{"uri":"/melonJS/docs/melonjs/Light2d.html#getIndices"},"bJ0jcs7LHDvpAB88o_QkL":{"uri":"/melonJS/docs/melonjs/Light2d.html#getOpacity"},"exzc4jD-XaiCRmIB8tLkX":{"uri":"/melonJS/docs/melonjs/Light2d.html#getVisibleArea"},"K-Rar5nMSQyQumKnvxFXd":{"uri":"/melonJS/docs/melonjs/Light2d.html#isConvex"},"x36fiVOk3RUBSWuHLPlim":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFinite"},"44hHXTMJ_y0XrChTr-zUO":{"uri":"/melonJS/docs/melonjs/Light2d.html#lookAt"},"s5YOlWT8Fp2DycCs59ga5":{"uri":"/melonJS/docs/melonjs/Light2d.html#onCollision"},"saWSPzvjCr0S2ekVZ8-G7":{"uri":"/melonJS/docs/melonjs/Light2d.html#onDestroyEvent"},"bnf0RXdkpP5el5G_twVKs":{"uri":"/melonJS/docs/melonjs/Light2d.html#overlaps"},"MBg8aIyYkpXBuUYG8G5zp":{"uri":"/melonJS/docs/melonjs/Light2d.html#postDraw"},"emPZUDd0PF6tCKeMGl0Pq":{"uri":"/melonJS/docs/melonjs/Light2d.html#preDraw"},"sLhGwXQZVuQJvKkUFc1h8":{"uri":"/melonJS/docs/melonjs/Light2d.html#recalc"},"5izLmN4wPDs_lOfjyp6dp":{"uri":"/melonJS/docs/melonjs/Light2d.html#resize"},"PWKkabRpbGyNCmclaRDyJ":{"uri":"/melonJS/docs/melonjs/Light2d.html#rotate"},"nTE2jWpEEIl93Hdt7Dn6A":{"uri":"/melonJS/docs/melonjs/Light2d.html#scale"},"nMycJZTbgmy58tu_YmIiV":{"uri":"/melonJS/docs/melonjs/Light2d.html#scaleV"},"1o7AUQ22V-7qQdabstFVh":{"uri":"/melonJS/docs/melonjs/Light2d.html#setOpacity"},"ENus8IKAjBPfMA8it6kJA":{"uri":"/melonJS/docs/melonjs/Light2d.html#setShape"},"OMAz5GgyEe_PgLBQKmcv8":{"uri":"/melonJS/docs/melonjs/Light2d.html#setVertices"},"Msay27YV4uGKv2mGTbuhv":{"uri":"/melonJS/docs/melonjs/Light2d.html#shift"},"CA67-MhJW3dpi6M7SopYc":{"uri":"/melonJS/docs/melonjs/Light2d.html#to2d"},"hZ_zXPQIjWnhqXA6_Z42W":{"uri":"/melonJS/docs/melonjs/Light2d.html#toIso"},"l-UMcMbtexachirJ1tRRp":{"uri":"/melonJS/docs/melonjs/Light2d.html#toPolygon"},"ymxwlpq1kAWYb6fs73YVr":{"uri":"/melonJS/docs/melonjs/Light2d.html#transform"},"19qBAS4GtSAjpiTCYP7x2":{"uri":"/melonJS/docs/melonjs/Light2d.html#translate"},"hF79RvBsi6pFKo0xJhM5t":{"uri":"/melonJS/docs/melonjs/Light2d.html#union"},"rnjBH43pwvqBWBDxkk7Jj":{"uri":"/melonJS/docs/melonjs/Light2d.html#update"},"dzXP6yFx9kDxLpzWuJq-g":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateBounds"},"MgBE8bZi516uJaD19BUKh":{"uri":"/melonJS/docs/melonjs/Light2d.html#draw"},"H3GWmRdbZw6PC_zqxBw7l":{"uri":"/melonJS/docs/melonjs/Light2d.html#onAnchorUpdate"},"j0fEeKVmrL4yUzpwQNbZl":{"uri":"/melonJS/docs/melonjs/Line.html"},"YkEOq5uhrg5iE8l6gqfKT":{"uri":"/melonJS/docs/melonjs/Line.html#points"},"HIPC6NaDlZknbERIL10y1":{"uri":"/melonJS/docs/melonjs/Line.html#pos"},"N4JaL7GleMLjo-gnP-7Vr":{"uri":"/melonJS/docs/melonjs/Line.html#type"},"u_Wl52e8u9DpC4e3qAxVQ":{"uri":"/melonJS/docs/melonjs/Line.html#clone"},"1OXTax-QeFzrA_oinDuRb":{"uri":"/melonJS/docs/melonjs/Line.html#constructor"},"4WEMqfiZJvkite6LfFIRP":{"uri":"/melonJS/docs/melonjs/Line.html#contains"},"z1vTfnbc2QVpK3yf5Dt7n":{"uri":"/melonJS/docs/melonjs/Line.html#getBounds"},"Eq-u25Bn3CCYtAmRnYzDX":{"uri":"/melonJS/docs/melonjs/Line.html#getIndices"},"Dk8UrRD0ApECP_Hc1JYCw":{"uri":"/melonJS/docs/melonjs/Line.html#isConvex"},"14lUAtyXmEdtiWFJLQ53N":{"uri":"/melonJS/docs/melonjs/Line.html#recalc"},"Bush2nO1eHzsiaY-mRCrX":{"uri":"/melonJS/docs/melonjs/Line.html#rotate"},"7ujTRioY-JQaIpiqrruUz":{"uri":"/melonJS/docs/melonjs/Line.html#scale"},"zHioFyvs71Vbr5MbuJiv8":{"uri":"/melonJS/docs/melonjs/Line.html#scaleV"},"WBG1lI3xm2EBo1s2qlDMS":{"uri":"/melonJS/docs/melonjs/Line.html#setShape"},"yix_i1ucuaan1d4y-rQmA":{"uri":"/melonJS/docs/melonjs/Line.html#setVertices"},"_jtElNgDYB9CHTJOQ4h4H":{"uri":"/melonJS/docs/melonjs/Line.html#shift"},"PdXktlHntsJolpjMm-rBu":{"uri":"/melonJS/docs/melonjs/Line.html#to2d"},"HkFBFLq2nxzu7Wlj4UdBt":{"uri":"/melonJS/docs/melonjs/Line.html#toIso"},"vE7RmBn6tWwgp95tm1oEq":{"uri":"/melonJS/docs/melonjs/Line.html#transform"},"5H4Bf4QPVdXuBmmzZsd21":{"uri":"/melonJS/docs/melonjs/Line.html#translate"},"nJIdl69Tj0smK-7bZ5JUm":{"uri":"/melonJS/docs/melonjs/Line.html#updateBounds"},"V7oVFdYgBtQHsDsnV74aC":{"uri":"/melonJS/docs/melonjs/Matrix2d.html"},"CHSuHj_bC1Z7Bzy9q5-Wu":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#tx"},"-9OpxLrpVxuXxiFaNHgjk":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#ty"},"r5P_lzHBWT846wkbGdl1f":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#apply"},"2lSYkCzAB8E1kad5yHMbw":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#applyInverse"},"e9mK6ezyWJqws1mefut5L":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#clone"},"CFN_rfs_fYFhwDiW4G8HO":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#constructor"},"jqu40_bVoCqEtC672WDTw":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#copy"},"vEe3veYkr991IIso-oCjF":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#equals"},"R1kKH916a1Te15KnEbe7N":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#fromMat3d"},"RK5iA_hFSqsfyKKFLfL-6":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#identity"},"1kK17u0XiN9-qcnI0-Wp0":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#invert"},"-nYs76mzVhRPlqYpP5RbO":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#isIdentity"},"jtxQe8ycWRBUYOs-C9KbF":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#multiply"},"bsipBZmpkMxHg8RgozBSh":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#rotate"},"w2yLZD3QMu6RtdKIAjS3N":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scale"},"XrJNE5uSLHkF7JDqx219C":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleV"},"TnZRXk85hbuCeRyGjgtmu":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleX"},"xUzjz3Gb6jJ8kw5usQcsw":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleY"},"v6SQ6z3WfDT_wtjvpn8tz":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#setTransform"},"9uRSVN0dbq318si5rbGU6":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toArray"},"6anlFE_nGgTP2aCUk_mg8":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toString"},"KXjma-d_4YJQnMDycEyxS":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transform"},"Nz0A2NKcZ3wIyVCFIS5qK":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#translate"},"TTvxXleN8AHhw-aMlz8mk":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transpose"},"3tkV4keAFRnv2imNnQ2qZ":{"uri":"/melonJS/docs/melonjs/Matrix3d.html"},"uzW2miRvPRfkPzZGLe-61":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tx"},"EfH9wjjSvmEK--BLn9sQ0":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ty"},"B-kXCIEIoYd6ozY2Z-mQp":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tz"},"wt6XP_pMrLOahRH-eG4Ur":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#apply"},"loHV1z0fyzuhyc80hAaPS":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#applyInverse"},"nAXTxup4UG7IKYRJgVlYh":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#clone"},"kj-tyzwJgM3MkXETYSbqh":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#constructor"},"HZVVHNoNNORl1yqoL8n4M":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#copy"},"rQ80Y_NwHzrQ-ZRlwu0Jf":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#equals"},"ODZD4FerhZlSJw8h_oiTs":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#fromMat2d"},"Vj-accebk-A1spFnzgC3O":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#identity"},"F3YgnUxS0SjiUYfpxU3Mr":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#invert"},"lAr46ZP4-ie4oOa23fZMy":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#isIdentity"},"-MhaAz03B2lJiaATppudp":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#multiply"},"19WPpZz4zOxyOvIdWAUuA":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ortho"},"Npo5BZxTWu0ktsyEzhC5Z":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#rotate"},"2EozApq6e-J4xJ3v2HCxw":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scale"},"i9Y3r76azYmbu5tSZUtdH":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleV"},"Xss3oYNwHrxMTUuygPVc-":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleX"},"_SAO76DIpNg-eYAq2_cyM":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleY"},"QcfCW_hI4xjZXD6XWzct4":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#setTransform"},"VpMz7OhZCTkQkIdz2_EM5":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toArray"},"o7gIV3MOE3I7B248LMz6r":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toString"},"-3z-dE2-lKRfmD2gPqg3u":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#translate"},"PkjaXBkM38vCMvE-36KeG":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#transpose"},"t8dZ4N0xxvjk52b4fMbUj":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html"},"yebYCsk6VOIG1RAqcph6m":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alpha"},"2YoJmZj26i66h0XeQ1Cdo":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alwaysUpdate"},"Wdhtay0aP657f-CEp8rsz":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#ancestor"},"uQLK7tbOEy_zD0k8jPbqI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#anchorPoint"},"BMcc3A8zyHtfoJbF_AIlJ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationpause"},"zaC9l0w2byXQxvRC3r8H5":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationspeed"},"IC0c2kI0vSPWpWKUyeeXK":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#autoTransform"},"oE3j1_ANQ6R_T2kSlc8OZ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#blendMode"},"jNiHuLAamSxZBq5sx-BB2":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#body"},"GuyMC-zXty1PEF652iau9":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#bottom"},"QM6IG2QjaK9ZmQnrBCw6l":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerX"},"U5JKqEzdX-x_KBuLzsBub":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerY"},"D8q6zbcqvdjUk8Ox83GDZ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#currentTransform"},"oWHmC9M0FW-1cxCyPQG4G":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#depth"},"vSRF0899VqrVQLgZ1g71Z":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#floating"},"AiVTb8B1Uy_lelNiTZH74":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#GUID"},"mYsOgXllSqLv7JPrypu5B":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#height"},"5hJlHi1vw9Bm4_TVklwzp":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#inViewport"},"VFWAzCG1kFAWVRPkPQg9D":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isDirty"},"ShUKb5-Iyc-wdlbXrYJhN":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedX"},"Yn1KmyyXHlG8miI5BsXrp":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedY"},"D2iE0L5E9ElHCR3YqzO2g":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFloating"},"5Zs6Z3VWFrhZUuVNxtYD6":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isKinematic"},"rrr2uVCzDGl4_m2dWl_dk":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isPersistent"},"eQ2VofkTO2NuDkhx4RBFV":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isVideo"},"_X0E38SogiHjkmNi23UvS":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#left"},"iZKR0wsjfmDdH3xOswC12":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#mask"},"mh2ah2Anci916EzRmmYvQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#name"},"LLSHoUPAjXKrP5dyj2xxN":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#offset"},"hz6Y6zTtYm--5qDtaqvEY":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onVisibilityChange"},"YnBKunJS7t2egSQKZWQZo":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#parentApp"},"JN_XGTLzz0D5HT-lShuzv":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#points"},"wehzq62-f7dJQzaSCTZg4":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pos"},"8TQ0doP79RrO_uu8ecmlz":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#right"},"8kLTFc59lqkwpFsTx8J13":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shader"},"lhJLvyfAraeDvcoD2nnLa":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#source"},"8iB5NKimtU3f6Y0XXYL-k":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#tint"},"6gppghqztJje8UhsU9Coa":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#top"},"9t5_aJjPXa9VlKOFQeFWm":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#type"},"pzcHGcyrqI0OOZZhvRlYy":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateWhenPaused"},"eNWDOFKWmulS5f9KvGjeO":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#width"},"zZjpDPt0ZTuKeiT-Fvsox":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#addAnimation"},"dVaSnn-UWIEf8x2_YDM4K":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#angleTo"},"_thvrN7o4n-hvMIKYWwpw":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerOn"},"k-mrQfoJ1U0QEun9N-ay6":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#clone"},"wGNGa4f2yxWRV17PnspsA":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#constructor"},"z-BhXOk4dSCIfipJ3L9fd":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#contains"},"i8Labp3OpB8f2G3lI1WaU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#copy"},"ARbdSN0X7APNLNGZUZlPx":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#distanceTo"},"H2kSSkaYLCUPV1_KNfB9g":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#equals"},"fggvmOFl6S9RXjwOAFEAa":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flicker"},"GvfPwtJmGKrk-NO1MF2lM":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipX"},"P5wzmVEQFL1dmRKBMdWai":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipY"},"SF0fUrS7xM8Ws9HfJgyHw":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getAbsolutePosition"},"LzI7dRAfUY5DWM6vqhHjQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getBounds"},"O4CBUQBDqqVGOl6Q2kN7F":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getCurrentAnimationFrame"},"Fg-AysNh9j2-wfCcF4aRZ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getIndices"},"Fdt6MWPUKTS0_iflf4Tli":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getOpacity"},"Ye-Da3gSRs8W_sroJxGge":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isConvex"},"ZGMAXPR3dVKrfixy5ZYrp":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isCurrentAnimation"},"_KYDNBrEgf-A1lwRuK1Sl":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFinite"},"et25pZThGDklFzN2Lbyua":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlickering"},"PBi2L0zhf7V0UiPoV3Rwj":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#lookAt"},"9Cp9b59_RffhxSey3FWca":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onCollision"},"BrAxTY6ME6FUvVLiRza55":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onDestroyEvent"},"aRu2ELWxUenqig3Y3awl9":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#overlaps"},"rkLtAvzKckAPTn0MSYjKp":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pause"},"IFtgMD0qkKVDbExYjEh8H":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#play"},"b7O0R3HGd100lR1uPAFET":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#postDraw"},"6nbHP11B8_ilT3WUHcwZX":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#preDraw"},"nHWPNfzywcHZFhrYN1pA1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#recalc"},"dW3OLAE5K5QvEkHvXMQ-a":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#resize"},"OQJckClj0dyDf4SLTZ_MH":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#reverseAnimation"},"Zm5ftunJRVweDTgztGhTT":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#rotate"},"zsJIJun4eLZAP9Tu9-8vp":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scale"},"jznK4COP5P0m1yRE6R-S6":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scaleV"},"pQgcMBLBSBW8hshD5mcN0":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setAnimationFrame"},"6iOjwdX6nxr_TeswzZxlD":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setCurrentAnimation"},"qpgEpX8K6PuOl6g5GWt5L":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setOpacity"},"7aGHv--Abxbyj5s7UcT99":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setRegion"},"Lg8X4t1rIWuO3w30NmkGk":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setShape"},"Oa0Q_Tnl5ZbtVvktRkn7L":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setVertices"},"xt11SRjbmByP5kgyjnEeI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shift"},"SqB4v_4DwV7UiVcRO7MyC":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#to2d"},"NQ1etP8Q2np4CzQ7w6vxY":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toIso"},"IXT98V1J9XQrWLwLffPjd":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toPolygon"},"pegXggAGwjaRa3sD6_BXq":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#transform"},"cZJ486Ww33t1yy5ne15zE":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#translate"},"wlNf_5xZ1-6gJa6FgWz_5":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#union"},"vIRAMLtjplHjOKNhX7RJG":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateBounds"},"8gGU3LrLFUIVRDRu2jG54":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#draw"},"Xcuj4RRYZfaznr6ucERFE":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#update"},"Eki9I3NLJNe8EOjcvwSXr":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onAnchorUpdate"},"ZwKrFgQK9y2atL0SyLK2u":{"uri":"/melonJS/docs/melonjs/ObjectPool.html"},"GeHzMNJ_wPclGOObQKeNa":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#exists"},"OFijDeNP6VTqRESQl3ud-":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#getInstanceCount"},"T_pAs4dwXeXoJ7owbnATE":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#poolable"},"0388kz-645s8KWj0HbAKJ":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#pull"},"DrVSAcXmGcO3zO8aDoaBJ":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#purge"},"V53zkQgeG4GONG1GC0jqh":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#push"},"gfypW9sl7hhwAiGnlVdSn":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#register"},"4pPtN-Jpb_Lg548sGC8Eo":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html"},"e5uzC4Yv9iCJpRLNfd7pT":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#x"},"-dh5Xujo3WIG4fG9LD311":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#y"},"iiSF2Kj3wiOgA3xsHi6GP":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#abs"},"NgF5gfDyBMvMJk95S5nWW":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#add"},"D7qpZOGCHPEvDP-opT4uS":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#angle"},"pR_cHEdi0y5j5ZOwxAGrb":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceil"},"XWWsYGzFGCbt1XGguQCwG":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceilSelf"},"HKoEESeIy5nZWggB5DaCG":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clamp"},"waqbRTWAO1dl8XrkvML2E":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clampSelf"},"jCwgYC4JlRFwTgnIwXwon":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clone"},"O1mtZDfo0k_NM6tK_xQL9":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#constructor"},"li3iR3O0YMuJbs62rSAIQ":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#copy"},"eg1boua3ACkU5DVVE_gJ4":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#cross"},"mUNxwzUVsyS7uiTyj2Nc9":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#distance"},"ewvp0HG8-zmzEM-pKxdja":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#div"},"3_UH5nN5jRXf4Sze1407g":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#dot"},"aq8-jqeTwl0goB0zdDeNG":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#equals"},"cQUckQQKaMFtBGXm56Dkm":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floor"},"8DCzlNyoq_h6cMBJ4GKI1":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floorSelf"},"3GM0VcFL9ed57xusjnykE":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length"},"oa5NwUByHpDWBN2HFOttS":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length2"},"3u5NaYzvURqk_vWrkc5aP":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#lerp"},"gwQcEf0VsL-50AokIvjJ8":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#maxV"},"TtvjndUDjOtMU9cgq37oQ":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#minV"},"HuHdw0Csct2HxS_qNzjeJ":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#moveTowards"},"iLMpcLPBayAWM4kmw_IwB":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negate"},"d6leJ-HDH1-d81oGG36AY":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negateSelf"},"dgWWmZdC5uqCUJ_NXA74J":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#normalize"},"wyK6ryOK1bT_oZ83OlIOK":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#perp"},"GpV5nXxxtYL07aDxhCkMR":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#project"},"qcuWsqDH3eVplD16u3W9r":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#projectN"},"rub59xTCwurIMSv9dttPP":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#rotate"},"t8W_Zk5F4wEaDD292QyBz":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scale"},"Xh9DadKvHiOfXTdrztnKQ":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scaleV"},"xzVpFMJQgzKsOFDlOWoT7":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#set"},"aizOgolR8dXsCcrOMC4g7":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setCallback"},"hPgEUIbAjGiUBZsTEKb5L":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setMuted"},"RTFOLTuLjM-fyWvDOL0_1":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setV"},"uMnY-NvAJUWvMSwTxbjVF":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setZero"},"pf8vO3jT30zYy1H84UG-C":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#sub"},"p5tFvnWzXAKh8Nw3ttpbG":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#to2d"},"AuVE0dXjaqNAc01BWXz73":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toIso"},"6EoUhkMq8NBIBXd5F61yY":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toString"},"B_2Z8gXqkSWUSsDcMhlVe":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toVector2d"},"WIuitUFGP4FTvQTu8o0Ej":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html"},"HA8vgbxHaX8HRCQhUUM7s":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#x"},"koX4HhL70iqsh8x_q1HqP":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#y"},"_NdG-20Z7VQu9MxBRTWTG":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#z"},"97Ssl8Mk6QsH9JeFoeYaR":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#abs"},"y6CBR1kpfKzNReX28WPTX":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#add"},"ojc7sLNR8zXlbXVEfPalH":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#angle"},"EufyqCxMvCAAX4m9CUUtn":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceil"},"dUDPfWMuY0dGRHAO3WFzp":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceilSelf"},"0ltHRsbM8DAEOAJ6qrMZF":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clamp"},"HbCtk2bRuZJCSBBwe3aP5":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clampSelf"},"LTx_-tsw27_9FYs5PJgCS":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clone"},"jJOd5UOk77-ao0pHYAall":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#constructor"},"Oh1t6nE8GAQhSjtkC5hYt":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#copy"},"vQUKlVxbOi8sx1PYE_msz":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#cross"},"S65C6B-1N_kvn9PhREkYU":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#distance"},"ZnSjbIYbkKtUnGZ89lc2h":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#div"},"1z4eUjttOJ1tlAVOAK6uO":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#dot"},"rA8CqL7nxvOunD7dZPDaP":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#equals"},"VwquiAfdPnbc9VPTWsK9s":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floor"},"mtlZWJvxzTG1gOdThbJmz":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floorSelf"},"MOpUtTGkFgpO8cBrsJo7x":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length"},"sNT5dDCQmNSmT_NeO9pJi":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length2"},"bgsG8BV3Z4wN-9Z3rKrzi":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#lerp"},"FVLBCK_qwEruF3AahMcMc":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#maxV"},"IYuURKePPttJ5ANj1Rfaf":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#minV"},"0YfaiI40WajMRh2xZBTP6":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#moveTowards"},"pJDmZnOXzfP1g96VxKOPw":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negate"},"eLhP5yMYlHtkbtdp1JfkB":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negateSelf"},"HKDURmsnpiD97cTa9FgL0":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#normalize"},"OHBHfrW6ZRGQ2qL9qVBv0":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#perp"},"ZduHCdamgfcY4dhoAZTm-":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#project"},"5OzBt_7_uk4R2O--pp3BO":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#projectN"},"aqPVLoo3UnjD78u0GaXS5":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#rotate"},"zTXYuX1TQAwEdR7lWGYQ5":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scale"},"HK92-zNOBc-PEWnLZRskI":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scaleV"},"i9BXp1F1ReaaH7tq95m0o":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#set"},"p15ATzGsU3KjJ6yqlFpru":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setCallback"},"McChXuBlee_9FzFxWjcSl":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setMuted"},"GNY4VbGbfM-iH6ecxoJUz":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setV"},"IV_7_l8Dnc8Xq1yCIlGb9":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setZero"},"6QjAxfoytUnHOwFBd2vbM":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#sub"},"njYpObLdf6trlBCeP23Uc":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#to2d"},"i-2CRBraNtbXpd5zAd_Ej":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toIso"},"WWMPZfNhrOY2GSoXB2bAs":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toString"},"_2OK4pGiU0fzo4SQ-Z1P8":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toVector3d"},"sse8Gpk9moyFx2xFjUSMJ":{"uri":"/melonJS/docs/melonjs/Particle.html"},"jZEBuezp6JcmidhJsuulN":{"uri":"/melonJS/docs/melonjs/Particle.html#alpha"},"9mrbOlDADM3IT3Xng05RO":{"uri":"/melonJS/docs/melonjs/Particle.html#alwaysUpdate"},"UvtcCBPVajYhSO0SpGtPL":{"uri":"/melonJS/docs/melonjs/Particle.html#ancestor"},"Qi1bDg75nQ6nYXsvyfcfU":{"uri":"/melonJS/docs/melonjs/Particle.html#anchorPoint"},"eLgFnZOJLhxfp1XPX3QKI":{"uri":"/melonJS/docs/melonjs/Particle.html#autoTransform"},"Nf0zrue_GiHwTNdcXtLx2":{"uri":"/melonJS/docs/melonjs/Particle.html#blendMode"},"54tCCLpmAsSBz7-xukrM0":{"uri":"/melonJS/docs/melonjs/Particle.html#body"},"3OWMANyNsA4x29e6AgkLV":{"uri":"/melonJS/docs/melonjs/Particle.html#bottom"},"YrLWoNCKgQ11S4zDd00Ze":{"uri":"/melonJS/docs/melonjs/Particle.html#centerX"},"Q54MSCzsNSO_N1fYigG2j":{"uri":"/melonJS/docs/melonjs/Particle.html#centerY"},"HEvPfwX14br8MitKyYcW5":{"uri":"/melonJS/docs/melonjs/Particle.html#currentTransform"},"CdScRgOrQCKexQG8HULca":{"uri":"/melonJS/docs/melonjs/Particle.html#depth"},"ZFohSesK68pX7KdvAtZzm":{"uri":"/melonJS/docs/melonjs/Particle.html#floating"},"7DmyqLyC3gJfweioTrSGM":{"uri":"/melonJS/docs/melonjs/Particle.html#GUID"},"LWnn3grnE5Lntkdf26S6m":{"uri":"/melonJS/docs/melonjs/Particle.html#height"},"SVLIrMhiHpBjUtEGRQDZ7":{"uri":"/melonJS/docs/melonjs/Particle.html#inViewport"},"b8Y1vUO_5adNyfFokBSQQ":{"uri":"/melonJS/docs/melonjs/Particle.html#isDirty"},"pZMaMJrEa-2Ezf-cGC1kn":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedX"},"naWYRHbTmEgk7-JgngRwi":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedY"},"42PVpAdZjyxBGlzxUSqSB":{"uri":"/melonJS/docs/melonjs/Particle.html#isFloating"},"XjFDjWu0aHQa82hWVla84":{"uri":"/melonJS/docs/melonjs/Particle.html#isKinematic"},"HyAfbxdzrcMAmxcI5120C":{"uri":"/melonJS/docs/melonjs/Particle.html#isPersistent"},"ZnIxun_G53qV3F4MCR3Q2":{"uri":"/melonJS/docs/melonjs/Particle.html#left"},"8HeVxzay6Bidb8aqPDZKs":{"uri":"/melonJS/docs/melonjs/Particle.html#mask"},"Qa3e47N7q-HAnGb_OaHVv":{"uri":"/melonJS/docs/melonjs/Particle.html#name"},"k-f3a7abceExBOiT7JxA6":{"uri":"/melonJS/docs/melonjs/Particle.html#onVisibilityChange"},"Chaujl9MPItCPMlURstAG":{"uri":"/melonJS/docs/melonjs/Particle.html#parentApp"},"15pkZySobE7c4xCnbl-72":{"uri":"/melonJS/docs/melonjs/Particle.html#points"},"IoPsoDItIpx6Qh4pxAwXi":{"uri":"/melonJS/docs/melonjs/Particle.html#pos"},"nqetfM8zig8EMpUPaA-K3":{"uri":"/melonJS/docs/melonjs/Particle.html#right"},"jDU2Pmq1yRG2oEqgi4LrV":{"uri":"/melonJS/docs/melonjs/Particle.html#shader"},"YVhzYFMc7ysja3fOSRwAE":{"uri":"/melonJS/docs/melonjs/Particle.html#tint"},"QFkFVwu-w3rHaO4ymFoZP":{"uri":"/melonJS/docs/melonjs/Particle.html#top"},"zmeqyS08RPNMabODr7dbv":{"uri":"/melonJS/docs/melonjs/Particle.html#type"},"RU2tD2VPdx-0tE3JCKAjp":{"uri":"/melonJS/docs/melonjs/Particle.html#updateWhenPaused"},"0GjAr4KENYR2d3kRes-45":{"uri":"/melonJS/docs/melonjs/Particle.html#width"},"Wx1OPHRp0x5lv76AHOj13":{"uri":"/melonJS/docs/melonjs/Particle.html#angleTo"},"VXlZP3m0qh6tz3JoSmMJj":{"uri":"/melonJS/docs/melonjs/Particle.html#centerOn"},"on6BOzkw9TkXIlwtzKEvu":{"uri":"/melonJS/docs/melonjs/Particle.html#clone"},"SKx2G1IzUn-x51gugMLrf":{"uri":"/melonJS/docs/melonjs/Particle.html#constructor"},"2OEqqExA6-7YjUQOoGnII":{"uri":"/melonJS/docs/melonjs/Particle.html#contains"},"Li79X7jqUJC8MKuO6ocBm":{"uri":"/melonJS/docs/melonjs/Particle.html#copy"},"wEI_VxJyynHLpumC92qnP":{"uri":"/melonJS/docs/melonjs/Particle.html#distanceTo"},"dm7ixaHfRkNQs92CVnzzP":{"uri":"/melonJS/docs/melonjs/Particle.html#draw"},"meydq2y-OxyskYT5JH7f3":{"uri":"/melonJS/docs/melonjs/Particle.html#equals"},"ghXunEdz6tv33KcIedFTN":{"uri":"/melonJS/docs/melonjs/Particle.html#flipX"},"SZ-MCU4VTGBlbwGny5FFX":{"uri":"/melonJS/docs/melonjs/Particle.html#flipY"},"hjftfyDEUetRtYSqAukhI":{"uri":"/melonJS/docs/melonjs/Particle.html#getAbsolutePosition"},"JZVujgr9ohoBWThsuq9qJ":{"uri":"/melonJS/docs/melonjs/Particle.html#getBounds"},"Cj_D6VBFZ_KZmiJXM1TVi":{"uri":"/melonJS/docs/melonjs/Particle.html#getIndices"},"2l159WJQONW_kvdoxNkpe":{"uri":"/melonJS/docs/melonjs/Particle.html#getOpacity"},"-ocHBGrb3UNUGBs21dWd2":{"uri":"/melonJS/docs/melonjs/Particle.html#isConvex"},"8p42fGoujpt-vhu67DEcJ":{"uri":"/melonJS/docs/melonjs/Particle.html#isFinite"},"Ajetogy_LM41RK6LoDzsd":{"uri":"/melonJS/docs/melonjs/Particle.html#lookAt"},"dmbq8rjG2YDZcLMyS9_G-":{"uri":"/melonJS/docs/melonjs/Particle.html#onCollision"},"J-eZ9vPgvVJz3fWYOpF7p":{"uri":"/melonJS/docs/melonjs/Particle.html#onDestroyEvent"},"fBnasAD307Sh-gr-v2mB9":{"uri":"/melonJS/docs/melonjs/Particle.html#overlaps"},"dolnkdffSjynRZ4BUAfrE":{"uri":"/melonJS/docs/melonjs/Particle.html#postDraw"},"OkzS-YRKu3_0Png5bnRpQ":{"uri":"/melonJS/docs/melonjs/Particle.html#preDraw"},"GoRXJrrv5plQXRHEXjErN":{"uri":"/melonJS/docs/melonjs/Particle.html#recalc"},"h5hyHUxqyo1xTEADVGgij":{"uri":"/melonJS/docs/melonjs/Particle.html#resize"},"_7iuGSep_4vyBOd0b4_B2":{"uri":"/melonJS/docs/melonjs/Particle.html#rotate"},"rfu2jKGWj5L4rtr5aOYgI":{"uri":"/melonJS/docs/melonjs/Particle.html#scale"},"DM0DISFMYhBRe9JFhLiVZ":{"uri":"/melonJS/docs/melonjs/Particle.html#scaleV"},"-NW4zV_1_mcoQepip_Etn":{"uri":"/melonJS/docs/melonjs/Particle.html#setOpacity"},"EsyEAp0yu29cEyuFlj71g":{"uri":"/melonJS/docs/melonjs/Particle.html#setShape"},"GLUk3m-qWETayhtUiUvy7":{"uri":"/melonJS/docs/melonjs/Particle.html#setVertices"},"1fXLox15ltDspZpN_5mmJ":{"uri":"/melonJS/docs/melonjs/Particle.html#shift"},"oijkwVe8Q8j3AL8drVw9g":{"uri":"/melonJS/docs/melonjs/Particle.html#to2d"},"fHkFio9of0Jg8Sk3Uf8A1":{"uri":"/melonJS/docs/melonjs/Particle.html#toIso"},"roFSlowoY-F-hr03yIskr":{"uri":"/melonJS/docs/melonjs/Particle.html#toPolygon"},"LeL_hcdFp19o3y4JdN0vX":{"uri":"/melonJS/docs/melonjs/Particle.html#transform"},"GRGncsNFlkeLb6YHatbUl":{"uri":"/melonJS/docs/melonjs/Particle.html#translate"},"TqL2HrMKn7yd3CowzuUZE":{"uri":"/melonJS/docs/melonjs/Particle.html#union"},"iD1s0ejI4M0Bx8lfB-6lA":{"uri":"/melonJS/docs/melonjs/Particle.html#update"},"azoTzUsCbpGCPob5s4zmy":{"uri":"/melonJS/docs/melonjs/Particle.html#updateBounds"},"IBkciHaBKzGl-J_5J8s9s":{"uri":"/melonJS/docs/melonjs/Particle.html#onAnchorUpdate"},"QWbaKi2Z9B29xAWP64i2_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html"},"NzzPFHFqSc4IYwte0fJIJ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alpha"},"vk8WTlLQHwEHOfuKmDwtA":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alwaysUpdate"},"mwQs0IvFf7zl4lk0in-aD":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#ancestor"},"dMIaaaE9lqEm0TpeaaH0Y":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#anchorPoint"},"yszQIUfMeUKmauf7HIopR":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoDepth"},"TVmdUMqiWPavXiZ3V2Fwm":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoSort"},"R_Ofu9DZA-vCFXacvMb1n":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoTransform"},"StftSJhN2DxOixq1tyCTF":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#backgroundColor"},"JjNVuMP5vszErf3e6ULF_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#blendMode"},"gCMy0En69gGIawKCvDdOB":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#body"},"ZKEhTDHR1wvb_dqmHCMIO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#bottom"},"Ky-eHCTdoG5S0azCsvKcu":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerX"},"QO6X9qH5ZwDbGPOkD6GHV":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerY"},"TQVWW1SaVB9mX7rueBxse":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clipping"},"po7toO7nT0zhwcDVuPU2_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#currentTransform"},"lkAwlU1MVYF3jrIg4BbYM":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#depth"},"_Jkziijw3tb7kDBwqhvyu":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#enableChildBoundsUpdate"},"Jiyh1jKeCv0WlJ3ZAdKoU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#floating"},"UlxtyC7iGl6p_XTXpOqnZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#GUID"},"ylMsqa0XpL4TV1SR-4xa2":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#height"},"T7G_yxDNKYrHsP31fOUaN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#inViewport"},"IhIgJupsS2-xVLQIvQhHi":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isDirty"},"YvnSal0-X2wATEJIbR_yA":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedX"},"ojXpGX71SM2MzcwAHOkgI":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedY"},"hFXuJHuEjCeEdCeZuh0R-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFloating"},"w8gmMl4u1sa63I9awtsQh":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isKinematic"},"zBMUM8Lq64oCX9r-r7y5d":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isPersistent"},"ofWz-EYvpoXh2i6EGM_JX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#left"},"u1CKUynki2TyQdx3q5MZr":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#mask"},"3zYKGiKYnxXUH2WSxD74P":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#name"},"K42rr9RDDEiPKaWqVi4lo":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onVisibilityChange"},"IPDqhj8nz8gVS4gDaD5OC":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#parentApp"},"I0uztEWVxdHlOnU71wmfs":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#points"},"FEk88ef2uu7V78MlwJuly":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#pos"},"qAv9SQgUtPnFGCc8g8LQ5":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#right"},"aJrUnzdfUPdBL8XtOIP4n":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#root"},"3Boz7mSo1P7Rr_KUht9IA":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#settings"},"HTUeiuWQSDUfA0jcFWtJU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shader"},"KHzCbJv8cSnEXAWeMHqhU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sortOn"},"hPCYBVJlA0cCWqoG0o91g":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#tint"},"_p6u38kuKAd8OlGvJGqVm":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#top"},"5Ih7GF-7FJdUb6vW33AfO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#type"},"sxzdwj17HBtTs2oOHDtXn":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateWhenPaused"},"ehEe_gZiUKrgvP4us3FUu":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#width"},"fV-_FKyxRVFl3kuRaxxc6":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChild"},"6ZSfSEI6Ff5Dj5z85ZMAG":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChildAt"},"8rlviDjz3vNHDPzmQ7dp4":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#angleTo"},"aASIF4VIzDWiS3od5_qVJ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#burstParticles"},"XPEEsX1AAJu8gvEtDctHD":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerOn"},"fWT0jn2Gio6jaPE-_AgLm":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clone"},"y05Fc1hzrDuyaBZDgZWV5":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#constructor"},"hy3ElRPaxSH2MTZzv49ff":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#contains"},"oHJ6EQoGSAYqeJB1PhS2b":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#copy"},"Ie64D6uoVUI-01f7-6wu8":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#distanceTo"},"1_HHpv-4sW8uMTRcmTNit":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#equals"},"onXTKhlnfAJhrq2mMfiY_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipX"},"MwtyvGfgPY_n8_C7_2tLA":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipY"},"g1nAaabbskcMDsAOssAws":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#forEach"},"Jjm0QdGKYPOpOYCKN7bS0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getAbsolutePosition"},"Tlw4l-1XNgQbN43y0J4kT":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getBounds"},"w30qcbKFEP_ErKyo0aDok":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildAt"},"Vrv_F-gTUHgUD_FCTb46c":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByGUID"},"GNuTmz9_FsfhYjaSJ8v6e":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByName"},"LSlMdjRCu60qDa8XfL2Z5":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByProp"},"U9z2-foSOWAr3EWN9wpsy":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByType"},"mBgnq_hbP9evrNHpk-7G7":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildIndex"},"WhIrDEHhzh4pBXZhwwmY8":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildren"},"9_0YTqHxU02exsIQEon_v":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getIndices"},"jDxoPyOJbpOKvZ79dHSHd":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getNextChild"},"H4lFOmHo3frlJHYjHASAX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getOpacity"},"XhPZTLR4hy5NEPAd9KVTv":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointX"},"wVEhP__TKGhiYXOcNxn5Y":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointY"},"ZzepaoHZpYRhV4MYjjsu6":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRootAncestor"},"3day1K7QHkm8eNEHZUmVG":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#hasChild"},"u-e1cD1fwt3oXno6yCJwV":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isAttachedToRoot"},"WmKMM6nFfQ0zOODbUL52N":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isConvex"},"xuy7lBtEJF96S8rIKxP1l":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFinite"},"WFK_q2RIUz7tnQ5Qju0Ty":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isRunning"},"9005miY467O-jZYmX7jnN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#lookAt"},"7zbHAkMKTri0z0HXqaw5O":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveDown"},"4oH1bh1yJ1y1fiyeqxAlE":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToBottom"},"IpG828LMHopMCEAVrrLIV":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToTop"},"qrPyXvjCh5z4Bi6YBHHth":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveUp"},"M_D3M7eDSCBVjDeKPgsSN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onChildChange"},"UogAOLmSYFuXoCs6zl7va":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onCollision"},"7qPq6Bp-V3RMT_sN7u8az":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onDestroyEvent"},"A4GRAAWMYKS68ANW8dxFb":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#overlaps"},"gyXr5ovYsGfkItkZj_jZD":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#postDraw"},"UPVYzFTmqwkjHDzqZllyU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#preDraw"},"mPKMq7nqW0WxrwdNOmZIQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#recalc"},"H3fAWkLjWwUh1hZ9MEwfS":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChild"},"IB97QEhEdjOCuos3hKxs0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChildNow"},"lX-CIv_ikTIbPpiJk3rqW":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#reset"},"6S_a6rObaRyRIkcQcfK94":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#resize"},"Nw5qWrnK3XxShVCu5C_xp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#rotate"},"jXilzvKx7VQwuIsdo4JhS":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scale"},"59RAhqyk-5uGYQlqTjPLw":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scaleV"},"_EBEk8VWeZnd1sduWqpTc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setChildsProperty"},"PrG9YroLs5cmXTJrmlXKc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setOpacity"},"TUSMqBToQXA8aiU1nw6u5":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setShape"},"0hYdpnDUu3zGEZbdYy3Wh":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setVertices"},"HCjodFqtqDzPwuB9sjtgc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shift"},"vKEWPMMcr4nPQYF1CTzJA":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sort"},"a-IW69XXCQsJ4vrTdFS5s":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#stopStream"},"Mw6WlN1PKarKIq18U0IAK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#streamParticles"},"S-dPKT34eZXSvpjHGofxr":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#swapChildren"},"v1r4TgnENaLSKPVxuSu_m":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#to2d"},"krvQU0mAjyvC7Vhj6W6jN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toIso"},"kHEHWXKbpTEp30UxFLSPs":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toPolygon"},"HuG2CUOq7hJ6UqLlirORu":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#transform"},"I7FpZabPBF9rVIFF9REjO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#translate"},"CErFtrR84XEBBQdmG2znq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#union"},"m5uhXRpcp__LzcLAyFrI_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateBounds"},"hNkOtg2f3c1CNHZYcM3lB":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#draw"},"38vy9FOTg1_ZNwvcvBVaT":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#update"},"WYTETC48VYSiX6uMlZI1a":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onAnchorUpdate"},"CCdI08SoA6avLxreZTbPL":{"uri":"/melonJS/docs/melonjs/Path2D.html"},"fsi-MEldppFK-0inV7KiI":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcResolution"},"3SeJB1cQBxi01WRrgV1lu":{"uri":"/melonJS/docs/melonjs/Path2D.html#points"},"U2nepfcFR6orlBLe5adla":{"uri":"/melonJS/docs/melonjs/Path2D.html#arc"},"-5ds-SRVs5CuOMQ77Wv8a":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcTo"},"NtGqx4DvfpGYzEMZRdGL4":{"uri":"/melonJS/docs/melonjs/Path2D.html#beginPath"},"emcA6RdLQt4YJXL-aUwHS":{"uri":"/melonJS/docs/melonjs/Path2D.html#bezierCurveTo"},"_beuo5xl2mhdIgnbTbJWD":{"uri":"/melonJS/docs/melonjs/Path2D.html#closePath"},"JqaNLXVTlzSyg4bNqufaX":{"uri":"/melonJS/docs/melonjs/Path2D.html#ellipse"},"kb98jlPYxP2CTkGusjUsi":{"uri":"/melonJS/docs/melonjs/Path2D.html#lineTo"},"DDLrzW8CfIcXCs34uT5s_":{"uri":"/melonJS/docs/melonjs/Path2D.html#moveTo"},"4jceCxQY34dGqeq9YHfIn":{"uri":"/melonJS/docs/melonjs/Path2D.html#parseSVGPath"},"W2Wub6usFK2BHAyD7rgbj":{"uri":"/melonJS/docs/melonjs/Path2D.html#quadraticCurveTo"},"ZMqi7oi3oJubtpVwVthC6":{"uri":"/melonJS/docs/melonjs/Path2D.html#rect"},"Jto73Hxpcgug5gWjyI2Av":{"uri":"/melonJS/docs/melonjs/Path2D.html#roundRect"},"rBDXPlFzBnDiUsMXtbsw4":{"uri":"/melonJS/docs/melonjs/Path2D.html#triangulatePath"},"MnSJjOwio0D4gYS0F2Sff":{"uri":"/melonJS/docs/melonjs/Point.html"},"u8RcpoXOrUDBCPqLjywdZ":{"uri":"/melonJS/docs/melonjs/Point.html#type"},"vAKIMevcG-7fjNP0fZZiI":{"uri":"/melonJS/docs/melonjs/Point.html#x"},"DbEDx1mI1QxR0IezcwZEW":{"uri":"/melonJS/docs/melonjs/Point.html#y"},"wlZn6lhN0RC_M0OPyL37m":{"uri":"/melonJS/docs/melonjs/Point.html#clone"},"WOrNwOR111uik6q2hwkRN":{"uri":"/melonJS/docs/melonjs/Point.html#equals"},"uJckGJOIVKLBV0QdIQZZx":{"uri":"/melonJS/docs/melonjs/Point.html#set"},"WH9MhKord_MzJyHL4nyyZ":{"uri":"/melonJS/docs/melonjs/Pointer.html"},"j0Myi8XTwO-dBZsR7UV9m":{"uri":"/melonJS/docs/melonjs/Pointer.html#bottom"},"PKMlazcTW81TYYsVOiD1I":{"uri":"/melonJS/docs/melonjs/Pointer.html#button"},"ekUXxoia-AA3nNFYAYcvL":{"uri":"/melonJS/docs/melonjs/Pointer.html#center"},"mWOFa5xD1KPouJTdSauHx":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerX"},"JM2UWIIVQTFgZyoCeM7nV":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerY"},"pQOFzYHBD6TjgGVRXAYgY":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientX"},"wG0KQ-_Me-AIl1AwR1p4E":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientY"},"wzhEDEufgvWkErHEWDp7b":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaMode"},"14yRdUkaE2Ex52dLQtvEX":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaX"},"a2QaMjz8QBrOcvQ-OBdcl":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaY"},"l_7hSe5m29TFILalvelSi":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaZ"},"5f9QdJcAVRg0yFx72O30v":{"uri":"/melonJS/docs/melonjs/Pointer.html#event"},"pqR0FgxGkZhzkIZnW2Ecj":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalX"},"dSdnqipkhK0-FVvzPnH3y":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalY"},"9yxZTpLDen_BF_vHTS56_":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenX"},"u6uFy0EUQYW8JouwR5Kx7":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenY"},"GrSHpInzyQro-ZMjO0lgd":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldX"},"b4fFsipqiCcUbF46WxUV0":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldY"},"mGyFDxSKM_Jwy0HMEb8CX":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameX"},"vY1z_0TfxyKgaEXfCFdKh":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameY"},"CdTLFZpAzjnbaKZx8YbTD":{"uri":"/melonJS/docs/melonjs/Pointer.html#height"},"V9Vx249Vwpq1HRfnwy4y2":{"uri":"/melonJS/docs/melonjs/Pointer.html#isNormalized"},"U5aHKR_3tmiEslaDg8gKF":{"uri":"/melonJS/docs/melonjs/Pointer.html#isPrimary"},"9yitGEyRdtuyk3YcwRCN8":{"uri":"/melonJS/docs/melonjs/Pointer.html#left"},"7fwdkV9FYBQk2YE1M9I8s":{"uri":"/melonJS/docs/melonjs/Pointer.html#LEFT_"},"pvFjXiaeq_sYtmxEtHmjg":{"uri":"/melonJS/docs/melonjs/Pointer.html#locked"},"-oZ9poLHjdzL658Jsbn0p":{"uri":"/melonJS/docs/melonjs/Pointer.html#MIDDLE"},"dSzjFTUZmOUFjGEy4T3fS":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementX"},"wF4s6cpbzpO1fq0Kcg7eZ":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementY"},"RpAnw4n8f1Ngf396lJYSh":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageX"},"xPnY4ZMFh8nO-gAMW7U59":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageY"},"UA6_tl9cJOn09tC1-REpI":{"uri":"/melonJS/docs/melonjs/Pointer.html#pointerId"},"-N7l6gGUCFLhADE7ksJRL":{"uri":"/melonJS/docs/melonjs/Pointer.html#right"},"FNHO3rtdbePCno2i5c2vo":{"uri":"/melonJS/docs/melonjs/Pointer.html#RIGHT_"},"tCx6CYdc26qt-5czE0Ao4":{"uri":"/melonJS/docs/melonjs/Pointer.html#top"},"tKjoLf2Ece3HYnroDbSWW":{"uri":"/melonJS/docs/melonjs/Pointer.html#type"},"77vAOUdtJE1GnTxWCdO5p":{"uri":"/melonJS/docs/melonjs/Pointer.html#width"},"1Vi4Buxs3uo0OkH1GM7ZK":{"uri":"/melonJS/docs/melonjs/Pointer.html#x"},"zozh7R0W48FZkjRwMMl53":{"uri":"/melonJS/docs/melonjs/Pointer.html#y"},"cPnOOkfLrU667pcURflNg":{"uri":"/melonJS/docs/melonjs/Pointer.html#add"},"CE_EyBPrFFrD54Q6NUISH":{"uri":"/melonJS/docs/melonjs/Pointer.html#addBounds"},"DUVosB0jwHC6YnnAvFwNO":{"uri":"/melonJS/docs/melonjs/Pointer.html#addFrame"},"1BrikhR2icfd7N5N4jE3w":{"uri":"/melonJS/docs/melonjs/Pointer.html#addPoint"},"FbAAOq6v-3NXp6Lv9CAHB":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerOn"},"toG-S038-63BSKx31uTh4":{"uri":"/melonJS/docs/melonjs/Pointer.html#clear"},"cL9fJb0sSu-M_1BLdgzyG":{"uri":"/melonJS/docs/melonjs/Pointer.html#clone"},"ixd9YOr7IR3U9DphovIGF":{"uri":"/melonJS/docs/melonjs/Pointer.html#contains"},"rG4AL3jVEg5b561Z0DFrS":{"uri":"/melonJS/docs/melonjs/Pointer.html#isFinite"},"02nck1qYzAEi1Ej4lQPbE":{"uri":"/melonJS/docs/melonjs/Pointer.html#overlaps"},"AVgVdh9Izp4TgRYJ1MMwv":{"uri":"/melonJS/docs/melonjs/Pointer.html#setMinMax"},"w0Q4OrSQz2LdeYMRXijhl":{"uri":"/melonJS/docs/melonjs/Pointer.html#shift"},"xY6tEh_rK9n74LaN0OFfI":{"uri":"/melonJS/docs/melonjs/Pointer.html#toPolygon"},"1n4NaUNnOTla2jAW14gud":{"uri":"/melonJS/docs/melonjs/Pointer.html#translate"},"cMwvbxIDYZaZ7jHdeuCP_":{"uri":"/melonJS/docs/melonjs/Pointer.html#update"},"Dcmq6kNDyafjNIfbRURJz":{"uri":"/melonJS/docs/melonjs/Pointer.html#set"},"DgzpZKMatrYb64wgQGGR0":{"uri":"/melonJS/docs/melonjs/Polygon.html"},"CS2aLXYAwfzUmFJdB0o7T":{"uri":"/melonJS/docs/melonjs/Polygon.html#points"},"bMInOjOuW7w6mk9mS73Z6":{"uri":"/melonJS/docs/melonjs/Polygon.html#pos"},"m02BXTXVGSizI-E2WqULd":{"uri":"/melonJS/docs/melonjs/Polygon.html#type"},"r8wsQOPujZ2RgFzr1ZajT":{"uri":"/melonJS/docs/melonjs/Polygon.html#clone"},"wSODW0nqe0s5XTQMi0mC-":{"uri":"/melonJS/docs/melonjs/Polygon.html#constructor"},"1l7kifc3Sim9r1rf5z_oq":{"uri":"/melonJS/docs/melonjs/Polygon.html#contains"},"VYuqPHIiCVqU8pVt-EXR8":{"uri":"/melonJS/docs/melonjs/Polygon.html#getBounds"},"jwCq1iHNLVg4HzcXF3te_":{"uri":"/melonJS/docs/melonjs/Polygon.html#getIndices"},"-Y6RoUByXuWeP_dnpqk5c":{"uri":"/melonJS/docs/melonjs/Polygon.html#isConvex"},"J49i_zTsLv1HrSBW7O5YT":{"uri":"/melonJS/docs/melonjs/Polygon.html#recalc"},"SM4wMukeOK2LdAvW9f25O":{"uri":"/melonJS/docs/melonjs/Polygon.html#rotate"},"GWDk93WjHC2dG8EwRYziN":{"uri":"/melonJS/docs/melonjs/Polygon.html#scale"},"QCsAbMq33t2lyIIB4pthT":{"uri":"/melonJS/docs/melonjs/Polygon.html#scaleV"},"IZ5-c_F8l1-TIhnzjn0Hj":{"uri":"/melonJS/docs/melonjs/Polygon.html#setShape"},"QvDtDTlmwor4IfuPG91e_":{"uri":"/melonJS/docs/melonjs/Polygon.html#setVertices"},"c_8vjnIVUGeDocxTT83FF":{"uri":"/melonJS/docs/melonjs/Polygon.html#shift"},"Zvus2A4coYHbzhrldIXi_":{"uri":"/melonJS/docs/melonjs/Polygon.html#to2d"},"sA7ZT-M3olmetc3G8YB4B":{"uri":"/melonJS/docs/melonjs/Polygon.html#toIso"},"3tt1Z6Z7Xk_fcEbQLELMl":{"uri":"/melonJS/docs/melonjs/Polygon.html#transform"},"mJtOnJqDe58Dle7MzNnC-":{"uri":"/melonJS/docs/melonjs/Polygon.html#translate"},"w1XjKDe-yYw_5TgZLJ2X7":{"uri":"/melonJS/docs/melonjs/Polygon.html#updateBounds"},"MhpA2eVSvvcbf8VCm6eyP":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html"},"rNT4tx6zSXjfxaU5rM8ib":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#attributes"},"34RmXQoJ6LHqFrixJ55PD":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#currentShader"},"up44LCm3FnyGST8OgkeDy":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#defaultShader"},"NhE7XdNBxQYgK6HmFqyX9":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#mode"},"cmlRaIkcbhSq1E0lRexbX":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexByteSize"},"NYxHv9I6y4MdtUDpGmCJY":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexData"},"vLgRd7SEyuAgrLa2N_Oug":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexSize"},"HHjpJoX2N2u6f_uoVHtzX":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#addAttribute"},"RPNlAgpDEsMK3LfOPPjB6":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#bind"},"t1JjWHSgcONx8HutrHYWg":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#constructor"},"VDMVdUonGJriqUD8_PDAj":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#drawVertices"},"INO-LFLlAe_E3zb1FMX9s":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#flush"},"4RzI9-Ox0I0Duj7sj-ybO":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#setProjection"},"_1-D3EZHusTahIUKYbQ1e":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#useShader"},"m1uCuNfxj-Z3KJSRf0uB-":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html"},"75BPaIVEi5jVAIstSl6D1":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#attributes"},"8jf_fjLjGCvUOqAp15_Mo":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#currentShader"},"shl5j5mjdtH87KXnqdl3h":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#defaultShader"},"DJcEE-S7OE5VN8z-HwSUC":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#mode"},"D1qCyITixEy76ql1G_8ze":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexByteSize"},"G1oQlsdXSfy6V_kVCRqT9":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexData"},"u-qzJkq4DWibByZP8v_bU":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexSize"},"7ewjJRxx5gjrwvtJpdQhk":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addAttribute"},"QtjqVKUnaEYH4BLCs4OS8":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addQuad"},"yNNGDv36SFJNf1EAnXIVT":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bind"},"_jy6_ZY369-Wd3Ylh1pkH":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bindTexture2D"},"ts9kZm-f_iy1o-yomekPV":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#constructor"},"Ck6eM7Qa5bbGdFPgufV1C":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#createTexture2D"},"AvvPM6EipyRMWDdHhf3Wp":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#deleteTexture2D"},"nahx61uj3icNaPepjEGsf":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#flush"},"AO41RoXJBeD6Zsyj8PJ6G":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#getTexture2D"},"YXa7DP4yZqGpCumTATexl":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#setProjection"},"LxkmnJyedYS65tpEN5BJG":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#unbindTexture2D"},"DwP1Dn4UqLvDhjG20rVwO":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#useShader"},"Et-IpH8J4V5dM4CY0SMLI":{"uri":"/melonJS/docs/melonjs/QuadTree.html"},"xT6TOkA4WETyccbIH-Zr9":{"uri":"/melonJS/docs/melonjs/QuadTree.html#clear"},"v4SzR_Qp8E8_YDEw2FvG6":{"uri":"/melonJS/docs/melonjs/QuadTree.html#constructor"},"sAKr_Lu8ZwR1BTtMULpmg":{"uri":"/melonJS/docs/melonjs/QuadTree.html#hasChildren"},"ZyTm8c-8gogNCvtFx6cGY":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insert"},"hdgvCPMhfbsQ4VSxk3_u6":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insertContainer"},"88dps2VR8qZYufFIvWhPi":{"uri":"/melonJS/docs/melonjs/QuadTree.html#isPrunable"},"LJb5JuFoHWGhk7sc_jjzo":{"uri":"/melonJS/docs/melonjs/QuadTree.html#remove"},"yrvrhYbbVMGJzJgJr8daj":{"uri":"/melonJS/docs/melonjs/QuadTree.html#retrieve"},"3V28lfzPGSA-lDxHkrEs9":{"uri":"/melonJS/docs/melonjs/Rect.html"},"EtDzONxs8MLcwhvvFcbQ3":{"uri":"/melonJS/docs/melonjs/Rect.html#bottom"},"JBfAfPO0sBJGuOw8TXOrX":{"uri":"/melonJS/docs/melonjs/Rect.html#centerX"},"nOFeoYbHVi33AuiesESE5":{"uri":"/melonJS/docs/melonjs/Rect.html#centerY"},"9wCHxLbErT68BIqyBWu7a":{"uri":"/melonJS/docs/melonjs/Rect.html#height"},"QntttUYXEl3mGGYSMs9TR":{"uri":"/melonJS/docs/melonjs/Rect.html#left"},"nBtDSjbFijwLp-IZpZCmK":{"uri":"/melonJS/docs/melonjs/Rect.html#points"},"wJEqMefHKRST51gfzarGz":{"uri":"/melonJS/docs/melonjs/Rect.html#pos"},"n7WbSjMCJ87FmXmAHWy4j":{"uri":"/melonJS/docs/melonjs/Rect.html#right"},"ofywjq_0IbmrxekD5Bduw":{"uri":"/melonJS/docs/melonjs/Rect.html#top"},"DpijU81RfaSt1f-XVHSkI":{"uri":"/melonJS/docs/melonjs/Rect.html#type"},"TZ-qAXC3X0fsfYewUr2n4":{"uri":"/melonJS/docs/melonjs/Rect.html#width"},"JvwbOURQyygpfce1ZtHGD":{"uri":"/melonJS/docs/melonjs/Rect.html#centerOn"},"BYmsnhNfRv22YmjyrIaJD":{"uri":"/melonJS/docs/melonjs/Rect.html#clone"},"QX0IQSQ7oc_3pMfzkg5Me":{"uri":"/melonJS/docs/melonjs/Rect.html#constructor"},"LYf7zEX0TOvpE5SB0TaaV":{"uri":"/melonJS/docs/melonjs/Rect.html#contains"},"4jG6_hCpUJVVkhA45ahqT":{"uri":"/melonJS/docs/melonjs/Rect.html#copy"},"f17mTix_LLp5GiEQCx9sE":{"uri":"/melonJS/docs/melonjs/Rect.html#equals"},"zwhyN29t0aHPhgHpl9uDs":{"uri":"/melonJS/docs/melonjs/Rect.html#getBounds"},"0bl7nw7tq03Axm_N6PyIu":{"uri":"/melonJS/docs/melonjs/Rect.html#getIndices"},"-4Db5PRyKvANpVGQ1W--j":{"uri":"/melonJS/docs/melonjs/Rect.html#isConvex"},"zbsflfRNtjDhAn9B4Rjeh":{"uri":"/melonJS/docs/melonjs/Rect.html#isFinite"},"t7tIK5dQDufUQB3pDEOqx":{"uri":"/melonJS/docs/melonjs/Rect.html#overlaps"},"UHqqC_-i1i7TAYgLHENyJ":{"uri":"/melonJS/docs/melonjs/Rect.html#recalc"},"zlc6KYAVyhory6QiBaU18":{"uri":"/melonJS/docs/melonjs/Rect.html#resize"},"lHvhmAfMNAVIjTu_HIdKB":{"uri":"/melonJS/docs/melonjs/Rect.html#rotate"},"wP47lrOLI390uDeRRTzCy":{"uri":"/melonJS/docs/melonjs/Rect.html#scale"},"i-k-qkaSyuFJrMGAOz2ch":{"uri":"/melonJS/docs/melonjs/Rect.html#scaleV"},"bZrzenne6BUQ64OK_N069":{"uri":"/melonJS/docs/melonjs/Rect.html#setShape"},"7wBRVsnl7wuWt5YgoNOMW":{"uri":"/melonJS/docs/melonjs/Rect.html#setVertices"},"uLbYJIq4yym5-WaTIyOFz":{"uri":"/melonJS/docs/melonjs/Rect.html#shift"},"wuXie2SVzXl2fC6RhIpo3":{"uri":"/melonJS/docs/melonjs/Rect.html#to2d"},"uBrGLRG4s46PMXYv4KHBv":{"uri":"/melonJS/docs/melonjs/Rect.html#toIso"},"E_-u0gqTjPZ_pVHK_gSYd":{"uri":"/melonJS/docs/melonjs/Rect.html#toPolygon"},"3AHWlNmAoFaOEnd2L159C":{"uri":"/melonJS/docs/melonjs/Rect.html#transform"},"guJgNWxbfEUiOKL6inX3P":{"uri":"/melonJS/docs/melonjs/Rect.html#translate"},"968_NpYFmKhIwYNnf_0De":{"uri":"/melonJS/docs/melonjs/Rect.html#union"},"NN6RTdHajvbTMR7h4pWKJ":{"uri":"/melonJS/docs/melonjs/Rect.html#updateBounds"},"De0fT_WHf1v_S9dyfnJB0":{"uri":"/melonJS/docs/melonjs/Renderable.html"},"AczKrkSCp2hn94mYTYATq":{"uri":"/melonJS/docs/melonjs/Renderable.html#alpha"},"IhOkiZSK4kkO3UgmgRewi":{"uri":"/melonJS/docs/melonjs/Renderable.html#alwaysUpdate"},"yWEBH_37b5ALTQTSuCZbE":{"uri":"/melonJS/docs/melonjs/Renderable.html#ancestor"},"totmIl0cDRqH_D4pATkn0":{"uri":"/melonJS/docs/melonjs/Renderable.html#anchorPoint"},"86nRsk_p2Q6Qkb2bJLTze":{"uri":"/melonJS/docs/melonjs/Renderable.html#autoTransform"},"dxBHr3CPgm5uOZFtD-fYi":{"uri":"/melonJS/docs/melonjs/Renderable.html#blendMode"},"GGwXEuTMIaxue43ZATusq":{"uri":"/melonJS/docs/melonjs/Renderable.html#body"},"E8HjUdGQTFz64vhb1d0tH":{"uri":"/melonJS/docs/melonjs/Renderable.html#bottom"},"FNL25q6KE9dhwUzPSs4y0":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerX"},"mskb-onTjxlfB6e4PziQC":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerY"},"_kKjj5Xi1wjKJUBgyMgv9":{"uri":"/melonJS/docs/melonjs/Renderable.html#currentTransform"},"vX-QLGT3jd0nzE9dkXLJ_":{"uri":"/melonJS/docs/melonjs/Renderable.html#depth"},"FSa4yBbGOYoRp5xg76V3h":{"uri":"/melonJS/docs/melonjs/Renderable.html#floating"},"jgyPgT6fiRvwbdLivl0qU":{"uri":"/melonJS/docs/melonjs/Renderable.html#GUID"},"D0Mmcy143GwDjMrHSBfjN":{"uri":"/melonJS/docs/melonjs/Renderable.html#height"},"Q6T-7lK7yYAS-2yl6jT1x":{"uri":"/melonJS/docs/melonjs/Renderable.html#inViewport"},"Ol2Rwy4bp93irFtkeG7p3":{"uri":"/melonJS/docs/melonjs/Renderable.html#isDirty"},"mrck-vge9QK0m6IH063kq":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedX"},"nvuo0DIP4XnrcITaQ9jEA":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedY"},"D1TvR26eNsLQA598dgsU8":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFloating"},"fjUjIv7AIWLQemEwBATSW":{"uri":"/melonJS/docs/melonjs/Renderable.html#isKinematic"},"YQ-fNvOEiCWNL1fSTq1xr":{"uri":"/melonJS/docs/melonjs/Renderable.html#isPersistent"},"SoROTIFDb4blSmOSdVrT3":{"uri":"/melonJS/docs/melonjs/Renderable.html#left"},"o_mgIEiF1QiVTcVKilQ2J":{"uri":"/melonJS/docs/melonjs/Renderable.html#mask"},"TC7NRTdRyC7-eHtjHapqM":{"uri":"/melonJS/docs/melonjs/Renderable.html#name"},"xS5sontMxSWKyn2rhc5me":{"uri":"/melonJS/docs/melonjs/Renderable.html#onVisibilityChange"},"GbPTU8EOneIdpTzns40o6":{"uri":"/melonJS/docs/melonjs/Renderable.html#parentApp"},"uHl0GooktFhzXSETfnMoo":{"uri":"/melonJS/docs/melonjs/Renderable.html#points"},"JAUjUEpXytfithkbKNLLG":{"uri":"/melonJS/docs/melonjs/Renderable.html#pos"},"7ROj7WazQFx-54m1jlB3t":{"uri":"/melonJS/docs/melonjs/Renderable.html#right"},"Gcby_hL2y2n5XJz98yX_V":{"uri":"/melonJS/docs/melonjs/Renderable.html#shader"},"ebkn3hbQ6LBohOGAE-Ro0":{"uri":"/melonJS/docs/melonjs/Renderable.html#tint"},"_ghbmHuu7kSGqgKGiZETs":{"uri":"/melonJS/docs/melonjs/Renderable.html#top"},"az1TEKq0Yapkh70VSBXP7":{"uri":"/melonJS/docs/melonjs/Renderable.html#type"},"UdPU_PlviUhVlblhBomyH":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateWhenPaused"},"o2BCRiRoO8A0P035IGIGJ":{"uri":"/melonJS/docs/melonjs/Renderable.html#width"},"YKmwkVYqWeD8Rgzh7bP-7":{"uri":"/melonJS/docs/melonjs/Renderable.html#angleTo"},"Zr2oh0LhA9a0jo2OgbC2A":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerOn"},"q3K4iivLdMR6PBfsd-QTG":{"uri":"/melonJS/docs/melonjs/Renderable.html#clone"},"5EjVBNH6tg6_c9rwduAXO":{"uri":"/melonJS/docs/melonjs/Renderable.html#constructor"},"Wa4DZPKzvfg4fyFqdoHUh":{"uri":"/melonJS/docs/melonjs/Renderable.html#contains"},"AKROQkTNSnp1fhHx3Kh4S":{"uri":"/melonJS/docs/melonjs/Renderable.html#copy"},"GrTFi1eldW5sDFkGNeeic":{"uri":"/melonJS/docs/melonjs/Renderable.html#distanceTo"},"wPICCHh6m0BzyJeyAmYds":{"uri":"/melonJS/docs/melonjs/Renderable.html#draw"},"K1NEmzFzHjZLjPYvM4ec7":{"uri":"/melonJS/docs/melonjs/Renderable.html#equals"},"Lyw-qgqx5cCJik4CH-Zjb":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipX"},"L4UOYbVHo6L_esVVBG5uQ":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipY"},"SlJ4p3nbGvr46xNGU4Tco":{"uri":"/melonJS/docs/melonjs/Renderable.html#getAbsolutePosition"},"nBYNmZ3Leu8hR7AMvKmh9":{"uri":"/melonJS/docs/melonjs/Renderable.html#getBounds"},"1wnMy_H-tdB0_IFa7Fv0r":{"uri":"/melonJS/docs/melonjs/Renderable.html#getIndices"},"zaN-mWw3uOCJHZGcXWSKY":{"uri":"/melonJS/docs/melonjs/Renderable.html#getOpacity"},"SvWpi3BeChIpk1NKsVSvW":{"uri":"/melonJS/docs/melonjs/Renderable.html#isConvex"},"yM3C4jYnoRE--7vnJkpQY":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFinite"},"nN7H2TpdBal03xGFZdJkz":{"uri":"/melonJS/docs/melonjs/Renderable.html#lookAt"},"Sk-t5FYQt81AG0zk39CJV":{"uri":"/melonJS/docs/melonjs/Renderable.html#onCollision"},"6VQYIVoiZnhco9rpbQfnT":{"uri":"/melonJS/docs/melonjs/Renderable.html#onDestroyEvent"},"xbAldr8kR26cOaRYlIxua":{"uri":"/melonJS/docs/melonjs/Renderable.html#overlaps"},"nxSo2mWScqN8TjIRFMQUK":{"uri":"/melonJS/docs/melonjs/Renderable.html#postDraw"},"0Jq6hyBp7CQc1smmS-lHm":{"uri":"/melonJS/docs/melonjs/Renderable.html#preDraw"},"XwqJNAt8sUrfVn1i2DkNU":{"uri":"/melonJS/docs/melonjs/Renderable.html#recalc"},"6rucE7lm5D0NwtZciekYt":{"uri":"/melonJS/docs/melonjs/Renderable.html#resize"},"fsij9ZmGdLBvAHgw-LmNt":{"uri":"/melonJS/docs/melonjs/Renderable.html#rotate"},"zLItLxRxptxlSue06h8IN":{"uri":"/melonJS/docs/melonjs/Renderable.html#scale"},"zOt2UWE6qTNYv4NGXYMhX":{"uri":"/melonJS/docs/melonjs/Renderable.html#scaleV"},"ZdixSWVVSlzbng0xEGUpf":{"uri":"/melonJS/docs/melonjs/Renderable.html#setOpacity"},"tXJ0HqEBfiC8pfJTJk30i":{"uri":"/melonJS/docs/melonjs/Renderable.html#setShape"},"j8Gk6BSOZK8pQTKMKhduO":{"uri":"/melonJS/docs/melonjs/Renderable.html#setVertices"},"a3TF9NHQSAACJqMMcvLE-":{"uri":"/melonJS/docs/melonjs/Renderable.html#shift"},"65vxmqQlWJvFqcFYw8mM7":{"uri":"/melonJS/docs/melonjs/Renderable.html#to2d"},"bSjgJ3K8HORltiuWZR24B":{"uri":"/melonJS/docs/melonjs/Renderable.html#toIso"},"Jh3XVlkxkDk6Z1U-utvIA":{"uri":"/melonJS/docs/melonjs/Renderable.html#toPolygon"},"J1kQzTfc-MVPK7_-4YG9D":{"uri":"/melonJS/docs/melonjs/Renderable.html#transform"},"_Ak7K1GV7Ou4anepXFeB4":{"uri":"/melonJS/docs/melonjs/Renderable.html#translate"},"4ruRPGTyKQMyaSS6CYLXI":{"uri":"/melonJS/docs/melonjs/Renderable.html#union"},"AGxiui7L6aFieN9lK4aAe":{"uri":"/melonJS/docs/melonjs/Renderable.html#update"},"txLiDsIZuAp2d3jt1ZrMf":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateBounds"},"CNqeOHlinHjo4dnJ7nfEm":{"uri":"/melonJS/docs/melonjs/Renderable.html#onAnchorUpdate"},"yg0J7Z3z9eFT18C9t3eky":{"uri":"/melonJS/docs/melonjs/Renderer.html"},"UfCHIuNqzpmwNwnk0nzmZ":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html"},"X4pIxyIoaDMJZdIvaboQj":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html#constructor"},"yAKryoq-q7YLwV8PUdCXp":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html"},"crWuklVCApxvQoOaQCQId":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html#constructor"},"VPUDU24ZRKsdBLaR5kxmy":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html"},"DL67XzDiX5w20E9Falcon":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html#constructor"},"Rx-CENHjafhX09MXknIRw":{"uri":"/melonJS/docs/melonjs/Renderer.html#depthTest"},"5OrfP7gLGoIP087rsHNNY":{"uri":"/melonJS/docs/melonjs/Renderer.html#designRatio"},"rvfiDgOlp46--wnspceDb":{"uri":"/melonJS/docs/melonjs/Renderer.html#height"},"OHIeqAWPF-zSEu1DH9FWf":{"uri":"/melonJS/docs/melonjs/Renderer.html#isContextValid"},"P9lJBwPNJFAiQlfTpemac":{"uri":"/melonJS/docs/melonjs/Renderer.html#path2D"},"TLOS8qO5O6dyYlQaS_7d4":{"uri":"/melonJS/docs/melonjs/Renderer.html#scaleRatio"},"Gg72HGRA0aBjvLzGGV4ut":{"uri":"/melonJS/docs/melonjs/Renderer.html#settings"},"_lI_v6ZR0RyzXoknfaNub":{"uri":"/melonJS/docs/melonjs/Renderer.html#type"},"8n_va2S2UrGXnafAKreBZ":{"uri":"/melonJS/docs/melonjs/Renderer.html#width"},"QYQPFAopJYHkwlYhI6D3A":{"uri":"/melonJS/docs/melonjs/Renderer.html#clear"},"9w0QX8h8bmC5P3F4uqyV3":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearMask"},"qzAataY0d10hJFjigQmm_":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearTint"},"9lRHwCoBDa3nZLuASKJOP":{"uri":"/melonJS/docs/melonjs/Renderer.html#constructor"},"s2E9d6JBrLC2NrOO5NKOL":{"uri":"/melonJS/docs/melonjs/Renderer.html#fill"},"eJc2917qd9grixIjxuR4H":{"uri":"/melonJS/docs/melonjs/Renderer.html#flush"},"jNHr-Wbej9F2ra3QTs6Br":{"uri":"/melonJS/docs/melonjs/Renderer.html#getBlendMode"},"-wZqqG-UWHAHu2F5h2yps":{"uri":"/melonJS/docs/melonjs/Renderer.html#getCanvas"},"wm2jfbovK1VAW6LveFbwr":{"uri":"/melonJS/docs/melonjs/Renderer.html#getColor"},"Jqb3LqnPClbXUq4-AOtwB":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext"},"El8PLLFvUkryJ7bOTFzis":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext2d"},"XarZcz40Tl7rY2jDJuvRI":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenCanvas"},"BD8HbLQVBS4Z-CHXhNPq8":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenContext"},"bVjylEgn4Iy4nkrpMpNFW":{"uri":"/melonJS/docs/melonjs/Renderer.html#globalAlpha"},"cXV4gEjcUdqoY9R4T4Rto":{"uri":"/melonJS/docs/melonjs/Renderer.html#overlaps"},"Ns8f9DErqWFsLXE2vmcn1":{"uri":"/melonJS/docs/melonjs/Renderer.html#reset"},"2wMSsJYP4aGOHB1iKK0vy":{"uri":"/melonJS/docs/melonjs/Renderer.html#resize"},"pGx70UeY-7shcutdreHFU":{"uri":"/melonJS/docs/melonjs/Renderer.html#setAntiAlias"},"Z-T3x3pEUasMILb4QJkGT":{"uri":"/melonJS/docs/melonjs/Renderer.html#setMask"},"TUQW4J5O55PTlNMsJR_EF":{"uri":"/melonJS/docs/melonjs/Renderer.html#setProjection"},"c_YxkjC5RcuTIFAx9stZe":{"uri":"/melonJS/docs/melonjs/Renderer.html#setTint"},"G1k8DUktlTJ5rEpB2tU2O":{"uri":"/melonJS/docs/melonjs/Renderer.html#stroke"},"80Pg9NiUbg4ZIfPngMNwS":{"uri":"/melonJS/docs/melonjs/Renderer.html#tint"},"9IvQ-4Km3wdGzLuVpQGtV":{"uri":"/melonJS/docs/melonjs/Renderer.html#toBlob"},"0HQ-yr3YSMI3iUI39iTEO":{"uri":"/melonJS/docs/melonjs/Renderer.html#toDataURL"},"yWDSZM2rZ412bSh7y5GQR":{"uri":"/melonJS/docs/melonjs/Renderer.html#toImageBitmap"},"yUOLxl-0M_wlIO3LKWX7f":{"uri":"/melonJS/docs/melonjs/ResponseObject.html"},"Q8-MbKj7ussL13M7maAfy":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#a"},"EY82KMBA_A5lbuNbril8U":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#aInB"},"v2NjLwnUvgfQU8MuaYxc-":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#b"},"sN1S60V7rhgwuereavE_A":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#bInA"},"Ofp3kKjPs5a9X16NwgaVt":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeA"},"bH9yg4aCDpT0pLcuQp7Zb":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeB"},"NSSGKiKVdTCpy6krnNd0k":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlap"},"HFKXISKiUK8sIx5U7fCMn":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapN"},"xegI6MnmVeZLjzdDuwjMT":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapV"},"V97vz8cKnExtAbXrZtGrz":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#clear"},"8LXt8zMJxVb-FCE7mcWq7":{"uri":"/melonJS/docs/melonjs/RoundRect.html"},"kCRYBSyAPFx4oBZ5TMbQ_":{"uri":"/melonJS/docs/melonjs/RoundRect.html#bottom"},"X2G-z2ipKKhZlpUev3Kkl":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerX"},"Wmq8nO4i0BpFs6LCG_Mz2":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerY"},"enlitriSPQjX1x_t3rOKD":{"uri":"/melonJS/docs/melonjs/RoundRect.html#height"},"l6bCPX1iSDy2RrZNfVBxk":{"uri":"/melonJS/docs/melonjs/RoundRect.html#left"},"_2JTucQ6J6xc94fd0VR12":{"uri":"/melonJS/docs/melonjs/RoundRect.html#points"},"Si93bT7-3SbzYVw3XxqHY":{"uri":"/melonJS/docs/melonjs/RoundRect.html#pos"},"4vzBUh46p6HCVFBnNFpeY":{"uri":"/melonJS/docs/melonjs/RoundRect.html#radius"},"S9-otrsLAHZYOjYEY8Cla":{"uri":"/melonJS/docs/melonjs/RoundRect.html#right"},"3yYhMTQ6G-KCxISCcPX95":{"uri":"/melonJS/docs/melonjs/RoundRect.html#top"},"_DjXdFuFuOVKZjatPAfJO":{"uri":"/melonJS/docs/melonjs/RoundRect.html#type"},"PUuzHBCgg3vKhYR9S06u8":{"uri":"/melonJS/docs/melonjs/RoundRect.html#width"},"wB681WZ6E9SVMO4qJWbGq":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerOn"},"PzVitP9-pWOwVM6XgQEIp":{"uri":"/melonJS/docs/melonjs/RoundRect.html#clone"},"Wadf1ycLENb6cRxmTbZn-":{"uri":"/melonJS/docs/melonjs/RoundRect.html#constructor"},"_HqoefNpyrtQNw9O_4m_C":{"uri":"/melonJS/docs/melonjs/RoundRect.html#contains"},"9vx_sUTz9eFH0f3ychAiH":{"uri":"/melonJS/docs/melonjs/RoundRect.html#copy"},"O4reekeCjAat4lwxzNQhD":{"uri":"/melonJS/docs/melonjs/RoundRect.html#equals"},"tLL_h4XVYQdVH3R1cYYfJ":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getBounds"},"1Fr2pjBSq-6alpQ-dn6qD":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getIndices"},"Mvls-JZuU2PI1xugV6UbY":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isConvex"},"aqG5QJ-7DdM98xF-U5soZ":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isFinite"},"3jzEeKjCZKZa8x07tZ8m5":{"uri":"/melonJS/docs/melonjs/RoundRect.html#overlaps"},"PX7gJUdJCBi20AEQ9t9nu":{"uri":"/melonJS/docs/melonjs/RoundRect.html#recalc"},"kD5dg7tj5byb_rJMUYIBo":{"uri":"/melonJS/docs/melonjs/RoundRect.html#resize"},"6nBTA4LWjv-VIMn0PK4C_":{"uri":"/melonJS/docs/melonjs/RoundRect.html#rotate"},"Id-JUorhZaz4lh7JWpTIO":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scale"},"bgSkYgxF-4qNxZqxCG-6E":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scaleV"},"hpD6Q3tiQuFC3DrwNTjpT":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setShape"},"BxN6qzdpH88wsDeyiu-Tp":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setVertices"},"E9VIrsVeu2w-1j98YazVe":{"uri":"/melonJS/docs/melonjs/RoundRect.html#shift"},"NpoTr_pG-iQk261obSaRU":{"uri":"/melonJS/docs/melonjs/RoundRect.html#to2d"},"UIBNC1lpaE9OWMNrrwMwo":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toIso"},"ZXo0iIB2KVOK0O5NSLpy1":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toPolygon"},"KgTVwK4b2n1bcsQIV3Olz":{"uri":"/melonJS/docs/melonjs/RoundRect.html#transform"},"oaNLSJb8LdG3GubhL89rq":{"uri":"/melonJS/docs/melonjs/RoundRect.html#translate"},"mgb_uhp39uue0jEkMtHhH":{"uri":"/melonJS/docs/melonjs/RoundRect.html#union"},"ck355aVPZZ_vC-8-PLss8":{"uri":"/melonJS/docs/melonjs/RoundRect.html#updateBounds"},"3r2EAupFtkBPnF8gwdR6n":{"uri":"/melonJS/docs/melonjs/Sprite.html"},"v3iwHBtievLFH265w7k9V":{"uri":"/melonJS/docs/melonjs/Sprite.html#alpha"},"7q9buvE3O-tc_dP0e54IN":{"uri":"/melonJS/docs/melonjs/Sprite.html#alwaysUpdate"},"hatDUN1E8mFuCL8BSW2Z3":{"uri":"/melonJS/docs/melonjs/Sprite.html#ancestor"},"sLEmNVdladaOssm9ARAB1":{"uri":"/melonJS/docs/melonjs/Sprite.html#anchorPoint"},"OVkOwkDG9QX3g9ZMomXJ-":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationpause"},"IzP3BtborgaOl_vpD2gte":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationspeed"},"ck7YTAU0sYZjBfSHVJAOv":{"uri":"/melonJS/docs/melonjs/Sprite.html#autoTransform"},"D7KcV3Yxmki86scp_nDu1":{"uri":"/melonJS/docs/melonjs/Sprite.html#blendMode"},"d2HMEX0ZMH7HXBbrLCv9O":{"uri":"/melonJS/docs/melonjs/Sprite.html#body"},"fzmKVIf-wv5S6-9i7vG0N":{"uri":"/melonJS/docs/melonjs/Sprite.html#bottom"},"boLyHlr30eOtBk0b95sEV":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerX"},"uicRzqioLQr7eYwy1xLPi":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerY"},"GafpO3BEjMVD1mPZQf7vG":{"uri":"/melonJS/docs/melonjs/Sprite.html#currentTransform"},"lDEz-HKftxADIFe1ghtJI":{"uri":"/melonJS/docs/melonjs/Sprite.html#depth"},"O5KjqCmNC2EYQrlqvgS71":{"uri":"/melonJS/docs/melonjs/Sprite.html#floating"},"_q3QrnELWC2zqGdBc3ipv":{"uri":"/melonJS/docs/melonjs/Sprite.html#GUID"},"Iv5kqgsqxDTQlfxWYztqd":{"uri":"/melonJS/docs/melonjs/Sprite.html#height"},"aiBL7e9fUmooncZvGabKN":{"uri":"/melonJS/docs/melonjs/Sprite.html#inViewport"},"CovXZ0RLXWud_uAwEklzs":{"uri":"/melonJS/docs/melonjs/Sprite.html#isDirty"},"B4XuDj8tJrOo0T3Px295L":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedX"},"-N7F5y4d3KH9Mllz6QNi1":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedY"},"Vz2iBJz3E02BCqYa5JD89":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFloating"},"YGAv8PPdZ4nfSbda_oLVF":{"uri":"/melonJS/docs/melonjs/Sprite.html#isKinematic"},"gbWzSeOztdoPouTR_eyAT":{"uri":"/melonJS/docs/melonjs/Sprite.html#isPersistent"},"E8jti5snWwFuMoQuOZlth":{"uri":"/melonJS/docs/melonjs/Sprite.html#isVideo"},"h1n54ErMtcchY79K2ApoY":{"uri":"/melonJS/docs/melonjs/Sprite.html#left"},"EAdPnebSZgRhBGKDi2O9T":{"uri":"/melonJS/docs/melonjs/Sprite.html#mask"},"4GfAAH8dPq9-XUYZQtKXM":{"uri":"/melonJS/docs/melonjs/Sprite.html#name"},"NRc10jaZI9bz0b4s4CxF2":{"uri":"/melonJS/docs/melonjs/Sprite.html#offset"},"6j6y6T8sObImsIZ1rNVgL":{"uri":"/melonJS/docs/melonjs/Sprite.html#onVisibilityChange"},"UOhv01t9JLJkyoj65wK2W":{"uri":"/melonJS/docs/melonjs/Sprite.html#parentApp"},"y_i9789tGUqHqUN3VGUfZ":{"uri":"/melonJS/docs/melonjs/Sprite.html#points"},"cCWntGyeOCxi0p3Djqiog":{"uri":"/melonJS/docs/melonjs/Sprite.html#pos"},"dMoute78e_8ASBLKVmnI9":{"uri":"/melonJS/docs/melonjs/Sprite.html#right"},"zaZiW-YTGquvSmenqdRQr":{"uri":"/melonJS/docs/melonjs/Sprite.html#shader"},"Ebx908f2PPHIGMQbp-YIX":{"uri":"/melonJS/docs/melonjs/Sprite.html#source"},"YK5_nZNu5NvVFmlDXSbSG":{"uri":"/melonJS/docs/melonjs/Sprite.html#tint"},"706Q0KdZQd-u2vPy43Ctu":{"uri":"/melonJS/docs/melonjs/Sprite.html#top"},"hJGdI6EzRLd7cETGJGxVy":{"uri":"/melonJS/docs/melonjs/Sprite.html#type"},"dOgsrv4ks-AQMTCjEq_ge":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateWhenPaused"},"9U_iSYKYeOjoZWjUvjAlG":{"uri":"/melonJS/docs/melonjs/Sprite.html#width"},"tsu2cpMkkVQKqhKAe6M0Z":{"uri":"/melonJS/docs/melonjs/Sprite.html#addAnimation"},"33tZbrmS0Ya9_8jBDNHCg":{"uri":"/melonJS/docs/melonjs/Sprite.html#angleTo"},"JvOumUwcUi56wtAa9H0sV":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerOn"},"gVE-JrcjMUu0FbCt1RzYq":{"uri":"/melonJS/docs/melonjs/Sprite.html#clone"},"17lMT74_EUJ2Dnprx0YQ9":{"uri":"/melonJS/docs/melonjs/Sprite.html#constructor"},"U-7wRNvERFmNXLEvJekp5":{"uri":"/melonJS/docs/melonjs/Sprite.html#contains"},"lo_i18UoXlLjKNMP7-FOX":{"uri":"/melonJS/docs/melonjs/Sprite.html#copy"},"fC2InEWUvpImwy6Z053k0":{"uri":"/melonJS/docs/melonjs/Sprite.html#distanceTo"},"7jKPcVEYs8ITU2sidIcUC":{"uri":"/melonJS/docs/melonjs/Sprite.html#equals"},"8KLyR8V0NKyP1TaYyLYDA":{"uri":"/melonJS/docs/melonjs/Sprite.html#flicker"},"DWFKFwAaseoAs6EBWpZ7J":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipX"},"3lmZLIAgExPakFqDVtOYt":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipY"},"xlTQnS9tIuhRse2kdIp5Y":{"uri":"/melonJS/docs/melonjs/Sprite.html#getAbsolutePosition"},"bR1aQIJX13GBERA-v5YFs":{"uri":"/melonJS/docs/melonjs/Sprite.html#getBounds"},"M_kLS-zAQV7Q5oJ4x7aVt":{"uri":"/melonJS/docs/melonjs/Sprite.html#getCurrentAnimationFrame"},"qWOW1RWiymYasdELaqC4G":{"uri":"/melonJS/docs/melonjs/Sprite.html#getIndices"},"HpzQyNt-yr0IiRt8V-ApB":{"uri":"/melonJS/docs/melonjs/Sprite.html#getOpacity"},"1OVybjL2Osx1soJPdmesx":{"uri":"/melonJS/docs/melonjs/Sprite.html#isConvex"},"p9aShWaFt-tpRu0PxcJ78":{"uri":"/melonJS/docs/melonjs/Sprite.html#isCurrentAnimation"},"kZSNZAWFZOeeY0mfBM-W_":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFinite"},"m_45FJ9ojNinryc4xiZnG":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlickering"},"XZE3aAM-cadG_iA1ttgia":{"uri":"/melonJS/docs/melonjs/Sprite.html#lookAt"},"BC-P-cwtBH6uLElgt6Qzy":{"uri":"/melonJS/docs/melonjs/Sprite.html#onCollision"},"eGR0TOGBM6EKruonKg7kM":{"uri":"/melonJS/docs/melonjs/Sprite.html#onDestroyEvent"},"TpDsuR-2AHxIQlOtOS3hK":{"uri":"/melonJS/docs/melonjs/Sprite.html#overlaps"},"blFnihRlrRuIFfou3loYw":{"uri":"/melonJS/docs/melonjs/Sprite.html#pause"},"7xYqdiF7BQB9vr-4H7OLC":{"uri":"/melonJS/docs/melonjs/Sprite.html#play"},"tpzojCd3-Miaw0CiPN1v5":{"uri":"/melonJS/docs/melonjs/Sprite.html#postDraw"},"OKWxM0tDbZvs_aoMf8w6K":{"uri":"/melonJS/docs/melonjs/Sprite.html#preDraw"},"JCeB88UaNzvTtCU9uhC93":{"uri":"/melonJS/docs/melonjs/Sprite.html#recalc"},"J33-T7vIKhmzfiu9BUrqs":{"uri":"/melonJS/docs/melonjs/Sprite.html#resize"},"fZW6wAlI6vQGlmX7cpfzP":{"uri":"/melonJS/docs/melonjs/Sprite.html#reverseAnimation"},"qRx3F9W0lttUGNeRq5OyU":{"uri":"/melonJS/docs/melonjs/Sprite.html#rotate"},"qGSpw024UfQksovIJsbce":{"uri":"/melonJS/docs/melonjs/Sprite.html#scale"},"e0H6Y1ltRgzqohAaF649W":{"uri":"/melonJS/docs/melonjs/Sprite.html#scaleV"},"HIxprkffKUOPf-8YiBLEo":{"uri":"/melonJS/docs/melonjs/Sprite.html#setAnimationFrame"},"ziLc-KK--Yo4zMk3oatPm":{"uri":"/melonJS/docs/melonjs/Sprite.html#setCurrentAnimation"},"hKrKkxTnqi8FHqzE1zDFe":{"uri":"/melonJS/docs/melonjs/Sprite.html#setOpacity"},"NnrkQFqGqbwwzpBClpXzQ":{"uri":"/melonJS/docs/melonjs/Sprite.html#setRegion"},"x5mMkpoPi81PC9_yZwAZ0":{"uri":"/melonJS/docs/melonjs/Sprite.html#setShape"},"AIsYajuA5FEqXpLVit72y":{"uri":"/melonJS/docs/melonjs/Sprite.html#setVertices"},"H2USSXm3JCtE_dg6QDluF":{"uri":"/melonJS/docs/melonjs/Sprite.html#shift"},"9K37RXcpu-i5vmLDquqOt":{"uri":"/melonJS/docs/melonjs/Sprite.html#to2d"},"-2zK9Qq6uwwLvVjpSnj7W":{"uri":"/melonJS/docs/melonjs/Sprite.html#toIso"},"wK1Tcjfqp63fobA1u_3Ir":{"uri":"/melonJS/docs/melonjs/Sprite.html#toPolygon"},"dvb2ZyUDhlzRepgk2rUWG":{"uri":"/melonJS/docs/melonjs/Sprite.html#transform"},"OGU85bXuiE-kssBbyDM9d":{"uri":"/melonJS/docs/melonjs/Sprite.html#translate"},"Mhu8r1Kl_JR8AqWjHKEyA":{"uri":"/melonJS/docs/melonjs/Sprite.html#union"},"FIcjwq5fq3OmEEmTYEeP8":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateBounds"},"d-DuyhLBA3xCxPpNA-H_b":{"uri":"/melonJS/docs/melonjs/Sprite.html#draw"},"HY3qV6wHx-gtH0-jUeg1R":{"uri":"/melonJS/docs/melonjs/Sprite.html#update"},"yx1Kl3hLSmZ47Dkp5cL8Z":{"uri":"/melonJS/docs/melonjs/Sprite.html#onAnchorUpdate"},"SiBcRsN5FAPfv014o1hu9":{"uri":"/melonJS/docs/melonjs/Stage.html"},"xWLidsZiGCvJBYW_R_vjj":{"uri":"/melonJS/docs/melonjs/Stage.html#ambientLight"},"9K8IN_n-kxapQvMYUPPzu":{"uri":"/melonJS/docs/melonjs/Stage.html#cameras"},"jWdscR099zfypuryUHOCq":{"uri":"/melonJS/docs/melonjs/Stage.html#lights"},"nca3LdA0XxY6k4I0ojEbY":{"uri":"/melonJS/docs/melonjs/Stage.html#settings"},"R3ypB9NOQMdqoSUOhee_r":{"uri":"/melonJS/docs/melonjs/Stage.html#constructor"},"UdIes3MTkeAR-OyXqdKj9":{"uri":"/melonJS/docs/melonjs/Stage.html#onDestroyEvent"},"5M7FJM6cJ4et8ljb1qFRE":{"uri":"/melonJS/docs/melonjs/Stage.html#onResetEvent"},"mZEMibu_TlPa7oLUT7Sk9":{"uri":"/melonJS/docs/melonjs/Text.html"},"tWcM3XpdJOgT8xYB5moZb":{"uri":"/melonJS/docs/melonjs/Text.html#alpha"},"_fcJlh4KnqUzkHpiNbPCk":{"uri":"/melonJS/docs/melonjs/Text.html#alwaysUpdate"},"kMVxrb0-pJW3gZnIGB9VP":{"uri":"/melonJS/docs/melonjs/Text.html#ancestor"},"AMujGR_0g5niZ_8TNGwFs":{"uri":"/melonJS/docs/melonjs/Text.html#anchorPoint"},"35LTgYJjEGpg1jw36HzxB":{"uri":"/melonJS/docs/melonjs/Text.html#autoTransform"},"JQ6Fp4lc60qLZ0JWADSmW":{"uri":"/melonJS/docs/melonjs/Text.html#blendMode"},"sOcIoisrYC0toKiJhqhDW":{"uri":"/melonJS/docs/melonjs/Text.html#body"},"cYhBuoLOtM_t6UBBuz46J":{"uri":"/melonJS/docs/melonjs/Text.html#bottom"},"KkDjckLc3mLZDTYskgmco":{"uri":"/melonJS/docs/melonjs/Text.html#centerX"},"aQWQM9KCGYT9TvaCzFTmY":{"uri":"/melonJS/docs/melonjs/Text.html#centerY"},"YXQ9HoHl1U0YQSguzdJpi":{"uri":"/melonJS/docs/melonjs/Text.html#currentTransform"},"mK5FOpRWSJeQCnfIrhiUj":{"uri":"/melonJS/docs/melonjs/Text.html#depth"},"LfuzbfUEAc5G2nsLEerOw":{"uri":"/melonJS/docs/melonjs/Text.html#fillStyle"},"IpATyKM2Y4ptSch1Iw0uO":{"uri":"/melonJS/docs/melonjs/Text.html#floating"},"yPsG1lfdh1u3lGnA3YkFU":{"uri":"/melonJS/docs/melonjs/Text.html#fontSize"},"MZciFB4XOtYEZwcazs1ii":{"uri":"/melonJS/docs/melonjs/Text.html#GUID"},"qLop2wE_zt4H1X9PIyNlh":{"uri":"/melonJS/docs/melonjs/Text.html#height"},"tTgujURcUqKqKVFRfkXfO":{"uri":"/melonJS/docs/melonjs/Text.html#inViewport"},"aRmSCRx_wGnICyezO13G5":{"uri":"/melonJS/docs/melonjs/Text.html#isDirty"},"wSsRdQC4Utjqbv2-l8z2O":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedX"},"eQGY3ZHkTwNwnoqacTqjs":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedY"},"C0OI8G6kbcp10n3sJOYvQ":{"uri":"/melonJS/docs/melonjs/Text.html#isFloating"},"c--WjNQP7L-gbl8ohYzhQ":{"uri":"/melonJS/docs/melonjs/Text.html#isKinematic"},"a2wFFKVduWIVNNZIini-X":{"uri":"/melonJS/docs/melonjs/Text.html#isPersistent"},"OA_ooJb392Zw6b0M_bhWc":{"uri":"/melonJS/docs/melonjs/Text.html#left"},"_yEEzuRidcx6Y2hrQELsN":{"uri":"/melonJS/docs/melonjs/Text.html#lineHeight"},"eAamA38B1JFwUuW55LU8Z":{"uri":"/melonJS/docs/melonjs/Text.html#lineWidth"},"cg3u8_U_EbZD1JlCpqPWb":{"uri":"/melonJS/docs/melonjs/Text.html#mask"},"GFclksKyfMPhzJirpfihk":{"uri":"/melonJS/docs/melonjs/Text.html#name"},"wtWSFJ2SWKMdpxTy2gg5u":{"uri":"/melonJS/docs/melonjs/Text.html#onVisibilityChange"},"dGFouICMMA1No521prTjp":{"uri":"/melonJS/docs/melonjs/Text.html#parentApp"},"-jKwXzUPaVcUYxFKXbio2":{"uri":"/melonJS/docs/melonjs/Text.html#points"},"0zRqqgB7oQMMvr-PoKnJL":{"uri":"/melonJS/docs/melonjs/Text.html#pos"},"2-J_E78yHsuIlQdwiXVyW":{"uri":"/melonJS/docs/melonjs/Text.html#right"},"bu3u_YW6QJ_kP3oIIu58X":{"uri":"/melonJS/docs/melonjs/Text.html#shader"},"XrXfcJ4Nqs4Yrteri-hLV":{"uri":"/melonJS/docs/melonjs/Text.html#strokeStyle"},"rqDDkWVTys0SFau1N1j5i":{"uri":"/melonJS/docs/melonjs/Text.html#textAlign"},"T9QOjV-7DTZeG6nxoXkZj":{"uri":"/melonJS/docs/melonjs/Text.html#textBaseline"},"1fzhu82-iRf4fUXZvm6U5":{"uri":"/melonJS/docs/melonjs/Text.html#tint"},"sgOJi38-vU3AlKabk9Ehd":{"uri":"/melonJS/docs/melonjs/Text.html#top"},"IK0Elm7ojayPv0YpBwi1s":{"uri":"/melonJS/docs/melonjs/Text.html#type"},"ar0FEFVdZ2UKkW59HQtGA":{"uri":"/melonJS/docs/melonjs/Text.html#updateWhenPaused"},"Xd8f-xVN7VoyxfG4-ln05":{"uri":"/melonJS/docs/melonjs/Text.html#width"},"nYNSofm6D2KPBVN81Ns8m":{"uri":"/melonJS/docs/melonjs/Text.html#wordWrapWidth"},"1zbm8Dp3rsaJq-NDXlwL-":{"uri":"/melonJS/docs/melonjs/Text.html#_text"},"Qql0VUGFr3u2ssGMj1wDV":{"uri":"/melonJS/docs/melonjs/Text.html#angleTo"},"haWA6eJFGP62HS0lptXRL":{"uri":"/melonJS/docs/melonjs/Text.html#bold"},"WYBGXUyqODujriUoXDnoO":{"uri":"/melonJS/docs/melonjs/Text.html#centerOn"},"Vp8-xDTsE2XuB7x_5RWgx":{"uri":"/melonJS/docs/melonjs/Text.html#clone"},"Sc4OUuxOm9nlkk4pTujh3":{"uri":"/melonJS/docs/melonjs/Text.html#constructor"},"-Dgert8v9wF4sg1GwhXvX":{"uri":"/melonJS/docs/melonjs/Text.html#contains"},"sXI2o5Bmq164-PCNBVCdD":{"uri":"/melonJS/docs/melonjs/Text.html#copy"},"CZfluXplCGFYaC019APon":{"uri":"/melonJS/docs/melonjs/Text.html#distanceTo"},"SaSvGH0c2Tl5AsrtDCWMq":{"uri":"/melonJS/docs/melonjs/Text.html#draw"},"d-N0cTDWbqlmHHyOANcIU":{"uri":"/melonJS/docs/melonjs/Text.html#drawStroke"},"M5S3F6chlxySPDzJju0jq":{"uri":"/melonJS/docs/melonjs/Text.html#equals"},"I10WLgcgJ9Fed1rcdFTHD":{"uri":"/melonJS/docs/melonjs/Text.html#flipX"},"nz4TcfQS2CG8pVLHRDjHW":{"uri":"/melonJS/docs/melonjs/Text.html#flipY"},"KFlABayPtEta7ZXM-lgmg":{"uri":"/melonJS/docs/melonjs/Text.html#getAbsolutePosition"},"XcH6kWPcxdeRBeEWtThD3":{"uri":"/melonJS/docs/melonjs/Text.html#getBounds"},"GJ9Jp0flMm33v1GETEER0":{"uri":"/melonJS/docs/melonjs/Text.html#getIndices"},"G1rtjJN_gTqw1cU_ARuRU":{"uri":"/melonJS/docs/melonjs/Text.html#getOpacity"},"OEZ3JmQz9QtoIuDPqSemC":{"uri":"/melonJS/docs/melonjs/Text.html#isConvex"},"QEbHhcEFYK7wbS5kMMDl9":{"uri":"/melonJS/docs/melonjs/Text.html#isFinite"},"YxDuB72uOxzxei_TbBfec":{"uri":"/melonJS/docs/melonjs/Text.html#italic"},"zxUKMxoBchpohLL_p9hrG":{"uri":"/melonJS/docs/melonjs/Text.html#lookAt"},"137HEZ8_LgiSzbsJRl1Le":{"uri":"/melonJS/docs/melonjs/Text.html#measureText"},"9ew9UTltllR63UMXDSU4X":{"uri":"/melonJS/docs/melonjs/Text.html#onCollision"},"NuV5fDU-FNYQRx-NmNIyp":{"uri":"/melonJS/docs/melonjs/Text.html#onDestroyEvent"},"oCJIv2xHCUyBA4X57OVv4":{"uri":"/melonJS/docs/melonjs/Text.html#overlaps"},"BLSS_4HWufjR78V_CrgI1":{"uri":"/melonJS/docs/melonjs/Text.html#postDraw"},"pdZEGA8hxrU6f1qr3WVMp":{"uri":"/melonJS/docs/melonjs/Text.html#preDraw"},"Q7CsnsNEx2WTJJ--C1IfR":{"uri":"/melonJS/docs/melonjs/Text.html#recalc"},"ikOohl3HQIaYWA23KtRRa":{"uri":"/melonJS/docs/melonjs/Text.html#resize"},"sODvYW5iZnaFzx05h82kO":{"uri":"/melonJS/docs/melonjs/Text.html#rotate"},"QUlPfEN4I-PJDXVH2A7mg":{"uri":"/melonJS/docs/melonjs/Text.html#scale"},"-VTOuYKPYZSztffDG7ZSP":{"uri":"/melonJS/docs/melonjs/Text.html#scaleV"},"pdC1AlDX-FpoMVu3_oRHm":{"uri":"/melonJS/docs/melonjs/Text.html#setFont"},"wcuTFHF--Svf9lhGi51QT":{"uri":"/melonJS/docs/melonjs/Text.html#setOpacity"},"Z4rUYRDkMztvtw78k4hSN":{"uri":"/melonJS/docs/melonjs/Text.html#setShape"},"vF3-6VxyX-e7F57tHtWq-":{"uri":"/melonJS/docs/melonjs/Text.html#setText"},"3gec8Fb32VgGNuoDCp-TB":{"uri":"/melonJS/docs/melonjs/Text.html#setVertices"},"Ol_uZQ6AjtHKnaB1Yg9YD":{"uri":"/melonJS/docs/melonjs/Text.html#shift"},"sVkccSYv4jrnqrbJuk0jS":{"uri":"/melonJS/docs/melonjs/Text.html#to2d"},"06J1M5Dg8s-HbAhYf-0mB":{"uri":"/melonJS/docs/melonjs/Text.html#toIso"},"9lxenuzMY7QoOzruDAXwm":{"uri":"/melonJS/docs/melonjs/Text.html#toPolygon"},"t5A-rXZQIjSdNoDRkxI_Z":{"uri":"/melonJS/docs/melonjs/Text.html#transform"},"14jLwbQWP7KTPsWu5hh1k":{"uri":"/melonJS/docs/melonjs/Text.html#translate"},"ZTiOx41EcQA2_jX_U2stk":{"uri":"/melonJS/docs/melonjs/Text.html#union"},"83JnVQK1YJktphulbjaa0":{"uri":"/melonJS/docs/melonjs/Text.html#update"},"Llg3GHdbtirDx3dX7iPts":{"uri":"/melonJS/docs/melonjs/Text.html#updateBounds"},"Okw1kpfZ2X7UtUMoY3wI5":{"uri":"/melonJS/docs/melonjs/Text.html#onAnchorUpdate"},"irxzK9XywQKZSudCE44lA":{"uri":"/melonJS/docs/melonjs/TextMetrics.html"},"I4raND6kCAOADoc7u7nHF":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#ancestor"},"h-npZFvHhLuodgzdnYeL2":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#bottom"},"i-PagWNuDPMxFSjbLLx0P":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#center"},"b4uubJUcfWX1OePhvsdm0":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerX"},"gXYwNfYEmsWYKbRrJ_Nmh":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerY"},"0BX_5Q3UyHMQ2f4iGvpzf":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#height"},"D3fhlCckTsNkxXlhB-trq":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#left"},"FU-qRweEBCtrfPZG1I8dc":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#right"},"JtMQmjNplArujjkujByBE":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#top"},"zzlD73eOA86bhFBvnI7Ug":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#type"},"o5br_TXRF8RMitsE4O7Db":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#width"},"U1LljaD5ltVqkPHn2Abzh":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#x"},"EVBR50fcubn1nm-4v7QdH":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#y"},"auyjiU0rNQH6RADuIb5kN":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#add"},"61YX9uUQoU0MqRTcxApbu":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addBounds"},"AKbXou7sSbZ36H6YCwaVO":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addFrame"},"8mZFwvIbRIKaNSdNhNQNH":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addPoint"},"G7Bhwew0wNuYFGGii2I7N":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerOn"},"mpRNCtA75jNufwNSxesvI":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clear"},"QQ2rGhkOEk2J2BpIf3W8w":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clone"},"G62zUD4QAG_SeRNjQJW-M":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#constructor"},"CVuPzskMgUks8rOUuL76_":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#contains"},"qkGvJsVEN8QPRg53H_JSh":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#isFinite"},"lUQoRGKqmg1IYLFfZndVn":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineHeight"},"BzLzOmmba2ctpBe6wXXCA":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineWidth"},"IRXbPhMi2AErtCQwnprWa":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#measureText"},"2qhaDP8CsKCvK6FlX_oYJ":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#overlaps"},"paDrukncKdAUYATNDBkcS":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#setMinMax"},"IHqLTAO9keNOpTdoiScm4":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#shift"},"DaBJ2byHlV4Ay598aYkIs":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#toPolygon"},"2Ue_jVIBF7YjEsZ1UVDKB":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#translate"},"CWID8tKZCN4YkHDhpFMsB":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#update"},"d_IcJEBrTVSKx3E2BSvtX":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#wordWrap"},"JUxmEn7oRlkv0cfmujig9":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html"},"uW6d09xFT6k9ZSlYIwPi3":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addRegion"},"SbHD_0A6mC0VBobvNA-jR":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addUVs"},"gG8UtSgWCz9mDTQ0NcN80":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#constructor"},"GwkTdoPtNy-xbILTVG89J":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createAnimationFromName"},"7kjXe9eejxXTOhdUXGT2B":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createSpriteFromName"},"Gq9lRF7qsd7ALmJ8LXQJ8":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getAtlas"},"mnIhSFJFK0f9VkrTR2E-y":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getFormat"},"BexZqnTaAqzU_SAOZzX5c":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getRegion"},"voYIAaHSE1H2hBF-BZznn":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getTexture"},"qV0badKrJApOz2qwKYfkK":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getUVs"},"wvwvYUtKqo2pAMnoyXXTR":{"uri":"/melonJS/docs/melonjs/Tile.html"},"IzKqR1SuJtEcMJPzET-5b":{"uri":"/melonJS/docs/melonjs/Tile.html#bottom"},"gljkk6XK4UKRYmBmlxs-u":{"uri":"/melonJS/docs/melonjs/Tile.html#center"},"cQ9SX55GIDfWxleky2tYr":{"uri":"/melonJS/docs/melonjs/Tile.html#centerX"},"Pe794RAkT2zJoxrrU6URW":{"uri":"/melonJS/docs/melonjs/Tile.html#centerY"},"d9vFcc4TMxuVRZQmDZ2KI":{"uri":"/melonJS/docs/melonjs/Tile.html#flipped"},"7Fam29VhBROEWvqe_0LQS":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedAD"},"tRQHaxaFWIB-hXrCXjDzd":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedX"},"nVUQ6vsfmj57do0TM-2OO":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedY"},"LTGJ8mlt2wlj-KkPPb8fj":{"uri":"/melonJS/docs/melonjs/Tile.html#height"},"pP5IX_Ji6qEH6T7G7mGYN":{"uri":"/melonJS/docs/melonjs/Tile.html#left"},"Hn0kjxCWGb2OSmtFZY5JB":{"uri":"/melonJS/docs/melonjs/Tile.html#right"},"SZq_QpGDm99crzCJ-8b8l":{"uri":"/melonJS/docs/melonjs/Tile.html#tileId"},"MfjvY9GNJCgW4rzjDEaQT":{"uri":"/melonJS/docs/melonjs/Tile.html#tileset"},"TNBc2WJN4j85O-8vRxB1C":{"uri":"/melonJS/docs/melonjs/Tile.html#top"},"tds8p38cerxd8xy8Njtdt":{"uri":"/melonJS/docs/melonjs/Tile.html#type"},"BvSPPeVjyGWlJ9IGk7hUv":{"uri":"/melonJS/docs/melonjs/Tile.html#width"},"_YMboIzQMnMx_RgLPeNV0":{"uri":"/melonJS/docs/melonjs/Tile.html#x"},"hD0T1OKZu4Lxekyz9x2GI":{"uri":"/melonJS/docs/melonjs/Tile.html#y"},"VH8KvHk6q_73BRhIh3R8i":{"uri":"/melonJS/docs/melonjs/Tile.html#add"},"YkCpdyRp_PKWJ0vd2FzSr":{"uri":"/melonJS/docs/melonjs/Tile.html#addBounds"},"_cOmiDo6cd1rPEJrlfMhG":{"uri":"/melonJS/docs/melonjs/Tile.html#addFrame"},"XuRtbcKJu1PD6WgJiaa2w":{"uri":"/melonJS/docs/melonjs/Tile.html#addPoint"},"8TIDk9nj0znWg0jbMHhfI":{"uri":"/melonJS/docs/melonjs/Tile.html#centerOn"},"en2iQKVCgsqjSnr2FwIyV":{"uri":"/melonJS/docs/melonjs/Tile.html#clear"},"jsocimYT41fsb-Om_ovz8":{"uri":"/melonJS/docs/melonjs/Tile.html#clone"},"mqmrxhWxO2Q1AyBFuvOep":{"uri":"/melonJS/docs/melonjs/Tile.html#constructor"},"XU1oBhjG5LyOUoSi1XkzZ":{"uri":"/melonJS/docs/melonjs/Tile.html#contains"},"CjvlU2t8Alf3s8K4BnkB8":{"uri":"/melonJS/docs/melonjs/Tile.html#getRenderable"},"rvbp0tfq0sOALUS69V4iO":{"uri":"/melonJS/docs/melonjs/Tile.html#isFinite"},"F_7XfQmQZ253fWB8B2IRs":{"uri":"/melonJS/docs/melonjs/Tile.html#overlaps"},"TbUQLromsTrFKtiho6se9":{"uri":"/melonJS/docs/melonjs/Tile.html#setMinMax"},"nek_8QkF3JVU3LAVlcret":{"uri":"/melonJS/docs/melonjs/Tile.html#shift"},"a2WqpjF8gqLgw10Lqsfsp":{"uri":"/melonJS/docs/melonjs/Tile.html#toPolygon"},"YWpap2_prHUmrhizl0ehx":{"uri":"/melonJS/docs/melonjs/Tile.html#translate"},"HQeK_bHJBWY8eIG6B5TL-":{"uri":"/melonJS/docs/melonjs/Tile.html#update"},"pUfsHVt8S5XmR1Vzw3qKb":{"uri":"/melonJS/docs/melonjs/Timer_.html"},"N7m0WBoGL8TIM3b0wKf4z":{"uri":"/melonJS/docs/melonjs/Timer_.html#fps"},"8S3TvojvCRbj3Y-9O3LGk":{"uri":"/melonJS/docs/melonjs/Timer_.html#interpolation"},"kvJZt608fG1-SYxxjIJoM":{"uri":"/melonJS/docs/melonjs/Timer_.html#maxfps"},"IJXp8uOiZE0o4vhzZpfR5":{"uri":"/melonJS/docs/melonjs/Timer_.html#tick"},"TFXqy5KY6WYu3uFFJYT3t":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearInterval"},"eTcfa2bUW2exZ_wkf6GXs":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearTimeout"},"8ns4Vlnt9hdfpX4L_iQt5":{"uri":"/melonJS/docs/melonjs/Timer_.html#getDelta"},"D4EpgEQi7neB3N5qC7Fnc":{"uri":"/melonJS/docs/melonjs/Timer_.html#getTime"},"vNX3ZKYAytNoOEJTddYIV":{"uri":"/melonJS/docs/melonjs/Timer_.html#setInterval"},"_a4CwYC8Jn5D6NDlqwwUC":{"uri":"/melonJS/docs/melonjs/Timer_.html#setTimeout"},"k8djpWrY6o9CvCsUUUGGu":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html"},"zECXEVQqKR1FT4XX5WLUc":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#canRender"},"Lc0DYW5-ZGiTSIVS6iyRe":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#constructor"},"6r6yayfdZBbFtbZ9x4o4A":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTile"},"6gQU1g-4epO_GuyDhiKlG":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTileLayer"},"em2fDSpInkH6kRsWscPtv":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#getBounds"},"IfZ_SE134I2_OI_b9bkzk":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#pixelToTileCoords"},"9NF98PmsibH-llFo4xIxR":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#tileToPixelCoords"},"55FRg3tKSiI7RPtB2MT2D":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html"},"L_tKLbG8DOXfdUHb_LHGi":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#canRender"},"1kfOkO-nrvo8j6oRLBWIV":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#constructor"},"BQ054yQ3IiHmhe1UC1VQU":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTile"},"IZERQXlosVy1DgU2gUkiv":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTileLayer"},"m362matGcGDZ2RNzzIwML":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#getBounds"},"nEj-jALeTSCu-LQoHeesp":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#pixelToTileCoords"},"1D3IY36njvjJiplUf6DyE":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#tileToPixelCoords"},"d1y6fOhj4Z5H3B6aXrW11":{"uri":"/melonJS/docs/melonjs/TMXLayer.html"},"tW4rFGt9GErBKPYjgc0n6":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alpha"},"yA9TN64nbZUjwRPVNNeu9":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alwaysUpdate"},"ObuzFsNJWQbOQMlZDrfVd":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#ancestor"},"IGihQlkIZYZ73TeD_xs3Q":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#anchorPoint"},"36NjYn7ULlUhtPvGm7XuJ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#animatedTilesets"},"oP_QGTGcqMaOwtpuppskP":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#autoTransform"},"Ozj-kgtQL6WduTroy0Jtq":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#blendMode"},"m7LrqkOxwVFtt97lS9LQv":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#body"},"hQHwyK5kd8AngmQmhQAJ_":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#bottom"},"eG6ZI1eBLBMeEM_fYGeoP":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerX"},"Y-0RSFff8qcRVRa285jpN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerY"},"v9oALU3W0wwBj_KX7yAnG":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#class"},"sJDYs9gjSfS6Eo6EO9PrD":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#currentTransform"},"_iC56S9kr3hcCEE2q3mrn":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#depth"},"BLA5LWEveDBf5E4AGzYfA":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#floating"},"O-q5X4gEXpQ83Lqmz2NIO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#GUID"},"4KpKIwZQ4fMc6dwXTRMBf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#height"},"sOG_ZI9XBkR6hp_qi8pTj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#inViewport"},"C60jMEbsMrHBqmIJ7rO4q":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isAnimated"},"r9Olfr-D8tr-M9bWok3s8":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isDirty"},"QXTeS4Tw5Vesjbg_YIwwN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedX"},"Q0FJbXteO7gQsWbRknnfx":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedY"},"meJosZVherIFAdp64eMRy":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFloating"},"7nuH64Qj2-dVR1OKBOvZj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isKinematic"},"TO-Qas3ZIoC0vdYZrzgKx":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isPersistent"},"6svuBfEgkpJzR122lXMWc":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#left"},"KiS9HeDnwVca710EWdywa":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#mask"},"0sItwL_ZcG1oTrL7-B0D8":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#name"},"q9c0LMdpYCTxpsMKh4QJB":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onVisibilityChange"},"uqAXVlZUVKDIKVtHn5uVX":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#parentApp"},"SXEptethEvoSPciOMHBKC":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#points"},"fHrg2yA8V2kO-JVky2MA6":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#pos"},"OfKQ9CPpL0bRRAFCkOTFV":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#renderorder"},"NvcZk1k78R4KPLGj1htgZ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#right"},"aOM2GJ2CPf_3KqM1iyZwT":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shader"},"wd2WVlCoff0P0YO_484KV":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tilesets"},"AQA37met7VOEwi1igMlpg":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tint"},"wHdHOSgHTJvroqWE382gw":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#top"},"F0I4VkVYaqh8-rfcBopmx":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#type"},"t87Mb9px7dGeP2OuYDvaL":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateWhenPaused"},"bl6kBEjAZX41RtFU11zs6":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#width"},"uZ8ptVCuHv_5GAP6x_545":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#x"},"n98qM5kR1M-ZlxeONTNdO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#y"},"mibwxUivDOCHeIvxusewA":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#angleTo"},"FU_9DpHz7cEkRDLOx2nLf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#cellAt"},"NNKNQhtCQOgWfAeyWf1TV":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerOn"},"jkEglGm13ntzBIGF7xUtJ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clearTile"},"aTGkEA2J8vMzJsIaCXGux":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clone"},"qZuVuFik5K8sirT0308Qw":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#constructor"},"32KNS35zJ9fY5gg_gt9nq":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#contains"},"fslp1XxZFtUk-5GWc79nk":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#copy"},"nRUW0a2ESMtIbxSnjTPel":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#distanceTo"},"zaTN4g3k2K_JSXPzmxSpe":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#draw"},"CNQSfJWGVodsQqqM0uYVW":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#equals"},"ydqa9NrglLecRajP7pUxR":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipX"},"Ddhq4w3Ga8W2J1POzALSo":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipY"},"734IYMRvVH7QGjAFByi5M":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getAbsolutePosition"},"vCPLDCuTNvSMdsL8zB8JN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getBounds"},"Y7YfyQlbRSe6MFMKSatQU":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getIndices"},"DywfuoCpVNZDcfFD3LIGB":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getOpacity"},"yMQHDQt94S5Yx3AuTo1PI":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getRenderer"},"d84RT8GLJgUbjfyBqq8sj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTile"},"0mtUI_88mygh6JG8WKyAu":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileById"},"4qYBRgd-xATaznEyEcFAU":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileId"},"PJlGYmr_-ZNRJBxmbEs98":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isConvex"},"MGl9eNfWUrUNYLlu3Uz4W":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFinite"},"r9w_6g-yKLVYYEdKoFlvG":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#lookAt"},"c98JY99y2VgFrKkmWKK6H":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onCollision"},"zArtpf0W0UigRGgftxiAS":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onDestroyEvent"},"vUXi25GS4DwxNwy9I6yow":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#overlaps"},"yrnVVaPaFlULHj7GvdPV2":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#postDraw"},"iKkn0YC5WVzAbdPvp0iis":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#preDraw"},"tvKadBMMSaAuN96JKXuf_":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#recalc"},"9i036S04wQ85ZcRqXkNKL":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#resize"},"NdD0cCdF8WJP591NGhtNS":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#rotate"},"yyfx1yeaItq-9JKI7sKuQ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scale"},"Pz78ZKaeQinrWYfCcM_B1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scaleV"},"P1r5MzTGZwHfffZ2BwjRz":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setOpacity"},"074IhdkkuvBWjcnBv5Mve":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setRenderer"},"JdKzdM2p8Ea_z62fj_oyl":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setShape"},"eQ8lX3en8cCHJVkIysW0i":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setTile"},"aRTCc7p2lJ5p-pxj1xz91":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setVertices"},"b08O0xstrFdP8ViLqFe7X":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shift"},"CKtGBdDNOzIr399BOSyIF":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#to2d"},"K6s3HGHssIpPU-OWnX1XO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toIso"},"a_H0rIJoFcK23bPPLhlsu":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toPolygon"},"fpOzlSJo5FdD1QVvV_-5t":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#transform"},"wMFs4WzzkLTpk2bAt_7I3":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#translate"},"N_uxzhZcrLnAgr6ePrhT0":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#union"},"FC0IKbCJWarAjcA97TZAN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#update"},"_8yjkXB5xKWTflgTHvD1n":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateBounds"},"-Z2fCTnEIzr-e3qcBVvFq":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onAnchorUpdate"},"mzYrnHD-Jxv3dBelfYP0m":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html"},"Zq2t8qe2N1n7Xj8TNFafL":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#canRender"},"0WhOTO19wXeyMTPm-3gSf":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#constructor"},"A2F5xj2QcVb9YTnjfGMbS":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTile"},"masFtfAlI-pYGxiSCTWns":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTileLayer"},"bbX_zUUGlUZIaGfbZ7KZ-":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#getBounds"},"E2ogWzubVxrY_1oWVELqv":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#pixelToTileCoords"},"PafENxWNQMmSFPxUoyi8u":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#tileToPixelCoords"},"pj2Lsfy9Qw2eWOy-iA4Ug":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html"},"zh3BFQQZqrTQdeLnpkZKh":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#canRender"},"sJElXveiAagRX5nZghQLP":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#constructor"},"K1C7MaPw27F2XC9Tl8oJM":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTile"},"PRBSeKxqcGR1hiUvNtmuc":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTileLayer"},"l9wk2zrUBlYlnsv7u7Y4Z":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#getBounds"},"JMtEiEPGvs0ksDlMVxXRY":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#pixelToTileCoords"},"tuPcrJSIkSLGJSfm-PR_i":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#tileToPixelCoords"},"Fv2OxarQBBu8IBP23fqsL":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html"},"hdPiBZGG6xB_8IRFC0AmR":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#canRender"},"rX7qgKHM0HQf8Bpru6Tnk":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#constructor"},"NDxmZAfWqo0y753PqSKc4":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTile"},"xUDaK9zq4yM6A7X5RnXVm":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTileLayer"},"VGT7zrHqiC_mMHATG2-dv":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#getBounds"},"mn4GNphcu11E43nQ5GOeo":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#pixelToTileCoords"},"5uDeyWt925VMc5p4CXcrZ":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#tileToPixelCoords"},"wYWJw9C8SfEG3QrF5NaX6":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html"},"7D0yP3t-picS8VN9X8Eno":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#class"},"eY6tptcS6EiC29p19lsSS":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#cols"},"XEcoQMcodcrWsA6r6T7-l":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#infinite"},"UknIZS4Osmr-lyLYzK3ir":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#name"},"RS_vpX4xx8AyY07jFU72v":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#orientation"},"R14Ucd7DO_pFEscsYknvM":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#renderorder"},"z1RrJ9HSYcu6s7yLGkCk7":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#rows"},"fgEKz00vLMrNIpJkeN-Kr":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tiledversion"},"P5ea5f_Ho60HWkJkICg5l":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tileheight"},"IAFX1QsFBMaEgjfPW21Qs":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tilewidth"},"YOGEtbgr9GpQht5TiBVLR":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#version"},"WeX30ulB5ghvkQBZS1prK":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#addTo"},"O_-F79x2J6QQh6hCPex-2":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#constructor"},"Phb97tMB4jDMPdvmJZ37h":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#destroy"},"P6ZbMCYSBBqksdu9VLjZU":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getBounds"},"eavycQn440PtKRykUAdYf":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getLayers"},"4H0hL9qGrU-YkSaIOxfJT":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getObjects"},"BSWaq2-yX1yfMXqmccQoP":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getRenderer"},"zEeSnHsPDXPyQUWsTEJW2":{"uri":"/melonJS/docs/melonjs/TMXTileset.html"},"_9YZGjaoUzvu6JgpL8vl-":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#class"},"N2kTlExUBYCwTCj014slD":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isAnimated"},"lXwORP5O73nPcXCpCBayL":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isCollection"},"9PdKLm9GCC16voTmOEXtz":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#_lastUpdate"},"HQKikht5ZzrJQJhHUiG1H":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#animations"},"QoXkuPYVO3cjm1UiKEA33":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#constructor"},"Uxji-YiXhKNfhBobfJ1n-":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#contains"},"IQgTJ0V9fSMeZGVFTDFde":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileImage"},"436tCInuw3WlBfumnn0nn":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileProperties"},"jRaIQbzsncwCwiQRzIKmV":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getViewTileId"},"L0zI8YecPemS3Z9D7Qq1o":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html"},"P_3ZvsMEVFCiazL_9z683":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#add"},"RHwEn2MKDTQF7dkad_veM":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByGid"},"gpIogvsTp5fqeMp6uGaLA":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByIndex"},"WxvxmBnbXub2CAMrfYazJ":{"uri":"/melonJS/docs/melonjs/Trigger.html"},"BzIR15sGpWET86zY4-bGE":{"uri":"/melonJS/docs/melonjs/Trigger.html#alpha"},"_hq-FvnmP7tJk9MVEyQxQ":{"uri":"/melonJS/docs/melonjs/Trigger.html#alwaysUpdate"},"4JhYwb32XKwY51S1_Z4BJ":{"uri":"/melonJS/docs/melonjs/Trigger.html#ancestor"},"0Q59fenLfOqh-gAnwqcAV":{"uri":"/melonJS/docs/melonjs/Trigger.html#anchorPoint"},"vGqt0OEQYeDIaiH9eEgjs":{"uri":"/melonJS/docs/melonjs/Trigger.html#autoTransform"},"aBeyi5yoRO7H5mXyQ9LSI":{"uri":"/melonJS/docs/melonjs/Trigger.html#blendMode"},"O28vvGrm2XipjkJII_eMO":{"uri":"/melonJS/docs/melonjs/Trigger.html#body"},"XcR69oj0qTvAutsD5G2Qj":{"uri":"/melonJS/docs/melonjs/Trigger.html#bottom"},"HahHuhS6b_OypEh3VlFGJ":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerX"},"4uCICWYb8n52W_gIB9NTh":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerY"},"BGjFRZMJ5surgHkfkaR7Z":{"uri":"/melonJS/docs/melonjs/Trigger.html#currentTransform"},"ungzImgEVs4RxJtnZz2c0":{"uri":"/melonJS/docs/melonjs/Trigger.html#depth"},"lpgu7olCLlxrkVHUhnMlq":{"uri":"/melonJS/docs/melonjs/Trigger.html#floating"},"gSGE9tmYWFr35_MDtbeG6":{"uri":"/melonJS/docs/melonjs/Trigger.html#GUID"},"pO0g9W90dDS72sScfZZL8":{"uri":"/melonJS/docs/melonjs/Trigger.html#height"},"Xuycy6fKk5zseJ4Pxe1MP":{"uri":"/melonJS/docs/melonjs/Trigger.html#inViewport"},"A8nBZoxqv-Kx5J73JbQ90":{"uri":"/melonJS/docs/melonjs/Trigger.html#isDirty"},"0GOjWWrO7LBSnqBxfosTK":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedX"},"joW79UghtY6r9q5Zaudpo":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedY"},"IfXpR4BsaH-wUaP73n5uB":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFloating"},"2LaOG7tA8gCjmotIJDalj":{"uri":"/melonJS/docs/melonjs/Trigger.html#isKinematic"},"yGBax4dbp6fqCB1m8aE3-":{"uri":"/melonJS/docs/melonjs/Trigger.html#isPersistent"},"_asn3YJxmesTVBYBxvx0h":{"uri":"/melonJS/docs/melonjs/Trigger.html#left"},"g1mjNzfv7XxE-NBFGjVyW":{"uri":"/melonJS/docs/melonjs/Trigger.html#mask"},"qdAvGJZ8KYnWp-nsAVREv":{"uri":"/melonJS/docs/melonjs/Trigger.html#name"},"Rws6vj6Szb-1FDPkO5dCZ":{"uri":"/melonJS/docs/melonjs/Trigger.html#onVisibilityChange"},"RHX8C56u2_EOyUB83Z6eH":{"uri":"/melonJS/docs/melonjs/Trigger.html#parentApp"},"6my3FlW2sfH2NuL0hayzV":{"uri":"/melonJS/docs/melonjs/Trigger.html#points"},"C5SNY4Mt-5H_L4qqqyYJM":{"uri":"/melonJS/docs/melonjs/Trigger.html#pos"},"3rSdY2OGTkyrfq4LFVJiy":{"uri":"/melonJS/docs/melonjs/Trigger.html#right"},"QyPcHELKuyhK6c0sfme20":{"uri":"/melonJS/docs/melonjs/Trigger.html#shader"},"fa788wYX9c4Rs14cjt6Fm":{"uri":"/melonJS/docs/melonjs/Trigger.html#tint"},"tuVjsXlTPLL81tZVC5kRc":{"uri":"/melonJS/docs/melonjs/Trigger.html#top"},"ddjOJQab4e4YEKmJk4M3r":{"uri":"/melonJS/docs/melonjs/Trigger.html#type"},"lY5VxHZmMecQ3Ok4GCnJc":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateWhenPaused"},"SBbZ3Imn0IT6DZZgsbqvn":{"uri":"/melonJS/docs/melonjs/Trigger.html#width"},"tTGYX3ubwfMQVDB_4EeOh":{"uri":"/melonJS/docs/melonjs/Trigger.html#angleTo"},"_c8Lr-jQ0njjlS0XjzjaU":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerOn"},"WGuH8Ha46k9q522nNtf9G":{"uri":"/melonJS/docs/melonjs/Trigger.html#clone"},"5rwJK_5Fj8dy6HttqH_A-":{"uri":"/melonJS/docs/melonjs/Trigger.html#constructor"},"B1DYB1-udJTnKYAo9ENpT":{"uri":"/melonJS/docs/melonjs/Trigger.html#contains"},"tOmMAEVwW74klW1OyaTSx":{"uri":"/melonJS/docs/melonjs/Trigger.html#copy"},"ZobshtDpjDLV9xkrAwTYm":{"uri":"/melonJS/docs/melonjs/Trigger.html#distanceTo"},"j27qI1CFZv8AKE6QpYflZ":{"uri":"/melonJS/docs/melonjs/Trigger.html#draw"},"WW0gP0f_fCsBQKGF5_bIl":{"uri":"/melonJS/docs/melonjs/Trigger.html#equals"},"BbYPMq7JSNvgKJ8QLFCx6":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipX"},"nXfO9kB1CAtDvORvUCZBA":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipY"},"yN_a6HK0PKqCYANPEuEz3":{"uri":"/melonJS/docs/melonjs/Trigger.html#getAbsolutePosition"},"N_xw0WHnVJStFTKhgy_2T":{"uri":"/melonJS/docs/melonjs/Trigger.html#getBounds"},"uOhLnB_-Qfw3IIYbWjfUY":{"uri":"/melonJS/docs/melonjs/Trigger.html#getIndices"},"r3kgJkd-d9g2J0tRw2qbB":{"uri":"/melonJS/docs/melonjs/Trigger.html#getOpacity"},"RGmvhOXlcon4b8jzDJm_4":{"uri":"/melonJS/docs/melonjs/Trigger.html#isConvex"},"Q0-SJQccPL7pff7JbshU-":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFinite"},"hfiuq1UgvkGCepzNtHaF-":{"uri":"/melonJS/docs/melonjs/Trigger.html#lookAt"},"i8G10YwzsMuPFCRVyKD88":{"uri":"/melonJS/docs/melonjs/Trigger.html#onCollision"},"CY-jhFVv2V0rb_73Sm0nh":{"uri":"/melonJS/docs/melonjs/Trigger.html#onDestroyEvent"},"IrmrDsxq9pcMVY7y2uxux":{"uri":"/melonJS/docs/melonjs/Trigger.html#overlaps"},"TIVIi2IE1378Tejdd6Ns2":{"uri":"/melonJS/docs/melonjs/Trigger.html#postDraw"},"_MZ5eFXMQPI0-JXcuUk4U":{"uri":"/melonJS/docs/melonjs/Trigger.html#preDraw"},"T2Knu6aJCTFUnLTx0oKPU":{"uri":"/melonJS/docs/melonjs/Trigger.html#recalc"},"WXWR__snEskMCMDvOCGNs":{"uri":"/melonJS/docs/melonjs/Trigger.html#resize"},"JviGJNYDVZ92g42-E5law":{"uri":"/melonJS/docs/melonjs/Trigger.html#rotate"},"6wLLkMHtne1jvOrhA8vA9":{"uri":"/melonJS/docs/melonjs/Trigger.html#scale"},"SJa3d8XyglwFq0ATGv_k9":{"uri":"/melonJS/docs/melonjs/Trigger.html#scaleV"},"OFll706_4EuNHS2sZA2S6":{"uri":"/melonJS/docs/melonjs/Trigger.html#setOpacity"},"9Rqt57EouW5Lk1kd9EfZH":{"uri":"/melonJS/docs/melonjs/Trigger.html#setShape"},"YLBxw5j4DGBRvdhoaZNu5":{"uri":"/melonJS/docs/melonjs/Trigger.html#setVertices"},"gIU9w8haswH1QDvG6NQpt":{"uri":"/melonJS/docs/melonjs/Trigger.html#shift"},"vRQaJyL-jq5K-ouOOaGkv":{"uri":"/melonJS/docs/melonjs/Trigger.html#to2d"},"UT1iZXFXu924cf4dAnba0":{"uri":"/melonJS/docs/melonjs/Trigger.html#toIso"},"DjxlA-mK8bWClAXdBw7S7":{"uri":"/melonJS/docs/melonjs/Trigger.html#toPolygon"},"chTBLRKtj3iUTjzUx4WEu":{"uri":"/melonJS/docs/melonjs/Trigger.html#transform"},"Bgy1RormoLgTzTcAxsLv7":{"uri":"/melonJS/docs/melonjs/Trigger.html#translate"},"74OFk_5VbHkh156RLhRiy":{"uri":"/melonJS/docs/melonjs/Trigger.html#union"},"FBF9Ji_eoRPu6Z8B0JFyQ":{"uri":"/melonJS/docs/melonjs/Trigger.html#update"},"HN0QgBqIhz4Jv_ULvhcFY":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateBounds"},"UG1Mz64D0Om8yyWdr1KWV":{"uri":"/melonJS/docs/melonjs/Trigger.html#triggerEvent"},"hgjDHHAzS4nGuUnxWT9cn":{"uri":"/melonJS/docs/melonjs/Trigger.html#onAnchorUpdate"},"PjQXzMtJ98eqB_lKCtDqP":{"uri":"/melonJS/docs/melonjs/Tween.html"},"UhtdJeRMMo8OoaEzkrouA":{"uri":"/melonJS/docs/melonjs/Tween/Easing.html"},"290JERxfVJaN71bRBZ920":{"uri":"/melonJS/docs/melonjs/Tween/Interpolation.html"},"9rhRFQgSpoNdU2jselfS7":{"uri":"/melonJS/docs/melonjs/Tween.html#chain"},"upwm7wKaI53UAkuATg_qN":{"uri":"/melonJS/docs/melonjs/Tween.html#constructor"},"z6GcWpcdhQQKwxUrqTYHy":{"uri":"/melonJS/docs/melonjs/Tween.html#delay"},"wGNPMWXM_0kKmn3hzdNEg":{"uri":"/melonJS/docs/melonjs/Tween.html#easing"},"l1K1LUm7cevPAX0PuFjal":{"uri":"/melonJS/docs/melonjs/Tween.html#interpolation"},"m8Gr1HA4XYtnknbStTh5N":{"uri":"/melonJS/docs/melonjs/Tween.html#onComplete"},"bPN1lbXz0I0AOQZWWC5xq":{"uri":"/melonJS/docs/melonjs/Tween.html#onStart"},"KFpz_8V1vytBHOqH35EYY":{"uri":"/melonJS/docs/melonjs/Tween.html#onUpdate"},"7v4So7K5Z4shhMpn0eZ7R":{"uri":"/melonJS/docs/melonjs/Tween.html#repeat"},"2Aq6RvU8rwI9ne2xA5mBJ":{"uri":"/melonJS/docs/melonjs/Tween.html#start"},"zMBKkb7-gk3SmSroLp4az":{"uri":"/melonJS/docs/melonjs/Tween.html#stop"},"LylKHvmTlGHiBaPxTn6DX":{"uri":"/melonJS/docs/melonjs/Tween.html#to"},"htop9GnV4a2UVVY9LnLYp":{"uri":"/melonJS/docs/melonjs/Tween.html#yoyo"},"taiS7_QK1C5N6wklbxguf":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html"},"ESkYe2sqR2CHvad1DJC1x":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alpha"},"zGAV6H0JYCHRAN9kaXgLQ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alwaysUpdate"},"RkoaQQcWn7ml3M8U8LGER":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#ancestor"},"T6WB9WikNYliln8qDfu02":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#anchorPoint"},"ZgrnA7FueDgi9-QzlUrHb":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoDepth"},"AqOgNJn3kgb1kHzw7r-PA":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoSort"},"WDe83qUpAPv4sPWdE4G2n":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoTransform"},"9F2sjYpbK8Cpaq__r_rO7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#backgroundColor"},"o3-araSTmnJslVNW8E89q":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#blendMode"},"EPMGHxbsrYMk-CH9o0okp":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#body"},"XkDgT259FpYRAaixJeSKY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#bottom"},"QEa44-EtZGiv_exQWJYpV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerX"},"GpluXRsLoggUQ2IPw6VUX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerY"},"uTa59ZeUeTVGPGZeLPd_m":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clipping"},"Hi0LVlje11e0IrjnoBcqX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#currentTransform"},"tKwhscGogxqnjNWXFuIc8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#depth"},"sGPz9NLBtY-0o4djKz6x_":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#enableChildBoundsUpdate"},"v_6uVgjBQp-Sn-Qe39N_Q":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#floating"},"ySFQwEmtkxeqTvo--P9NL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#GUID"},"wtFChcELdjbNHJ_jI5cQT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#height"},"4Fo5JvpcLzEH48WM6Wa9I":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#holdThreshold"},"yvssQ0BNsHTVqUuUxXqVL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hover"},"sGUiqNqglnneOzP8r8hkl":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#inViewport"},"DBDV8auIT9CvZZzSkfNX6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isClickable"},"r5923UYJ1ScvuWJYJ4YTX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDirty"},"CIiNuPA30xYbsk5XKRQAM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDraggable"},"2SxemMbFScrpDC_77GoT1":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedX"},"uneRkxOdjWaC0jf8q8NRT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedY"},"9QqqL_8Q1-U4l9EHd9Fw-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFloating"},"hmkocP3VSSpetvHp8JSCN":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isHoldable"},"TpUKewpn-uDwwExB558C2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isKinematic"},"AVm8ztBGbFzA7SalIvuQV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isPersistent"},"KuZfbk48VnkWqJUyqStlz":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#left"},"wb7uBpZ9YuqSyhA8KDQwR":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#mask"},"uc0G_9SVwkOo1Blc5kSyH":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#name"},"xt2ssEtrZI7FyrE3naTSk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onVisibilityChange"},"SRnARF8vdHqYI-lxzCda6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#parentApp"},"NTGdX2qTc8Hj-JeA6KhUD":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#points"},"NHp5WdZYmNC55sCYRDvzZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#pos"},"TEqV47fWgHBuFhI0ye2P8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#released"},"UVdL_BrH80aOyiMSoN3PN":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#right"},"Crlxu8uxQQ0fWmpFBrmse":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#root"},"dB7gMBmaho4Wobzgq2XIL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shader"},"NaHFsN3tU2cCL8-a63CMX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sortOn"},"RAWylctgNr-4gT-4_f4NP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#tint"},"fPRrvbQwpg4qsi8wYHX-c":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#top"},"XcpJ1ssS8gVMGgZoTopJh":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#type"},"-IFnDPBzQIp37iLry8CVz":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateWhenPaused"},"F8BYAtTOv0WExLweLj8FL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#width"},"0rz9QcHkjvuWBy72oOHA2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChild"},"ky5TvgfhrZVXEmkMwQ4B7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChildAt"},"w7Vberr88YJLOEwbjLG-0":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#angleTo"},"M29714mL1n32suE3LfM6t":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerOn"},"Rv4W5G7VMzLDMnUX00Fmg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clone"},"oXVFvVj654R4lrMy9zzPP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#constructor"},"PzDExleDprHugspp4KNsj":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#contains"},"sgAIrgKEx_fvblE6GbdNi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#copy"},"3NCFaq6a_OZpyaQxqmSUR":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#distanceTo"},"qi9rtE83xzUAWz9Xlfr4-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#equals"},"Ufi_0cVq5Lh4l3v-QbSh6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipX"},"MDszBUmLD9XcGvBMtgdNS":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipY"},"_lFmRUA4syrxgw55E2ZzL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#forEach"},"7mML2RWk14IL4y_eIBNYq":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getAbsolutePosition"},"k8Nq1uL8KHQ1goni6iV22":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getBounds"},"Sj3MdYnHN6GaZAhljUBsg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildAt"},"qOMd7efwHeKRsC4jQqlrM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByGUID"},"Vq-Top6eRbjcMyInUtQCS":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByName"},"kD-UN8nKG4UQoXmZE_Bek":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByProp"},"_k3KPLvj2whGfx5Zihd_d":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByType"},"hSDBAqQH3Y3UQzvb3smOw":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildIndex"},"HeSpx4yqcXrQwsYE09Kt3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildren"},"b0OJCdrsNmO1kpHrlpsrx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getIndices"},"PeNNQdWWJygKBls6MkIg9":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getNextChild"},"FXWa4RgdmkxNdt5xW12JY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getOpacity"},"7P_VIVJDJxhU_lrdDHN7_":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getRootAncestor"},"_hhcBvkl5ZaR7AIJC62i9":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hasChild"},"6usK30BSrJfXM-wyjnTjl":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isAttachedToRoot"},"7jipVUdtcNbJQ4JdaWVRO":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isConvex"},"hTd26xDQd0_sRtiIPNHlv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFinite"},"EImXfvIDlYBQ-YL1c4NGv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#lookAt"},"P1qYzM-IgpgHEb17oe3lt":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveDown"},"TK924RtLMj2cOdCP67aj4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToBottom"},"4EGvXyqPTnOIu_7YbnfCv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToTop"},"Jh51a7u0DpxVsKM4Y06Tk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveUp"},"HzjUWu77HJp6Skt68iMBh":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onChildChange"},"LB9MhXwH4sT_qfH1pv8TG":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onClick"},"pFWJd3MvcbkhQusi0mHUD":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onCollision"},"a8wcY6KnpUhZby3N0ucML":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onDestroyEvent"},"0C8NBwWQq-jcB0KpoC2Kz":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onHold"},"KqmuSkBqZWvO2NEjawLjT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onMove"},"_Yskx6PNHup8BxLXe0rKQ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOut"},"Z_tdA6YECU5lMpuZOw8NY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOver"},"GvTWGA50kWbQYw0QGHqeP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onRelease"},"rqEaVZrr6r4o26IE4zA4e":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#overlaps"},"Xj6NZBJn8hW9deSCj5k4_":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#postDraw"},"PVOdln68GWxaYq93SBCGM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#preDraw"},"da6pZGQeuakIu1pADLHWZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#recalc"},"o20csDAqpRpq1CadmeEL7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChild"},"LxB6FKlF5Am8FwsyglkNF":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChildNow"},"TnReP4tPjAxGRUfuklDu-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#reset"},"AFZG-SziQyNtdsF6Nft-q":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#resize"},"nHvqy-HT8IXWTEpTrN9AL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#rotate"},"5AUeXdHjaIG29G7FJuO1F":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scale"},"8U39NekU9x9cB9rw2yJX-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scaleV"},"WVlLwobiTr3DNFoDAFFNd":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setChildsProperty"},"IdI_NPvGjNlGOR_vsB66b":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setOpacity"},"M0peoFV8vPQa8PmSAoWiT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setShape"},"t4gwntKSmOAlYdv5wItOB":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setVertices"},"Xdvr9g3pCQr4sNE2BXR96":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shift"},"dIoyG5cIk7wcTMk2Y1jW9":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sort"},"7FYYobFuzTHlWha6Ziue8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#swapChildren"},"IftO-7kt3whB4kdfo3DK4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#to2d"},"H9X5KbGAw5rbMb8KqFAd1":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toIso"},"cZDmDcQUD2hW2PasVqbUM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toPolygon"},"jwcSXX1jPQcieIEutvtG2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#transform"},"9dW7U9TPgHoUm748uULxL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#translate"},"E6VJDV1TJVktTmRwHNTf8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#union"},"OgXwhjVNWDIIwzkzFDxP2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateBounds"},"7h9FRJayP1dgW6ru4juDV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#draw"},"FnRe2VTmEkBNmcpzJZ__q":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#update"},"MWhbI7ZiYycIHb9tTBH2Z":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onAnchorUpdate"},"RhdbDcf4Iv2T_nBjJcl-B":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html"},"nOpK6oc6xW6oYuaLJ3cpJ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alpha"},"C4gVaGXXjL7ZPdcltvLal":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alwaysUpdate"},"QBDNwJ035qM7pRuZWLyKX":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#ancestor"},"o6tEGHmLZw11T89I_O1L1":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#anchorPoint"},"gPfemL1wuAfpckIKKTBZ5":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationpause"},"U_ZhkFTcu1TgIn08jX-Zv":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationspeed"},"LYzCw__H4nlt7-b9FcDCm":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#autoTransform"},"jxP6hquGyKLpED0QOMYm-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#blendMode"},"dH8uJhh9F7LQUyTr1fefg":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#body"},"fiuxCYB3bl-8yIWCmdGNw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#bottom"},"RERJq6edfR-LmP3QjIiIz":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerX"},"YDtjpEJX5NnVbYfZoLV5T":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerY"},"X19qRBA9pTTUOwzOEKCJu":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#currentTransform"},"IfIWPODOrusrTp4e81lRm":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#depth"},"hO1wW7PACXNwDT_OZu3VR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#floating"},"vB1d9FhCrVKL4HAo2EQb8":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#GUID"},"5_aXCRDxQ59ne-Q-9oV8M":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#height"},"9-gT3Y6U18SV_62ssPmkz":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#holdThreshold"},"zTnWazyJsSm668VaNWVQK":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#hover"},"Dz_wC4CFxHTq1ylJ9of-R":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#inViewport"},"oCT9CCrccDT1TzVZQWwyS":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isClickable"},"o5FljW8o2J1nd_6kN6_v9":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isDirty"},"IHMW3nQqsWP8OU0H2kYMI":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedX"},"Gc17t-wK9CAWaliSL0Fm4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedY"},"34BUPrjxeHGLy9iHYGM2K":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFloating"},"GMGFeI16rupRi4iVwBXP1":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isHoldable"},"kjqsIFr3zaoqjBDbZhSWV":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isKinematic"},"73ePuSCvh5UVrkamQ1d-q":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isPersistent"},"lAdhub9ng-1t-65qLuF4p":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isVideo"},"5aeU_5GwxfdmiOM4sx2dC":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#left"},"qyht3YhlJgGjp7cEo1w9V":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#mask"},"fza_3NptnTMkiPaGtEmep":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#name"},"JWr2U0CgBL5CVI_IkeYF0":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#offset"},"q_RfTDgC7uwMSlGDo9cVF":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onVisibilityChange"},"pDg9O7qE8LHf4i7n3gp75":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#parentApp"},"Cz9JK0PRJyW-dt0hpUgve":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#points"},"dTN9aLlTei5UY7s0snUKr":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pos"},"hQo_Zg-3TQKCoFjubxEPY":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#right"},"gWUjunckAmepISXkAuPmL":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shader"},"wXI7H1Ti_AU9TfZs1a29A":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#source"},"d_GWXKb69X2FfsmCK0hj5":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#tint"},"dmJ0bu75DbRxeoWzlvASR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#top"},"SyQOIw2SpoXgETQ1GmVbR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#type"},"8YzDRCYGOIOtKVqH2FU5o":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateWhenPaused"},"_Dy_S1JnxRzmpBWSU42rY":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#width"},"KBVv6-uTxpW4NNu9jhO7I":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#addAnimation"},"rlaxN6w750RkHplfnZ_gK":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#angleTo"},"7xMshWMDCYC2WHXSft5UU":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerOn"},"KgxLAoCcLm3deWfolITHP":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#clone"},"xDkxBmdt9ELXlxDW4_RZr":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#constructor"},"rkZ9TDtWdHPNm-ZaLllth":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#contains"},"QwRQbmF9IrRIbGEtVZOFt":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#copy"},"fLpsSh9XhjU5KYalkrL1e":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#distanceTo"},"jNVo1vyVwAv8xAZ1PP2SJ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#equals"},"iVOqxayjaKQuFmadFCfuN":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flicker"},"hkDHV9i5_ZSCIZwm1LNYz":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipX"},"5X3uB88vjNDeI50BZJX4E":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipY"},"JaNA7CkTTI45UtlmeaR23":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getAbsolutePosition"},"KYbJkWSsaaBtVpBpWW6Rc":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getBounds"},"KGfAgekl0NM6VcrWtwriZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getCurrentAnimationFrame"},"WanQwUDpVKFESKD9jRW23":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getIndices"},"j-kNtAb9Dg9nQqbeEvNyV":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getOpacity"},"UXinkhxqJdl-gCaFuZCYW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isConvex"},"_rVV5RJkQ5SaPJp8B8qft":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isCurrentAnimation"},"0hF-V88yYUrK7CD7h8M0x":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFinite"},"kG11UTJZpvx8t-ZLwsPSe":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlickering"},"YxDT4A5mFJ0KNubP2Hlgk":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#lookAt"},"tMfxwzumDFMvn4RH_tHCd":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onClick"},"0WDj7KCUaUmqZE6L0xOAe":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onCollision"},"wtYHnkyiN8kZSH-hRexzJ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onDestroyEvent"},"_sW23KpImThStCiZUoK0_":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onHold"},"4JRaN1kzzcz_g0IvFD6bs":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOut"},"2ST_zS-VkTpl24cTtYQVX":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOver"},"JdFtC-rengvqpOXKTN8MW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onRelease"},"qNfxUNq7TS1Ir1v0av6g5":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#overlaps"},"24NZ0zEAVZALqDKyhwNuw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pause"},"LuDZ3-kEmfKjnG1mY1dP-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#play"},"tbQHP5OYXJQloHKaU2IYI":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#postDraw"},"jk7UFiDRjJM0EroQq9F3w":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#preDraw"},"mMJjLR7A_GA8tB_G6TGvi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#recalc"},"BbKRWmASKWvvssoxmFoXb":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#resize"},"CHNPC7yuY9w09zDloMzef":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#reverseAnimation"},"mQYdioTZPkl5fv7BOn6B7":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#rotate"},"thsy6uQizqdLTtGCBgtZe":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scale"},"6asu0RgY8RKA1duBlmQFj":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scaleV"},"NnXWrCeTmEyEPYxqLDZzZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setAnimationFrame"},"Ihkfa7CmPdnoJlaJ7bQdH":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setCurrentAnimation"},"HV24xIkhEyKIfxGo2gaYM":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setOpacity"},"topEo1ZUlJNhdxz_gG9Md":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setRegion"},"JiJsX6isKh5XLB6BAUryO":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setShape"},"KuIaNw0KtoSnKolYZCSfF":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setVertices"},"y_y6NT15oeny4Sr_SRftx":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shift"},"2clboGqipA6y1r3ClmOjo":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#to2d"},"ygT7st4QCNyZRQbJwfKqJ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toIso"},"hxNd7WorzSXs4Gf_bUz7-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toPolygon"},"J-t4q7mQ43K11WhUVWa9k":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#transform"},"mZ_HZhmtv9QWkXoHOqpRy":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#translate"},"mhi1zTRS5KzqoTQrwgj-d":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#union"},"3AxFt3Gh1jBE_2hRgWRnl":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateBounds"},"FItEZHyOkt7HarWnBckPR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#draw"},"pCIpVg3CBArEmwsloXLvz":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#update"},"l4b6Udh_iwc5s4oQaEm8N":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onAnchorUpdate"},"DJeiMvdrPFHKQxMkREHv1":{"uri":"/melonJS/docs/melonjs/UITextButton.html"},"Ptxv0aNjX1eG7dQ5Gczj2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alpha"},"oRbX6NJ9UGQCpvKV8vNHY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alwaysUpdate"},"WmJGwrQYdOt9dlZb5hKzK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#ancestor"},"9C7Lwk6er2U_9BU2xjtjY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#anchorPoint"},"lHCC1MQdQinVaPBnk16Yv":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoDepth"},"imi5ssMuH88EElu6VlNTR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoSort"},"Jj-uH3ouCc6MUg8mC1W4W":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoTransform"},"F-IIr1nY32rU58RW_p8ZI":{"uri":"/melonJS/docs/melonjs/UITextButton.html#backgroundColor"},"DPGoyhk31ZW1gBq9J1Vx3":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bindKey"},"KmTze76a8oTVj68GrxrfS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bitmapText"},"WBuy2JD2M20ra4fuJoE9g":{"uri":"/melonJS/docs/melonjs/UITextButton.html#blendMode"},"sqXjBHPxlUpYgRQuG4kM2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#body"},"P_ZCCajFM9nCDVJsD_znd":{"uri":"/melonJS/docs/melonjs/UITextButton.html#borderStrokeColor"},"m3kxQ6_E3Fobc7PAU9FOW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bottom"},"AHCzbhRKMz0BwYox9orWi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerX"},"yrhAw4Tud8HJsHBupT0pp":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerY"},"4ihKpBa6TUbM0lEHF2gvj":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clipping"},"8RiblDNcUNA749JFOQ9ay":{"uri":"/melonJS/docs/melonjs/UITextButton.html#currentTransform"},"kFciEXXnRTBxbdfpNSNMW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#depth"},"QSxnVz9_KJ1pMdZKwfKjI":{"uri":"/melonJS/docs/melonjs/UITextButton.html#enableChildBoundsUpdate"},"dV4DGRIQyAMQHNBoAsQ26":{"uri":"/melonJS/docs/melonjs/UITextButton.html#floating"},"4rLFKjpVbnZ1hU5UZaUry":{"uri":"/melonJS/docs/melonjs/UITextButton.html#GUID"},"PBOWHNPufUQZZpgqHhi7C":{"uri":"/melonJS/docs/melonjs/UITextButton.html#height"},"DpAKk2WgXZ0Ly_RrTJhmo":{"uri":"/melonJS/docs/melonjs/UITextButton.html#holdThreshold"},"lxl17ojT2MfaEIvxZ0-_X":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hover"},"YeBALS1jvP5R09iAG9XXi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOffColor"},"RcQRURi_Ow1VCIRY1EVDe":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOnColor"},"5WT9AOyE8uM4dIg88xf2F":{"uri":"/melonJS/docs/melonjs/UITextButton.html#inViewport"},"VU74kv6Xoc57jrrrFi4Zm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isClickable"},"5e1jYy_wZQK0KEYYETS10":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDirty"},"Rac5Ee50V5dG2-HWHl_hU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDraggable"},"SHOcQVRDkr2vFQqSD44P1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedX"},"HPpgjvVKREfDO0c_8O19I":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedY"},"hrsUwQ-QKgcptxHvHUPe2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFloating"},"vMbTdvW87PKrKuA9TYlbo":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isHoldable"},"K6HyvB6pkLoWZCXrqSzhf":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isKinematic"},"i4rIvB23lKsZqnl-gGxPC":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isPersistent"},"UeGJ5ug42BMyWUaTNBXa3":{"uri":"/melonJS/docs/melonjs/UITextButton.html#left"},"0AS24Z_v5LPXiMzvwXWdu":{"uri":"/melonJS/docs/melonjs/UITextButton.html#mask"},"2aDV9zZP2Ih3UVZ3bsEDM":{"uri":"/melonJS/docs/melonjs/UITextButton.html#name"},"sC5_KSjmM9QHlRzEH_hQm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onVisibilityChange"},"t9kdxvcbxhHN_OmSNjQtX":{"uri":"/melonJS/docs/melonjs/UITextButton.html#parentApp"},"g7bKaL8XZ775xj-L4s5Z7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#points"},"A7fXwZ5vHbGgkEzOJ5uRa":{"uri":"/melonJS/docs/melonjs/UITextButton.html#pos"},"EVUhF9Lgv6HPeiOpHr9GZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#released"},"A4D5OaNqLtLszflxY9l17":{"uri":"/melonJS/docs/melonjs/UITextButton.html#right"},"VxzoBxq9Abksney0AJIDU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#root"},"Rs1ZjexL5sITXiv84OYRV":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shader"},"dsdWctWMCw4i6h5lm-BHd":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sortOn"},"MpMv84jwgWi5ZDK6X47JZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textAlign"},"_eH-kUOe-JfGbmDo_2fWn":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textBaseline"},"iQx_pvgyEc8inVsSqD1VF":{"uri":"/melonJS/docs/melonjs/UITextButton.html#tint"},"f2maplzpyLzvwv6ieQ2hN":{"uri":"/melonJS/docs/melonjs/UITextButton.html#top"},"BOLJjwUU7PUZ6MAYEykvF":{"uri":"/melonJS/docs/melonjs/UITextButton.html#type"},"xrXJVoDF5HPmbVUDE1sUS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateWhenPaused"},"5meZeLpozwNdCBnWetqS3":{"uri":"/melonJS/docs/melonjs/UITextButton.html#width"},"nmnDoxUKYOhQzWLlCy9e2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChild"},"M9l6p9RChBk2P_Y8eds9N":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChildAt"},"gEhNsw9EyhV7oO-nbOcNC":{"uri":"/melonJS/docs/melonjs/UITextButton.html#angleTo"},"1zLiIcjdfmQUbpTGQwAJL":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerOn"},"6lH0X-tDvwmMvvvkGEXyq":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clone"},"x_3rYoehy3_z-J4Ux9oke":{"uri":"/melonJS/docs/melonjs/UITextButton.html#constructor"},"vVr8yJk8Ro0AxDREzaFy6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#contains"},"GpUYDeGCBDCnH3w4pKEwV":{"uri":"/melonJS/docs/melonjs/UITextButton.html#copy"},"tMwBhI8fR_lFUZsoAbIAm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#distanceTo"},"5GRQ5xVtx_4SRa1i1pkjG":{"uri":"/melonJS/docs/melonjs/UITextButton.html#equals"},"3xSUmVrfatFiHWicWjPDP":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipX"},"XaVuGXUV5-TYxIOPmvi9m":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipY"},"gwwSn6eI8BYbG6s7ceIZF":{"uri":"/melonJS/docs/melonjs/UITextButton.html#forEach"},"PmNh8c-xFUU0hTYuC7iZ5":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getAbsolutePosition"},"mAvSed99ul5R-qaHLcDQk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getBounds"},"Rt7WOluk8Xr3i819amtJh":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildAt"},"qLU17FH-tRVRhDQe6qnxc":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByGUID"},"FZdAowDDIdUJ53GyPopsS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByName"},"NJmakL7YuqkAcCoTcbGUZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByProp"},"tsCd-yEayJyJE6gPQeG1l":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByType"},"Rqf_I_Mh5cJajAmPaiGqA":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildIndex"},"DTHrDda6CWI3MOo0VNEXZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildren"},"7j1DTaRUPfQXveOpbEm0x":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getIndices"},"OxSTDO5mQWCAt_c2KAdRm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getNextChild"},"mGZZM6gXKLpDWinf6GCA0":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getOpacity"},"6GO6BvNYhmUrdHwrCL-Tr":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getRootAncestor"},"AbvJqOQstTG48tn5fYf_I":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hasChild"},"KO4zog_16hAIafH6P4RHi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isAttachedToRoot"},"5i7vM6enbR33zcezoaBVp":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isConvex"},"_UPZL1F34Zkon2C7k5_Pg":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFinite"},"PKHKY835SAa5JKXQ0BQYV":{"uri":"/melonJS/docs/melonjs/UITextButton.html#lookAt"},"qlVcH22Jj0Zje2GMLpQUw":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveDown"},"R-Cbr1MNZCPkJbCzmaq9q":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToBottom"},"4JibiRuvNFJ3g9JdB-mXt":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToTop"},"uVy3JWiV-cfvn0m8SAbgk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveUp"},"S2x-qTcnh3EtKdRvjt1Ai":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onChildChange"},"XOxUUJI4TdAj7hHssaWC1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onClick"},"qbfkAnVNi9tX787GLg__Z":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onCollision"},"JH_Mq2-0EOenpnHnEx1DS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onDestroyEvent"},"G_J58jHXiWjYs9eAwenik":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onHold"},"kGdgiQjIyQwWAj9pkLOKW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onMove"},"jf5287jT2VlZHhD-5hiby":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOut"},"y9yn5frpG82ibDiCkd5eR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOver"},"R9pgbxO4_DbJNLocGEnE0":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onRelease"},"qHetiO7AnxZD6gFKXOIVf":{"uri":"/melonJS/docs/melonjs/UITextButton.html#overlaps"},"_9xP8RRayD7Uf-G5cNIb6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#postDraw"},"Xl4tYT50e6Nc8nRdrtxMJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#preDraw"},"-ei8nzIFytcj16QIaktRQ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#recalc"},"tyD8Ni1f5DxR6cDmtAEsY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChild"},"Ah5U4hTqgO3t3mH5hWarj":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChildNow"},"biQaPvlC147ryS6Mdr16h":{"uri":"/melonJS/docs/melonjs/UITextButton.html#reset"},"UDWTCAxXjjlVOvtdGxDVE":{"uri":"/melonJS/docs/melonjs/UITextButton.html#resize"},"KPd-AXK-XHUYyoIOb4EBn":{"uri":"/melonJS/docs/melonjs/UITextButton.html#rotate"},"Jsa6_O8qYyIaDCv5lsb1o":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scale"},"5AfBLlcgPrY2s6d6oEaxz":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scaleV"},"nJVaednArk2y5wslk6_f8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setChildsProperty"},"VytI_qRWZbMpvXpWRkgaM":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setOpacity"},"aUeZu5nScz_ZZ9SrD6Jrf":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setShape"},"7lE4qk4vM0wTr9l1yTnUJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setVertices"},"ATDj9eteRf8iLZXeZMzhE":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shift"},"b84XtlCuc_rCpji6a2Inl":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sort"},"LhlB0nlfvhZC8Hl0B3VJQ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#swapChildren"},"x1GKfOEyNsqoi5Os8F-I_":{"uri":"/melonJS/docs/melonjs/UITextButton.html#to2d"},"ECiwwcsW1PDVvDd-b7coY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toIso"},"nyKrdTp_NqTmO5z5KhVpC":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toPolygon"},"mQGg1ujcMOPxuYPYnBuiu":{"uri":"/melonJS/docs/melonjs/UITextButton.html#transform"},"p2jgdmGQtukpdw56cWF0R":{"uri":"/melonJS/docs/melonjs/UITextButton.html#translate"},"rvLPNdrz_Co7cB56S0417":{"uri":"/melonJS/docs/melonjs/UITextButton.html#union"},"_b2cEif4DBACkFjT-cIbP":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateBounds"},"6uUaD9v3RYSjeq-Qjk-zE":{"uri":"/melonJS/docs/melonjs/UITextButton.html#draw"},"sZFLpp2cibCq6igLaAJJj":{"uri":"/melonJS/docs/melonjs/UITextButton.html#update"},"_JHQLhPKzQJPXXa6S83dH":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onAnchorUpdate"},"C9S5OXuaKBNuXrYCYu16S":{"uri":"/melonJS/docs/melonjs/Vector2d.html"},"Pd78D3EWjYoctFeyySQFC":{"uri":"/melonJS/docs/melonjs/Vector2d.html#x"},"ND76jsgwt4T3cHEpdYgyz":{"uri":"/melonJS/docs/melonjs/Vector2d.html#y"},"fq-IX6cBsgF8fwjYsem23":{"uri":"/melonJS/docs/melonjs/Vector2d.html#abs"},"rHUSUwk_edrf-UXRXGahD":{"uri":"/melonJS/docs/melonjs/Vector2d.html#add"},"lx42hKpGWSj1kg2bOe0OL":{"uri":"/melonJS/docs/melonjs/Vector2d.html#angle"},"DSdR4TWwu_jSXHWb4uVzJ":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceil"},"nCqo3PWxmyiYS70ngoLmp":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceilSelf"},"zx5x0P3N8Rset0V8BvR5m":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clamp"},"I4gjKBrP2PBiVQb4gRbU0":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clampSelf"},"ZtdL1ouLum9Rm-J0j38go":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clone"},"v2NtCWAr24cgEn6Avlbf1":{"uri":"/melonJS/docs/melonjs/Vector2d.html#constructor"},"hiJlZ9-GH3kabOGD_GOvu":{"uri":"/melonJS/docs/melonjs/Vector2d.html#copy"},"jAVIy7lHFuhEaeBn2sWud":{"uri":"/melonJS/docs/melonjs/Vector2d.html#cross"},"rO5mNi3qHFwAne7v9Ig8p":{"uri":"/melonJS/docs/melonjs/Vector2d.html#distance"},"6OBImEbIdZCBV5cDaXib3":{"uri":"/melonJS/docs/melonjs/Vector2d.html#div"},"onH18Ip0fPvJBzNsr8lUn":{"uri":"/melonJS/docs/melonjs/Vector2d.html#dot"},"vo7UeoLzu8oxh0nnIT2t5":{"uri":"/melonJS/docs/melonjs/Vector2d.html#equals"},"0OGosbZCYnU7ngs3q1k8S":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floor"},"hPpqbK-V_PQ14biR_6eoX":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floorSelf"},"AM7M83XwnthWtfEWtrWuj":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length"},"HO22qETKTe7pFJlCgcvJx":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length2"},"4xzyjO3Q7l5A0FUVBhrJH":{"uri":"/melonJS/docs/melonjs/Vector2d.html#lerp"},"TrNm1JS-oCam8Q8ztfuan":{"uri":"/melonJS/docs/melonjs/Vector2d.html#maxV"},"l8D8GYr6ZafBRSnxiN2mg":{"uri":"/melonJS/docs/melonjs/Vector2d.html#minV"},"X1scNb4h-VIBEHtsamxmm":{"uri":"/melonJS/docs/melonjs/Vector2d.html#moveTowards"},"1aXp7nt1v6099Of8y0aAG":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negate"},"0J6R5rSCtHxg_4pUTKwSD":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negateSelf"},"iX-e0rYvmbljpofobdTnv":{"uri":"/melonJS/docs/melonjs/Vector2d.html#normalize"},"7_Xjoce-SvaGvGYQ6ykRj":{"uri":"/melonJS/docs/melonjs/Vector2d.html#perp"},"_7ebYLQzI-YMDiP18AdcC":{"uri":"/melonJS/docs/melonjs/Vector2d.html#project"},"i5XSJhR99MM_DidIQqsM-":{"uri":"/melonJS/docs/melonjs/Vector2d.html#projectN"},"60G5zWZc9Nc6nO6P8oPfF":{"uri":"/melonJS/docs/melonjs/Vector2d.html#rotate"},"zVq6lvQooMLUYcEZlSAa_":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scale"},"DThVtPFrrvmBPYdsbDlbt":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scaleV"},"PNiRp3HbebPJ-5BTOth5a":{"uri":"/melonJS/docs/melonjs/Vector2d.html#set"},"Bi2H_rbHfoTRbHbuiTFYF":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setV"},"EcjC4WuY_dSlbBujE9gl7":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setZero"},"IEsn2JHxjRR624jv_rwpV":{"uri":"/melonJS/docs/melonjs/Vector2d.html#sub"},"6Q7BDo3xYwBjxh3IFblgf":{"uri":"/melonJS/docs/melonjs/Vector2d.html#to2d"},"1NNPRcEo8UsfeH7pxPl9Z":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toIso"},"YScGiQWqwFgdpwFs90ZWU":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toString"},"0AWivno-80ezil8g6VPuO":{"uri":"/melonJS/docs/melonjs/Vector3d.html"},"qzmGy-6Hbvdu_Jod2yiDA":{"uri":"/melonJS/docs/melonjs/Vector3d.html#x"},"25mEQ58bA3UiN0C7ujzuz":{"uri":"/melonJS/docs/melonjs/Vector3d.html#y"},"w35IoyipCT2Etu0O6XEEf":{"uri":"/melonJS/docs/melonjs/Vector3d.html#z"},"jDDXTXCGNzgNPDafyB8EE":{"uri":"/melonJS/docs/melonjs/Vector3d.html#abs"},"jkdDu0_K3YnHODhtI6hOo":{"uri":"/melonJS/docs/melonjs/Vector3d.html#add"},"6BJbpmdJ7Kf_JvdgiBgrG":{"uri":"/melonJS/docs/melonjs/Vector3d.html#angle"},"GZ7HMalxbFzZhWohZ9cIz":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceil"},"pYP_i3YEv2E7DGXmZntWw":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceilSelf"},"KnhBRuBO37fuL8Zo66tot":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clamp"},"QlVUQZFpdw-0pTDga8383":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clampSelf"},"pmCAPO_9-m73IChhxnnVa":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clone"},"0JDx1N8ETgrsS1ebnbqQk":{"uri":"/melonJS/docs/melonjs/Vector3d.html#constructor"},"n73MzgfomrWISlfI0c020":{"uri":"/melonJS/docs/melonjs/Vector3d.html#copy"},"0rEs3vvklf1KonXEoecgq":{"uri":"/melonJS/docs/melonjs/Vector3d.html#cross"},"naWAusyPiygeSX-QYdMLz":{"uri":"/melonJS/docs/melonjs/Vector3d.html#distance"},"Ap3GPlujkXodM05fL0FXX":{"uri":"/melonJS/docs/melonjs/Vector3d.html#div"},"no2dB6aOn4aAancSTttkp":{"uri":"/melonJS/docs/melonjs/Vector3d.html#dot"},"u8uNin3Du7Xrd1-hqqd0S":{"uri":"/melonJS/docs/melonjs/Vector3d.html#equals"},"duE2OVlb3ZyYPond_TT43":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floor"},"XlAt1V76y6eIVUrrlevwQ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floorSelf"},"yEZ9B9iquEnEGWJDZXSFL":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length"},"8uF-L9NAc0btE00BYFhq_":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length2"},"9hJ4j1p3vvZZV_nmWoDcQ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#lerp"},"NLhhvbrA4UKGVrP6ADYyd":{"uri":"/melonJS/docs/melonjs/Vector3d.html#maxV"},"ijmnEsUXuq8cbmwkBBtvW":{"uri":"/melonJS/docs/melonjs/Vector3d.html#minV"},"OkLX-MfrOG_sik1tlttnb":{"uri":"/melonJS/docs/melonjs/Vector3d.html#moveTowards"},"GZP_D5-GCRi46qVN638xk":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negate"},"VKZM0hRabo_lD5SKqtpw3":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negateSelf"},"BpZikiZF45vKCk82CcAL2":{"uri":"/melonJS/docs/melonjs/Vector3d.html#normalize"},"GHP6d_FhRLpqg0lAL_cPz":{"uri":"/melonJS/docs/melonjs/Vector3d.html#perp"},"TK08icQUjwiIErUM-BIdm":{"uri":"/melonJS/docs/melonjs/Vector3d.html#project"},"TJtS_1ro_SLDWo26Rqtms":{"uri":"/melonJS/docs/melonjs/Vector3d.html#projectN"},"XTPMaNGXuzUUpBDxcXMeo":{"uri":"/melonJS/docs/melonjs/Vector3d.html#rotate"},"itp7bj7jeHUXGGYP0YmwP":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scale"},"lvWWa3f7QDXxP0Mzzy9CZ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scaleV"},"X3WbTDMSjCv2ZEn5s-p9-":{"uri":"/melonJS/docs/melonjs/Vector3d.html#set"},"GJ5h14ujoQzqf4Y4E_Gzi":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setV"},"SjHd6aTN1SdYlqOzbXboD":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setZero"},"kx3_omdr1uoYIxrnVc3O3":{"uri":"/melonJS/docs/melonjs/Vector3d.html#sub"},"03Br17ACM-IQ4hbJrJwDf":{"uri":"/melonJS/docs/melonjs/Vector3d.html#to2d"},"1FNezFLyO4rZG9Z8kUKNH":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toIso"},"92o679ekxP2XatMFXsgG9":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toString"},"MitX1qj9QuZKAsg3ypS90":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html"},"jvcUA7aSH-42bkA4TOOh7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#compositors"},"pOzJAXsEr6TxXa_Asq16n":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentCompositor"},"3h1mfc2_sFZzjuPAEvJTl":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentProgram"},"C5Nqy9Bq_RsZeJKcYWd_Q":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentTransform"},"ZoXG5bacVq180_JjHdi2Q":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#depthTest"},"g9sWt2KMoBYUOP3PChJQz":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#designRatio"},"xQVr9vK5S4AwkOigUBtWX":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#gl"},"p5M6zP8n0251YBOx9h1lE":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPURenderer"},"0taJFBQIJMHnyANWU7Ezd":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPUVendor"},"tfRclvqmHfdD6L8zyscls":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#height"},"Sp35TvnSvRKbkLN1f6Ex6":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#isContextValid"},"a9kZF1ZmLcOJqkt5s_WPI":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#maxTextures"},"Qnu_bGT3pzubZc2GhJeX7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#path2D"},"2Y9mGBwOgUKEpD0yhuDT0":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scaleRatio"},"e7Of2Ol_cSIqDu0py4Aeb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#settings"},"EgZaC87Jkrh3BQcmr47Av":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#type"},"57vM2v3ovAsSNhmsalF6Q":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#vertexBuffer"},"2aegQsQh10d9gRrOBpXdn":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#WebGLVersion"},"IJZabdSOhl1JqpAlwMbSn":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#width"},"bqAV7Z_c9rc8dKdKX4tue":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#addCompositor"},"EqVBdbQUBizYvkkYG5Cmc":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#beginPath"},"5NEn5XmS6l_E2zBqStgdF":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clear"},"pgXRxTUAfhlz5ZfHrLBzb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearColor"},"osETTpiexcy9nRqMQShLx":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearMask"},"7Na2hhW5cT5-UMas0HXlS":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearRect"},"3RDb8OXvwTRi-ArQXPHfb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearTint"},"BV_JLJqMQLXKe4dU8GnRI":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clipRect"},"nAM6Y8dht_CX_EErcICa6":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#closePath"},"HMbLiKGQVaQPoAlvclAOr":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#constructor"},"a74x7Mh5RqYniDsW4Ythx":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#createPattern"},"0FKRLsr7yaIP6SKflNFM4":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawImage"},"wd9UuCfCkymSsNwtfxk9K":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawPattern"},"ExcHlnGx51ZzSqvlR_8E0":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fill"},"dwO76AtbKra7qWxPh6bkU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillArc"},"77S1Y5RruYakBNzaxijXt":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillEllipse"},"psI75VhrhPHdj04FwZeaS":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillLine"},"1mVCbz45hWdyhirmD6hLV":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPoint"},"sLtl_i1tUT2rhl-jsGDGE":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPolygon"},"feOnWay8sf-sTA3duzL2M":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRect"},"yh2S9VFJcynEf00oyYq1h":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRoundRect"},"IrTS3y-ioib8LMeBNmmHv":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#flush"},"L5udJzSpfjNhzk6T-o3XW":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getBlendMode"},"IxS8WyFpqDDjwnVI5LvOc":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getCanvas"},"_CQIR0tyOmuVmq1ijv6OG":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getColor"},"KIXATW3Tp1qtP2gKb7BGP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext"},"P_ij6RAHjIBVe0VDVPJ48":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext2d"},"-tW7imBLACj8k2WhEs-Sk":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContextGL"},"1RxTpVM9kwyLwmFg4Ycl_":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getGlobalAlpha"},"ftL2A2xHdxK4PhGHvnojL":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenCanvas"},"kgVDdje0tstI_cjfqhe0n":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenContext"},"yQRt1pzZ3_TviwP6PBiFf":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#globalAlpha"},"noB0WiFjfF5H7F3Ct72LU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#lineTo"},"245wAhRfU9FbLVCXPcxBQ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#moveTo"},"eusgj8xVrGhVYFwBArCIp":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#overlaps"},"XoDFJr6MyL5sYdJo3vTZu":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rect"},"_gHmfj8AEcCbIIXJRyOH9":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#reset"},"qVHd7g2zXpV9xPrE8LpHO":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resetTransform"},"yCyv-62Vk41f7UIuGHCT7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resize"},"wvzJIAWCe0tFP0cKMQKf5":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#restore"},"zuEN2RC7pYtQvmpKEJbxx":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rotate"},"Q6rF1p4SGvF97iYh-8ypV":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#roundRect"},"V3uBUNSjRKgpoxYW1D6GN":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#save"},"MD6QGNXgUJbRrEwiiW5nV":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scale"},"yYLEmCTEi-bazH9D8rIki":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setAntiAlias"},"diLZ1tqmWIvXiuJv7VBCo":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setBlendMode"},"pX1IW9B_ddERSmEToC7O9":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setColor"},"tF-C9RIsiGuKrgT6tdvUE":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setCompositor"},"4UxQO4X1g6QXNMuM0Cmqr":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setGlobalAlpha"},"2DCTXdwAFYOhi6Smet7r7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setLineWidth"},"wtkC9N0_RiecaU1nNuogi":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setMask"},"v_Udo1FndQF6-tx6chfMP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setProjection"},"x7zrS_dkgs3DNGSIM9vEb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTint"},"qMZcuNqUDMGbjbHCoSmOt":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTransform"},"7vRruvrLboAfU85dLCPxZ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setViewport"},"g3RQCIDdn8q-cJKQblmt5":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#stroke"},"ZvpxUQNFdlQKAGTaqq6mu":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeArc"},"db1cjFFYy9PTSRRv-Nb1d":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeEllipse"},"fjRWbApeXRg6AahvcHuBG":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeLine"},"bztFJ9Si6K9uDQYvgBjxD":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePoint"},"C77D_Hz1Mc_WUAjzUEln8":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePolygon"},"LOZdpXwVStA_avuqnH17G":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRect"},"v5PcqPiBrTxttquJtnegS":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRoundRect"},"dbHJFzsy-szk0kMsZ6Xqw":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#tint"},"jtkTdb1ITPtYf_DaiCPNL":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toBlob"},"HcmBDLM2LparP6XpFSKpM":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toDataURL"},"lVQCMakAXJ0Qc02Kx2m8S":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toImageBitmap"},"rbTH9VzSGbN35D7kcws71":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#transform"},"CqeudGjNdfTQFzgvT9226":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#translate"},"EpQRZQ5tUlk-Zq6sDzfK_":{"uri":"/melonJS/docs/melonjs/World.html"},"ceojAAXJkkvvBFQGSjPK8":{"uri":"/melonJS/docs/melonjs/World.html#alpha"},"ayNfFL-N-kvMrAc-v2e43":{"uri":"/melonJS/docs/melonjs/World.html#alwaysUpdate"},"xoOR7BRPkXPgSGr0Ey4JI":{"uri":"/melonJS/docs/melonjs/World.html#ancestor"},"y-n1nwVG5y2hGRaP43uBF":{"uri":"/melonJS/docs/melonjs/World.html#anchorPoint"},"7R9jW7NgQR7OcIQmP-euY":{"uri":"/melonJS/docs/melonjs/World.html#app"},"nA7JnccsK6g-tTgwlaL0i":{"uri":"/melonJS/docs/melonjs/World.html#autoDepth"},"j-RmRYfaQxmtZ1EeU75TH":{"uri":"/melonJS/docs/melonjs/World.html#autoSort"},"FnwRyNOeKsdOIXzUKz1gV":{"uri":"/melonJS/docs/melonjs/World.html#autoTransform"},"6RY6jH0P_L7qOAUYxxOOg":{"uri":"/melonJS/docs/melonjs/World.html#backgroundColor"},"ZCtISwq7f_wqlAIoLIzyV":{"uri":"/melonJS/docs/melonjs/World.html#blendMode"},"V2Ha7XJQssnUmzLvTt9gW":{"uri":"/melonJS/docs/melonjs/World.html#bodies"},"z5lCJJmoVClaWVJw1ub7_":{"uri":"/melonJS/docs/melonjs/World.html#body"},"_GTzvrWGHszIlIZCLVhYT":{"uri":"/melonJS/docs/melonjs/World.html#bottom"},"ri6P9veWLeeVUp8j9MGlf":{"uri":"/melonJS/docs/melonjs/World.html#broadphase"},"No3cIPkAFofhkZ7hdCb-u":{"uri":"/melonJS/docs/melonjs/World.html#centerX"},"NJvVS6CriD25GeVkPXZmF":{"uri":"/melonJS/docs/melonjs/World.html#centerY"},"sTRVonXYzx5unuVj24-mf":{"uri":"/melonJS/docs/melonjs/World.html#clipping"},"rYGkMvExEh32Z8n_47f9c":{"uri":"/melonJS/docs/melonjs/World.html#currentTransform"},"PRGVcwNQfsAhQJlPITQXg":{"uri":"/melonJS/docs/melonjs/World.html#depth"},"Ie3yc8OYSwstU7pHSdzhu":{"uri":"/melonJS/docs/melonjs/World.html#detector"},"m2yNdSZdQLENQwQ0Mh5kF":{"uri":"/melonJS/docs/melonjs/World.html#enableChildBoundsUpdate"},"heTZ8PCgHDCbT-xCVpXkD":{"uri":"/melonJS/docs/melonjs/World.html#floating"},"zTiOJsyAMkkdXufqXDg-8":{"uri":"/melonJS/docs/melonjs/World.html#fps"},"SJABhCxQKs6tOZX3-Uxwp":{"uri":"/melonJS/docs/melonjs/World.html#gravity"},"4JMQJE8YOSCHIFtiIWyqR":{"uri":"/melonJS/docs/melonjs/World.html#GUID"},"VXB2VFtiFaw6ho6tbQM-Z":{"uri":"/melonJS/docs/melonjs/World.html#height"},"Vkt2aH4H6umNmqpQ7o1C5":{"uri":"/melonJS/docs/melonjs/World.html#inViewport"},"6kJTkoQyyrFmK8KsDJXri":{"uri":"/melonJS/docs/melonjs/World.html#isDirty"},"AD6upQDcquJA_Nr0-gtpG":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedX"},"EolKqH-mCjbtDli-La8EN":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedY"},"S5FL27j15ghVHxD4b4eAa":{"uri":"/melonJS/docs/melonjs/World.html#isFloating"},"9xMe5_awW66mkYYuf2dmQ":{"uri":"/melonJS/docs/melonjs/World.html#isKinematic"},"1TzcVCEqUmJ-JaY9-xOWM":{"uri":"/melonJS/docs/melonjs/World.html#isPersistent"},"8qV-c4vS5iq7LspO8g1GP":{"uri":"/melonJS/docs/melonjs/World.html#left"},"iDDPgjIeUCheLjt2K_eIM":{"uri":"/melonJS/docs/melonjs/World.html#mask"},"2grJwf2LtklBWYdOTPWL1":{"uri":"/melonJS/docs/melonjs/World.html#name"},"s1dXF8pLKQjW4EzWPyz06":{"uri":"/melonJS/docs/melonjs/World.html#onVisibilityChange"},"2nn1WX21JxgnMKG2GQGhe":{"uri":"/melonJS/docs/melonjs/World.html#parentApp"},"E2msLB3G4ovlFj952nNH2":{"uri":"/melonJS/docs/melonjs/World.html#physic"},"chb3v8T5U8Y7O6aSINfTH":{"uri":"/melonJS/docs/melonjs/World.html#points"},"Ok34TM6H6btutzp8ilnqq":{"uri":"/melonJS/docs/melonjs/World.html#pos"},"OHLLiIeWZZzWCOqh7-wKA":{"uri":"/melonJS/docs/melonjs/World.html#preRender"},"yHuAh5U-MFyyS3Wg_bcSa":{"uri":"/melonJS/docs/melonjs/World.html#right"},"BO2JtIz0up5V4Pz0AEIw_":{"uri":"/melonJS/docs/melonjs/World.html#root"},"QwaozTjQ8hzXL4HnOodeb":{"uri":"/melonJS/docs/melonjs/World.html#shader"},"eNEeun0b_CMyFWGldzK5b":{"uri":"/melonJS/docs/melonjs/World.html#sortOn"},"Y5HV_WDpAzCav8e1OexbW":{"uri":"/melonJS/docs/melonjs/World.html#tint"},"605yIMKg9cSvaapvOBXmL":{"uri":"/melonJS/docs/melonjs/World.html#top"},"7Tx7oJ9p9kKqIaKmPyvYs":{"uri":"/melonJS/docs/melonjs/World.html#type"},"dAYc6G924LsTpk8KBppP6":{"uri":"/melonJS/docs/melonjs/World.html#updateWhenPaused"},"VEKx83gTgmYZgb4FjYWCv":{"uri":"/melonJS/docs/melonjs/World.html#width"},"yIXOZMoEqVbuiV34TlvKL":{"uri":"/melonJS/docs/melonjs/World.html#addBody"},"imEBy_h0FrS85Nw8HF53x":{"uri":"/melonJS/docs/melonjs/World.html#addChild"},"hz-PNjKInubLA99e9M6M-":{"uri":"/melonJS/docs/melonjs/World.html#addChildAt"},"l31fZJkbh6jNP0Z2AsNcZ":{"uri":"/melonJS/docs/melonjs/World.html#angleTo"},"gckUm6d6bEyl8-im-o2-n":{"uri":"/melonJS/docs/melonjs/World.html#centerOn"},"xJwDtvxNJbkHGPlPCv_VW":{"uri":"/melonJS/docs/melonjs/World.html#clone"},"k8M6dDnx22qkxsljh2w7H":{"uri":"/melonJS/docs/melonjs/World.html#constructor"},"rYCb6NNdJ0-2Sd1qH0oxz":{"uri":"/melonJS/docs/melonjs/World.html#contains"},"fKbSYeY5NX627p6FfeXj2":{"uri":"/melonJS/docs/melonjs/World.html#copy"},"brimhOXZ4CrlKGaTgXvDT":{"uri":"/melonJS/docs/melonjs/World.html#distanceTo"},"06pnGpyWcnma6L4_hv6O9":{"uri":"/melonJS/docs/melonjs/World.html#equals"},"a7jv8jphVFqf8Kf5fiY0K":{"uri":"/melonJS/docs/melonjs/World.html#flipX"},"NDnEi-WWTdCQ2genPqnio":{"uri":"/melonJS/docs/melonjs/World.html#flipY"},"y9MJii2fLSEXyucbvc1Tw":{"uri":"/melonJS/docs/melonjs/World.html#forEach"},"o4888L1xw6jgVgjN9q-lv":{"uri":"/melonJS/docs/melonjs/World.html#getAbsolutePosition"},"vBvfkbiNz9R7HoY6ljOBG":{"uri":"/melonJS/docs/melonjs/World.html#getBounds"},"GTOrC6-yb49ubPNea679u":{"uri":"/melonJS/docs/melonjs/World.html#getChildAt"},"kY8hjHfhk8ArDK2nH7Qf9":{"uri":"/melonJS/docs/melonjs/World.html#getChildByGUID"},"lrAFmxtOJ-pCD0d5NWd4a":{"uri":"/melonJS/docs/melonjs/World.html#getChildByName"},"27u4pFTnXvMKhnt5xMXpM":{"uri":"/melonJS/docs/melonjs/World.html#getChildByProp"},"YGSU8gIlex22OrjpGDSk_":{"uri":"/melonJS/docs/melonjs/World.html#getChildByType"},"OqqF7FcrKEJfXyOIzNPwz":{"uri":"/melonJS/docs/melonjs/World.html#getChildIndex"},"JD3R8iW3w10FoFNTr4ZS0":{"uri":"/melonJS/docs/melonjs/World.html#getChildren"},"vNmGEyBvPYtNaULrRoUlK":{"uri":"/melonJS/docs/melonjs/World.html#getIndices"},"-DGDXNArdMsH3CzU3mVxZ":{"uri":"/melonJS/docs/melonjs/World.html#getNextChild"},"ol4lm7PT6ymqsdvKhklR_":{"uri":"/melonJS/docs/melonjs/World.html#getOpacity"},"YEd4niSeibZds2bhkZzYH":{"uri":"/melonJS/docs/melonjs/World.html#getRootAncestor"},"BLSwTmfthkiAw1GhfCqOl":{"uri":"/melonJS/docs/melonjs/World.html#hasChild"},"phV1KEgJa6uRoybgzA0GR":{"uri":"/melonJS/docs/melonjs/World.html#isAttachedToRoot"},"FA1zUVMDNxXuZa_M1DYWL":{"uri":"/melonJS/docs/melonjs/World.html#isConvex"},"UOW1uhJ-pfFq1zb_A5E6R":{"uri":"/melonJS/docs/melonjs/World.html#isFinite"},"vYCIH6vEX-30YeknmdunV":{"uri":"/melonJS/docs/melonjs/World.html#lookAt"},"ttmSihQ0wdrd85CDYWb7N":{"uri":"/melonJS/docs/melonjs/World.html#moveDown"},"GjkX4FHBJpwTNCmxH5V-h":{"uri":"/melonJS/docs/melonjs/World.html#moveToBottom"},"PVrnUNsQKJKtE3MBX2YRe":{"uri":"/melonJS/docs/melonjs/World.html#moveToTop"},"gq1jPywOPo1eJS2op_rrw":{"uri":"/melonJS/docs/melonjs/World.html#moveUp"},"MNU8snaGC2L9dINm-w4oU":{"uri":"/melonJS/docs/melonjs/World.html#onChildChange"},"mWYhNMB6CLqEdTJ6SYxB5":{"uri":"/melonJS/docs/melonjs/World.html#onCollision"},"B7tHWNsIRjZSdo8gGvQsm":{"uri":"/melonJS/docs/melonjs/World.html#onDestroyEvent"},"oAr7peXFVJx-1XtwcBeyW":{"uri":"/melonJS/docs/melonjs/World.html#overlaps"},"M0DwSPXs63y36Zfu5PhaJ":{"uri":"/melonJS/docs/melonjs/World.html#postDraw"},"nHHwEeJ_aSHKXF7GSlajW":{"uri":"/melonJS/docs/melonjs/World.html#preDraw"},"busI5oBWjYpl7niPC5tkZ":{"uri":"/melonJS/docs/melonjs/World.html#recalc"},"i_5NRlpjzhLqT3poo-RQP":{"uri":"/melonJS/docs/melonjs/World.html#removeBody"},"ar_Szr_5Dp2v_C08vfSIr":{"uri":"/melonJS/docs/melonjs/World.html#removeChild"},"w1iwXqtw1OgtvZK4CRSLj":{"uri":"/melonJS/docs/melonjs/World.html#removeChildNow"},"HjuWf83CXTJPmO_gW9yJi":{"uri":"/melonJS/docs/melonjs/World.html#reset"},"Nag3Tpn8U3bEWwJXBF865":{"uri":"/melonJS/docs/melonjs/World.html#resize"},"P8L0XtdKMdsS-QYNc2PhQ":{"uri":"/melonJS/docs/melonjs/World.html#rotate"},"abYVg2XNpPwcs9DGYyA-c":{"uri":"/melonJS/docs/melonjs/World.html#scale"},"AGQ-37zE2VLmRKvSyRPEF":{"uri":"/melonJS/docs/melonjs/World.html#scaleV"},"zdPYZQgFHOR968ZE2e0PJ":{"uri":"/melonJS/docs/melonjs/World.html#setChildsProperty"},"j6KW_hKQgMHwR5P9t0E9C":{"uri":"/melonJS/docs/melonjs/World.html#setOpacity"},"mn5xlPM_LkwgMzIhjNWga":{"uri":"/melonJS/docs/melonjs/World.html#setShape"},"3RdWZyZ2ofZGxPG9upKKT":{"uri":"/melonJS/docs/melonjs/World.html#setVertices"},"lnGH5SU7T4qiXj7cqJTi_":{"uri":"/melonJS/docs/melonjs/World.html#shift"},"RG-ibvOPtwj-mch1oiBnv":{"uri":"/melonJS/docs/melonjs/World.html#sort"},"odpicFMNU0HbQNIj3jCXw":{"uri":"/melonJS/docs/melonjs/World.html#step"},"lxDNq24oFcR4wr30Gbeev":{"uri":"/melonJS/docs/melonjs/World.html#swapChildren"},"bLMdSrwAw385S_PIEXR4P":{"uri":"/melonJS/docs/melonjs/World.html#to2d"},"bYN3JMFT4UQuVLjx47-BE":{"uri":"/melonJS/docs/melonjs/World.html#toIso"},"WFxG9zGui33NfKhJv4o17":{"uri":"/melonJS/docs/melonjs/World.html#toPolygon"},"ctTdWqTst1zJIXyIh_7ht":{"uri":"/melonJS/docs/melonjs/World.html#transform"},"7R3YjbYEF6jPzLA_3pNbK":{"uri":"/melonJS/docs/melonjs/World.html#translate"},"JuG5A0JD2Q9cbVn0zZGSp":{"uri":"/melonJS/docs/melonjs/World.html#union"},"w8FeusBX8MJiVmG1M4Iuy":{"uri":"/melonJS/docs/melonjs/World.html#update"},"HfULvI73zpKNS6qwf7Vcs":{"uri":"/melonJS/docs/melonjs/World.html#updateBounds"},"hY8kVO3vVoiI3iBfB8hJq":{"uri":"/melonJS/docs/melonjs/World.html#draw"},"tVKE-FuGP-G1l_VFQSr2w":{"uri":"/melonJS/docs/melonjs/World.html#bodyApplyGravity"},"YmDdrNloZASMjvVKbvtBX":{"uri":"/melonJS/docs/melonjs/World.html#onAnchorUpdate"},"iWF9t8rN3nGkkoTEkTsGn":{"uri":"global.html#AUTO"},"UHY88bqZsXALKgfe39SpS":{"uri":"global.html#CANVAS"},"lUs9Igp9WzL6auRYt1h2-":{"uri":"global.html#version"},"e0JpHKKUfK0eQFDRJ0SdZ":{"uri":"global.html#WEBGL"},"helbAhwicC3cNXgD3cedW":{"uri":"global.html#failureLoadedAssets"},"-prh4jsfDFnXZRM5PUoyq":{"uri":"global.html#imgList"},"oG9g3RztLtaeMFbftBLBZ":{"uri":"global.html#initialized"},"lG7IOgfDYyM_jJ36rTDzS":{"uri":"global.html#parserInitialized"},"HOFX8rlPB0LiCj3GHTntB":{"uri":"global.html#parsers"},"EHNuFndyj8DxqvpD9hePA":{"uri":"global.html#skipAutoInit"},"gNUpmWNBSDEI9klUwx62P":{"uri":"/melonJS/docs/melonjs/boot.html"},"cuA96eaGfGZNgZu4XLRut":{"uri":"/melonJS/docs/melonjs/consoleHeader.html"},"Q3MR4pRdEoSK9yE66I6RX":{"uri":"/melonJS/docs/melonjs/fetchData.html"},"9VMp685vmkqyaE0uXwhxe":{"uri":"/melonJS/docs/melonjs/hasVideoFormat.html"},"B2HldnRS4fluf7kvMynf9":{"uri":"/melonJS/docs/melonjs/pow.html"},"1SWcwbhW2dm6oGsEBGvsw":{"uri":"/melonJS/docs/melonjs/warning.html"},"oHAF5RYaKNGNOcdwhQ5Lz":{"uri":"/melonJS/docs/melonjs/onresize.html"},"QglOxWNf0DYTfYmhJ6J64":{"uri":"/melonJS/docs/melonjs/scale.html"}}} \ No newline at end of file +{"version":"1.0.0","metadata":{"linker":"(unsigned)","siteRoot":"melonJS/docs"},"root":{"id":"root-SzF8VZGHzD9OcKTcLGEdJ","name":"","type":"RootDoc","members":[{"id":"3rVjpWJ_Sq1weWPeNfVH2","name":"audio","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"wDzkuJHrjXIfBVe-61E5t","name":"stopOnAudioError","brief":"","defaultValue":"true","type":"PropertyDoc","description":"

                Specify either to stop on audio loading error or not
                \nif true, melonJS will throw an exception and stop loading
                \nif ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yYAicJx1VfOJqJgzfmi8E","name":"disable","brief":"","scope":"static","type":"FunctionDoc","description":"

                disable audio output

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Av6XXqdDgX7Fgelpq1WGN","name":"enable","brief":"","scope":"static","see":["audio.disable"],"type":"FunctionDoc","description":"

                enable audio output
                \nonly useful if audio supported and previously disabled through

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-ZUT0-ai3N-lWXM9is4f9","name":"fade","brief":"","scope":"static","type":"FunctionDoc","description":"

                Fade a currently playing sound between two volumee.

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"from","optional":false,"description":"

                Volume to fade from (0.0 to 1.0).

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"to","optional":false,"description":"

                Volume to fade to (0.0 to 1.0).

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"duration","optional":false,"description":"

                Time in milliseconds to fade.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will fade.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"lXHp-xhE5UlZUYU4J2g40","name":"getCurrentTrack","brief":"","scope":"static","type":"FunctionDoc","description":"

                returns the current track Id

                ","params":[],"returns":[{"description":"

                audio track name

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"tmdbgzxhyBo2EnCOsN9V1","name":"getVolume","brief":"","scope":"static","type":"FunctionDoc","description":"

                get the default global volume

                ","params":[],"returns":[{"description":"

                current volume value in Float [0.0 - 1.0] .

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZhAN8rfzwK0QngDzHCseW","name":"hasAudio","brief":"","scope":"static","type":"FunctionDoc","description":"

                check if audio (HTML5 or WebAudio) is supported

                ","params":[],"returns":[{"description":"

                return true if audio (HTML5 or WebAudio) is supported

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"kWDFH91Xa029x2N19fszS","name":"hasFormat","brief":"","scope":"static","type":"FunctionDoc","description":"

                check if the given audio format is supported

                ","params":[{"identifier":"codec","optional":false,"description":"

                the audio format to check for support

                ","dataType":{"tokens":[{"value":"\"mp3\" | \"mpeg\" | \"opus\" | \"ogg\" | \"oga\" | \"wav\" | \"aac\" | \"caf\" | \"m4a\" | \"m4b\" | \"mp4\" | \"weba\" | \"webm\" | \"dolby\" | \"flac\"","kind":"canonical"},{"value":"\"mp3\"","kind":"canonical"},{"value":"\"mpeg\"","kind":"canonical"},{"value":"\"opus\"","kind":"canonical"},{"value":"\"ogg\"","kind":"canonical"},{"value":"\"oga\"","kind":"canonical"},{"value":"\"wav\"","kind":"canonical"},{"value":"\"aac\"","kind":"canonical"},{"value":"\"caf\"","kind":"canonical"},{"value":"\"m4a\"","kind":"canonical"},{"value":"\"m4b\"","kind":"canonical"},{"value":"\"mp4\"","kind":"canonical"},{"value":"\"weba\"","kind":"canonical"},{"value":"\"webm\"","kind":"canonical"},{"value":"\"dolby\"","kind":"canonical"},{"value":"\"flac\"","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}}],"returns":[{"description":"

                return true if the given audio format is supported

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5RAeypHH50uQ19FAnKUx-","name":"init","brief":"","examples":[{"caption":"","code":"// initialize the \"sound engine\", giving \"webm\" as default desired audio format, and \"mp3\" as a fallback\nif (!me.audio.init(\"webm,mp3\")) {\n alert(\"Sorry but your browser does not support html 5 audio !\");\n return;\n}"}],"scope":"static","type":"FunctionDoc","description":"

                Initialize and configure the audio support.
                \nFor a maximum browser coverage the recommendation is to use at least two o...","params":[{"identifier":"format","optional":true,"default":"\"mp3\"","description":"

                audio format to prioritize ("mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav&qu...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                Indicates whether audio initialization was successful

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"MQqhUQ0AWtqPyHL3IN1vb","name":"load","brief":"","scope":"static","type":"FunctionDoc","description":"

                Load an audio file

                ","params":[{"identifier":"sound","optional":false,"dataType":{"tokens":[{"value":"loader.Asset","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1"}},{"identifier":"onloadcb","optional":true,"description":"

                function to be called when the resource is loaded

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"onerrorcb","optional":true,"description":"

                function to be called in case of error

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                the amount of asset loaded (always 1 if successfull)

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w_bycQ2ujEIhmYLTnWyEC","name":"mute","brief":"","examples":[{"caption":"","code":"// mute the background music\nme.audio.mute(\"awesome_music\");"}],"scope":"static","type":"FunctionDoc","description":"

                mute or unmute the specified sound, but does not pause the playback.

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will mute.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"mute","optional":true,"default":"true","description":"

                True to mute and false to unmute

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"REu1QtXF1oRh7DpPVLBGZ","name":"muteAll","brief":"","scope":"static","type":"FunctionDoc","description":"

                mute all audio

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pteDXhC8EpBqqa8NKNdIX","name":"muted","brief":"","scope":"static","type":"FunctionDoc","description":"

                Returns true if audio is muted globally.

                ","params":[],"returns":[{"description":"

                true if audio is muted globally

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ahHLmNkpNnNlgLTQ8HflR","name":"pause","brief":"","examples":[{"caption":"","code":"me.audio.pause(\"cling\");"}],"scope":"static","type":"FunctionDoc","description":"

                pause the specified sound on all channels
                \nthis function does not reset the currentTime property

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will pause.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"fLFi0vcSD9u6L9bLQhMhw","name":"pauseTrack","brief":"","examples":[{"caption":"","code":"me.audio.pauseTrack();"}],"scope":"static","type":"FunctionDoc","description":"

                pause the current audio track

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5sAFEhVxRY0YBctNwe-ks","name":"play","brief":"","examples":[{"caption":"","code":"// play the \"cling\" audio clip\nme.audio.play(\"cling\");\n// play & repeat the \"engine\" audio clip\nme.audio.play(\"engine\", true);\n// play the \"gameover_sfx\" audio clip and call myFunc when finished\nme.audio.play(\"gameover_sfx\", false, myFunc);\n// play the \"gameover_sfx\" audio clip with a lower volume level\nme.audio.play(\"gameover_sfx\", false, null, 0.5);"}],"scope":"static","type":"FunctionDoc","description":"

                play the specified sound

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"loop","optional":true,"default":"false","description":"

                loop audio

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"onend","optional":true,"description":"

                Function to call when sound instance ends playing.

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"volume","optional":true,"default":"default","description":"

                Float specifying volume (0.0 - 1.0 values accepted).

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                the sound instance ID.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BKtFyeYL6UWFfvwkqZE_L","name":"playTrack","brief":"","examples":[{"caption":"","code":"me.audio.playTrack(\"awesome_music\");"}],"scope":"static","type":"FunctionDoc","description":"

                play the specified audio track
                \nthis function automatically set the loop property to true
                \nand keep track of the cur...","params":[{"identifier":"sound_name","optional":false,"description":"

                audio track name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"volume","optional":true,"default":"default","description":"

                Float specifying volume (0.0 - 1.0 values accepted).

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                the sound instance ID.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LFh9cA5yVQZff-Rs-ryav","name":"rate","brief":"","examples":[{"caption":"","code":"// get the playback rate of the background music\nlet rate = me.audio.rate(\"dst-gameforest\");\n// speed up the playback of the background music\nme.audio.rate(\"dst-gameforest\", 2.0);"}],"scope":"static","type":"FunctionDoc","description":"

                get or set the rate of playback for a sound.

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"rate","optional":true,"variadic":true,"description":"

                playback rate : 0.5 to 4.0, with 1.0 being normal speed.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will be changed.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                return the current playback rate (if no extra parameters were given)

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LKBgHP6_9oqrD_jra3Icd","name":"resume","brief":"","examples":[{"caption":"","code":"// play a audio clip\nlet id = me.audio.play(\"myClip\");\n...\n// pause it\nme.audio.pause(\"myClip\", id);\n...\n// resume\nme.audio.resume(\"myClip\", id);"}],"scope":"static","type":"FunctionDoc","description":"

                resume the specified sound on all channels

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will resume.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"u2lwbFpV0DfjXJxg6d8E4","name":"resumeTrack","brief":"","examples":[{"caption":"","code":"// play an awesome music\nme.audio.playTrack(\"awesome_music\");\n// pause the audio track\nme.audio.pauseTrack();\n// resume the music\nme.audio.resumeTrack();"}],"scope":"static","type":"FunctionDoc","description":"

                resume the previously paused audio track

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tzIVGYey_OfaKsHkxnRKR","name":"seek","brief":"","examples":[{"caption":"","code":"// return the current position of the background music\nlet current_pos = me.audio.seek(\"dst-gameforest\");\n// set back the position of the background music to the beginning\nme.audio.seek(\"dst-gameforest\", 0);"}],"scope":"static","type":"FunctionDoc","description":"

                get/set the position of playback for a sound.

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"seek","optional":true,"variadic":true,"description":"

                the position to move current playback to (in seconds).

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will changed.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                return the current seek position (if no extra parameters were given)

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"k2Fy8jXNhpvtSr7xDvczS","name":"setVolume","brief":"","scope":"static","type":"FunctionDoc","description":"

                set the default global volume

                ","params":[{"identifier":"volume","optional":false,"description":"

                Float specifying volume (0.0 - 1.0 values accepted).

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"I5RK6msP3_NUp4saJ5j3y","name":"stop","brief":"","examples":[{"caption":"","code":"me.audio.stop(\"cling\");"}],"scope":"static","type":"FunctionDoc","description":"

                stop the specified sound on all channels

                ","params":[{"identifier":"sound_name","optional":true,"description":"

                audio clip name (case sensitive). If none is passed, all sounds are stopped.

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will stop.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"g8O18J2oeeQMQb6BVVK6m","name":"stopTrack","brief":"","examples":[{"caption":"","code":"// play a awesome music\nme.audio.playTrack(\"awesome_music\");\n// stop the current music\nme.audio.stopTrack();"}],"scope":"static","see":["audio.playTrack"],"type":"FunctionDoc","description":"

                stop the current audio track

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cUqsAP-9YGn6KpTBJD--5","name":"unload","brief":"","examples":[{"caption":"","code":"me.audio.unload(\"awesome_music\");"}],"scope":"static","type":"FunctionDoc","description":"

                unload specified audio track to free memory

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio track name - case sensitive

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                true if unloaded

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"WBdCz5M_Egn1oCHoyV5aP","name":"unloadAll","brief":"","examples":[{"caption":"","code":"me.audio.unloadAll();"}],"scope":"static","type":"FunctionDoc","description":"

                unload all audio to free memory

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"10F4_72HRB5MGHRp6D3hL","name":"unmute","brief":"","scope":"static","type":"FunctionDoc","description":"

                unmute the specified sound

                ","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"id","optional":true,"description":"

                the sound instance ID. If none is passed, all sounds in group will unmute.

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1PGNIQ2-lBtFMrLxE8mq3","name":"unmuteAll","brief":"","scope":"static","type":"FunctionDoc","description":"

                unmute all audio

                ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"h7joUvFvZw14QehmdhUgv","name":"collision","brief":"","type":"NSDoc","description":"

                Collision detection (and projection-based collision response) of 2D shapes.
                \nBased on the Separating Axis Theorem and s...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"kDeeYUDxaUX5yAQZLZkaF","name":"types","brief":"","examples":[{"caption":"","code":" // set the body collision type\n myEntity.body.collisionType = me.collision.types.PLAYER_OBJECT;\n\n // filter collision detection with collision shapes, enemies and collectables\n myEntity.body.setCollisionMask(\n me.collision.types.WORLD_SHAPE |\n me.collision.types.ENEMY_OBJECT |\n me.collision.types.COLLECTABLE_OBJECT\n );\n\n // User-defined collision types are defined using BITWISE LEFT-SHIFT:\n game.collisionTypes = {\n LOCKED_DOOR : me.collision.types.USER << 0,\n OPEN_DOOR : me.collision.types.USER << 1,\n LOOT : me.collision.types.USER << 2,\n };\n\n // Set collision type for a door entity\n myDoorEntity.body.collisionType = game.collisionTypes.LOCKED_DOOR;\n\n // Set collision mask for the player entity, so it collides with locked doors and loot\n myPlayerEntity.body.setCollisionMask(\n me.collision.types.ENEMY_OBJECT |\n me.collision.types.WORLD_SHAPE |\n game.collisionTypes.LOCKED_DOOR |\n game.collisionTypes.LOOT\n );"}],"readonly":true,"scope":"static","see":["Body.setCollisionMask","Body.collisionType"],"type":"EnumDoc","description":"

                Enum for collision type values.

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"aj_0yG2tnmVIRGBT2BGYm","name":"ACTION_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                e.g. doors

                "},{"id":"4DQT7dp7Xq5y7DHKBuOmL","name":"ALL_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                all of the above (including user-defined types)

                "},{"id":"lhEpg-g3WiTdETYNp9Kpi","name":"COLLECTABLE_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                collectable objects

                "},{"id":"E67adG3-D5iG9IGfvki3S","name":"ENEMY_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                enemies objects

                "},{"id":"lJqdAnvKWWQXlasfti7Wk","name":"NO_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                to disable collision check

                "},{"id":"RMWu5ORAqsqRnpJFRuUA7","name":"NO_OBJECT","brief":"

                to disable collision check

                ","defaultValue":"0","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rtcSjBV8PDDYZlEFujEca","name":"NPC_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                non playable characters

                "},{"id":"agey5JSl_OC1bK46T_11H","name":"PLAYER_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                playbable characters

                "},{"id":"coyC4vC7_bK-MwS3tGgzU","name":"PROJECTILE_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                e.g. missiles

                "},{"id":"3UT49aF21KP4OAk6MmX7P","name":"USER","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                user-defined collision types (see example)

                "},{"id":"FTYQA93ekLaYI7M1cCTg7","name":"WORLD_SHAPE","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                e.g. walls; for map collision shapes

                "}]},{"id":"Jf0WeHp68vwfwX46OYtr2","name":"maxChildren","brief":"","access":"public","defaultValue":"8","scope":"static","see":["game.world.broadphase"],"type":"PropertyDoc","description":"

                The maximum number of children that a quadtree node can contain before it is split into sub-nodes.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"btWNwUw2BLR4G5gnylaCk","name":"maxDepth","brief":"","access":"public","defaultValue":"4","scope":"static","see":["game.world.broadphase"],"type":"PropertyDoc","description":"

                The maximum number of levels that the quadtree will create.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iq7VKsS5EhCK_GDHaBVtX","name":"rayCast","brief":"","access":"public","examples":[{"caption":"","code":" // define a line accross the viewport\n let ray = new me.Line(\n // absolute position of the line\n 0, 0, [\n // starting point relative to the initial position\n new me.Vector2d(0, 0),\n // ending point\n new me.Vector2d(me.game.viewport.width, me.game.viewport.height)\n ]);\n\n // check for collition\n result = me.collision.rayCast(ray);\n\n if (result.length > 0) {\n // ...\n }"}],"scope":"instance","type":"MethodDoc","description":"

                Checks for object colliding with the given line

                ","params":[{"identifier":"line","optional":false,"description":"

                line to be tested for collision

                ","dataType":{"tokens":[{"value":"Line","kind":"canonical"},{"value":"Line","kind":"link"}],"template":"%1"}},{"identifier":"result","optional":true,"description":"

                a user defined array that will be populated with intersecting physic objects.

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                an array of intersecting physic objects

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]}]},{"id":"zFNAy6zuoTJnuCx96t8I7","name":"device","brief":"","defaultValue":"false","type":"NSDoc","description":"

                device type and capabilities

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"-m5RBvriyRlR8oKWdTl8Y","name":"platform","brief":"","readonly":true,"type":"NSDoc","description":"

                The device platform type

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"tmyBVGJUeMrfcTBY4Jbgx","name":"android","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is an Android platform

                "},{"id":"STlmZDvL20NREXrACpQae","name":"android2","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is an Android 2.x platform

                "},{"id":"uZuro0rWtrN8WodwDDH8B","name":"BlackBerry","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is a BlackBerry platform

                "},{"id":"N86RkjaHbq_QvvjN5-TAR","name":"chromeOS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is running on ChromeOS.

                "},{"id":"z-_FfkuYQYw7KZd2J5q-U","name":"ejecta","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if running under Ejecta

                "},{"id":"WMez-Y6dXkl8OQOIQSZEC","name":"iOS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is an iOS platform

                "},{"id":"rv5O2zPzNMHryj76c0UFz","name":"isMobile","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if a mobile device

                "},{"id":"BCFbahWDlqYSdBs9ZjheY","name":"isWeixin","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if running under Wechat

                "},{"id":"FVhBQZEa4xxBVtv2NPY0T","name":"Kindle","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is a Kindle platform

                "},{"id":"FhYbLmczNjRsCkpTcQlnS","name":"linux","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is a Linux platform

                "},{"id":"Xyy3uCldtBmE3F89RWagu","name":"nodeJS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if running under node.js

                "},{"id":"JjysHQBm6dK7XE4Aw4VQ7","name":"ua","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                the user agent string for the current device

                "},{"id":"zJehX6_n8_KPLOMqwVbWq","name":"wp","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is a Windows Phone platform

                "}]},{"id":"64qLFKtmiVLZdMfQz_Yt5","name":"accelerationX","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchAccelerometer"],"type":"PropertyDoc","description":"

                contains the g-force acceleration along the x-axis.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DzRXrqmbhP8KRVFgFwGfz","name":"accelerationY","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchAccelerometer"],"type":"PropertyDoc","description":"

                contains the g-force acceleration along the y-axis.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XU11pCkmatBD-DucgJiCL","name":"accelerationZ","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchAccelerometer"],"type":"PropertyDoc","description":"

                contains the g-force acceleration along the z-axis.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X1_ysyoHrHt9cKk8UmhqH","name":"alpha","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchDeviceOrientation"],"type":"PropertyDoc","description":"

                Device orientation Alpha property. Gives angle based on the rotation of the phone around its z axis.\nThe z-axis is perpend...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"htf75yPcXmhEdEFOo2IKQ","name":"autoFocus","brief":"","access":"public","defaultValue":"true","type":"PropertyDoc","description":"

                Specify whether to automatically bring the window to the front

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FzQuLSJz-4Avu6sU5REyl","name":"beta","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchDeviceOrientation"],"type":"PropertyDoc","description":"

                Device orientation Beta property. Gives angle on tilting a portrait held phone forward or backward

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1DlaGx1b71Tx-b3Xt0iN8","name":"devicePixelRatio","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3fStGC03Lm7bQ_y1VwLnT","name":"gamma","brief":"","access":"public","defaultValue":"0","readonly":true,"see":["device.watchDeviceOrientation"],"type":"PropertyDoc","description":"

                Device orientation Gamma property. Gives angle on tilting a portrait held phone left or right

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L7imp7wFOe9eH-rJFNA0F","name":"hasAccelerometer","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                Browser accelerometer capabilities

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6NJz5Nq510DcxLiTXjTYO","name":"hasDeviceOrientation","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                Browser device orientation

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zDt8KmpfzBFDmJvQHcMOO","name":"hasFullscreenSupport","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Browser full screen support

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7jAYsK3oo7Xo73mlyDKmr","name":"hasHTML5Audio","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Device HTML5Audio Support

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EnBrPpg8SruM3bGnKEcak","name":"hasPointerLockSupport","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Browser pointerlock api support

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fwWaNKI0LMelxqGAPOCW5","name":"hasVideo","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Device Video Support

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bt4DEEe3TTRhavBRXzCzt","name":"hasWebAudio","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                Device WebAudio Support

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xx9fmu7fY18n6_zw6q4jB","name":"isMobile","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                equals to true if a mobile device.\n(Android | iPhone | iPad | iPod | BlackBerry | Windows Phone | Kindle)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZfuvByXAIbnFCVDRGj0nO","name":"language","brief":"","access":"public","readonly":true,"see":["http://www.w3schools.com/tags/ref_language_codes.asp"],"type":"PropertyDoc","description":"

                a string representing the preferred language of the user, usually the language of the browser UI.\n(will default to "e...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jJhZnY4zT9QFPSa-qzbD2","name":"localStorage","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Browser Local Storage capabilities
                \n(this flag will be set to false if cookies are blocked)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6xAWG2-kKwM-VpGc05Lnz","name":"maxTouchPoints","brief":"","access":"public","examples":[{"caption":"","code":"if (me.device.maxTouchPoints > 1) {\n // device supports multi-touch\n}"}],"readonly":true,"type":"PropertyDoc","description":"

                the maximum number of simultaneous touch contact points are supported by the current device.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hpzZy2A-YNblJ48cQRktI","name":"nativeBase64","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Browser Base64 decoding capability

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DSTN15Et-kAEb_L86vbs_","name":"offscreenCanvas","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                equals to true if the device browser supports OffScreenCanvas.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nZaQs5JLKyje-NRaSXxqN","name":"pauseOnBlur","brief":"","access":"public","defaultValue":"true","deprecated":"since 15.4.0","see":["Application.pauseOnBlur"],"type":"PropertyDoc","description":"

                Specify whether to pause the game when losing focus

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tlUEnoYZNxr_10pgya2Sx","name":"platform","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                the device platform type

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SL45KsOfy70ZWh_9BgCd_","name":"pointerEvent","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                True if the browser supports Pointer Events

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"poIWwcewTTYsJ8TIrJi8i","name":"resumeOnFocus","brief":"","access":"public","defaultValue":"true","deprecated":"since 15.4.0","see":["Application.resumeOnFocus"],"type":"PropertyDoc","description":"

                Specify whether to unpause the game when gaining focus

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D6FJeOKbXEaNvWhJ__5_M","name":"screenOrientation","brief":"","access":"public","readonly":true,"see":["https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/onchange"],"type":"PropertyDoc","description":"

                Supports the ScreenOrientation API

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rCdOggWSVYuUP-px620jn","name":"sound","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Returns true if the browser/device has audio capabilities.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ofR_QllE2wuOKg7auHa3k","name":"stopOnBlur","brief":"","access":"public","defaultValue":"false","deprecated":"since 15.4.0","see":["Application.stopOnBlur"],"type":"PropertyDoc","description":"

                Specify whether to stop the game when losing focus or not.\nThe engine restarts on focus if this is enabled.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oOq6tjPoMhL1ENX00q2nf","name":"touch","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                Touch capabilities (support either Touch or Pointer events)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FVzseZt0yPtVw19OjKkLh","name":"touchEvent","brief":"","access":"public","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                True if the browser supports Touch Events

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4lACcLsQVHHXASovd-uJw","name":"wheel","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                W3C standard wheel events

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WC5u4EoVAIkMS8Gw3zc_u","name":"enableSwipe","brief":"","access":"public","type":"FunctionDoc","description":"

                enable/disable swipe on WebView.

                ","params":[{"identifier":"enable","optional":true,"default":"true","description":"

                enable or disable swipe.

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"1Ukk-Ee9YzLAStZG7bPqe","name":"exitFullscreen","brief":"","access":"public","type":"FunctionDoc","description":"

                Exit fullscreen mode. Requires fullscreen support from the browser/device.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YCkdfSQZEU2_XNQYZPGH6","name":"focus","brief":"","access":"public","examples":[{"caption":"","code":"if (clicked) {\n me.device.focus();\n}"}],"type":"FunctionDoc","description":"

                Makes a request to bring this device window to the front.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eNd8NlIktsZXJf4uY5GKj","name":"getElement","brief":"","access":"public","type":"FunctionDoc","description":"

                return the DOM element for the given element name or HTMLElement object

                ","params":[{"identifier":"element","optional":false,"description":"

                the parent element name or a HTMLElement object

                ","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

                the corresponding DOM Element or null if not existing

                ","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jaaS5l2BVsvNyrtSSYIgu","name":"getElementBounds","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/DOMRect"],"type":"FunctionDoc","description":"

                returns the size of the given HTMLElement and its position relative to the viewport\n
                an HTMLElement object

                ","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

                the size and position of the element relatively to the viewport

                ","dataType":{"tokens":[{"value":"DOMRect","kind":"canonical"},{"value":"DOMRect","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"e_87CEtteHnUBHdcgrrmL","name":"getParentBounds","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/DOMRect"],"type":"FunctionDoc","description":"

                returns the size of the given HTMLElement Parent and its position relative to the viewport\n
                an HTMLElement object

                ","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

                the size and position of the given element parent relative to the viewport

                ","dataType":{"tokens":[{"value":"DOMRect","kind":"canonical"},{"value":"DOMRect","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b032a0IZqOYC2ajU2nExQ","name":"getParentElement","brief":"","access":"public","type":"FunctionDoc","description":"

                return the parent DOM element for the given parent name or HTMLElement object

                ","params":[{"identifier":"element","optional":false,"description":"

                the parent element name or a HTMLElement object

                ","dataType":{"tokens":[{"value":"string | HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

                the parent Element

                ","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9XiM7jQqD1D1WKlz_D3kl","name":"getScreenOrientation","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation"],"type":"FunctionDoc","description":"

                Return a string representing the orientation of the device screen.\nIt can be "any", "natural", "l...","params":[],"returns":[{"description":"

                the screen orientation

                ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"1WHGZy1o9qlJyjwymXuXp","name":"getStorage","brief":"","access":"public","see":["save"],"type":"FunctionDoc","description":"

                return the device storage

                ","params":[{"identifier":"type","optional":true,"default":"\"local\"","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                a reference to the device storage

                ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"-vHLvuWo5mPzLNQNJq3r7","name":"isFullscreen","brief":"","access":"public","type":"FunctionDoc","description":"

                Returns true if the browser/device is in full screen mode.

                ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"4CVC0sScDupyAt4lawsyB","name":"isLandscape","brief":"","access":"public","type":"FunctionDoc","description":"

                return true if the device screen orientation is in Portrait mode

                ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"AY5LmE13rc5TgSzbfqx-l","name":"isPortrait","brief":"","access":"public","type":"FunctionDoc","description":"

                return true if the device screen orientation is in Portrait mode

                ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"W4t7V4o65G8InWGDvwVDy","name":"isWebGLSupported","brief":"","access":"public","type":"FunctionDoc","description":"

                returns true if the device supports WebGL

                ","params":[{"identifier":"options","optional":true,"description":"

                context creation options

                ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.failIfMajorPerformanceCaveat","optional":true,"default":"true","description":"

                If true, the renderer will switch to CANVAS mode if the performances of a WebGL context would be dramatically lower than t...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                true if WebGL is supported

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"EYVEtubERw4Zo9h7wide_","name":"lockOrientation","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation"],"type":"FunctionDoc","description":"

                locks the device screen into the specified orientation.
                \nThis method only works for installed Web apps or for Web pages...","params":[{"identifier":"orientation","optional":false,"description":"

                The orientation into which to lock the screen.

                ","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}}],"returns":[{"description":"

                true if the orientation was unsuccessfully locked

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"d9x22tBnVRCXOptduA8uM","name":"onReady","brief":"","access":"public","examples":[{"caption":"","code":" // small game skeleton\n let game = {\n // called by the me.device.onReady function\n onload = function () {\n // init video\n if (!me.video.init('screen', 640, 480, true)) {\n alert(\"Sorry but your browser does not support html 5 canvas.\");\n return;\n }\n\n // initialize the \"audio\"\n me.audio.init(\"mp3,ogg\");\n\n // set callback for ressources loaded event\n me.loader.onload = this.loaded.bind(this);\n\n // set all ressources to be loaded\n me.loader.preload(game.assets);\n\n // load everything & display a loading screen\n me.state.change(me.state.LOADING);\n };\n\n // callback when everything is loaded\n loaded = function () {\n // define stuff\n // ....\n\n // change to the menu screen\n me.state.change(me.state.PLAY);\n }\n }; // game\n\n // \"bootstrap\"\n me.device.onReady(function () {\n game.onload();\n });"}],"type":"FunctionDoc","description":"

                specify a function to execute when the Device is fully loaded and ready

                ","params":[{"identifier":"fn","optional":false,"description":"

                the function to be executed

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"FSIeUKdYPYe8kGR5_YEn0","name":"requestFullscreen","brief":"","access":"public","examples":[{"caption":"","code":"// add a keyboard shortcut to toggle Fullscreen mode on/off\nme.input.bindKey(me.input.KEY.F, \"toggleFullscreen\");\nme.event.on(me.event.KEYDOWN, function (action, keyCode, edge) {\n // toggle fullscreen on/off\n if (action === \"toggleFullscreen\") {\n me.device.requestFullscreen();\n } else {\n me.device.exitFullscreen();\n }\n});"}],"type":"FunctionDoc","description":"

                Triggers a fullscreen request. Requires fullscreen support from the browser/device.

                ","params":[{"identifier":"element","optional":true,"description":"

                the element to be set in full-screen mode.

                ","dataType":{"tokens":[{"value":"Element","kind":"canonical"},{"value":"Element","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"PCLQey1StV_AfLtY51bXr","name":"unlockOrientation","brief":"","access":"public","see":["https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation"],"type":"FunctionDoc","description":"

                unlocks the device screen into the specified orientation.
                \nThis method only works for installed Web apps or for Web pag...","params":[],"returns":[{"description":"

                true if the orientation was unsuccessfully unlocked

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"GyrflHGdRG8YTuCtS_QAF","name":"unwatchAccelerometer","brief":"","access":"public","type":"FunctionDoc","description":"

                unwatch Accelerometor event

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5ue3NZ8l-Du8LlYLGwj-y","name":"unwatchDeviceOrientation","brief":"","access":"public","type":"FunctionDoc","description":"

                unwatch Device orientation event

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7kWMYro_6FZ7pHn4QZ07D","name":"vibrate","brief":"","access":"public","examples":[{"caption":"","code":"// vibrate for 1000 ms\nme.device.vibrate(1000);\n// or alternatively\nme.device.vibrate([1000]);\n// vibrate for 50 ms, be still for 100 ms, and then vibrate for 150 ms:\nme.device.vibrate([50, 100, 150]);\n// cancel any existing vibrations\nme.device.vibrate(0);"}],"type":"FunctionDoc","description":"

                the vibrate method pulses the vibration hardware on the device,
                \nIf the device doesn't support vibration, this method ...","params":[{"identifier":"pattern","optional":false,"description":"

                pattern of vibration and pause intervals

                ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | %3<%2>"}}],"returns":[],"extends":[],"implements":[]},{"id":"hUt6h6NxH9OJrZv25JqPT","name":"watchAccelerometer","brief":"","access":"public","examples":[{"caption":"","code":"// try to enable device accelerometer event on user gesture\nme.input.registerPointerEvent(\"pointerleave\", me.game.viewport, function() {\n if (me.device.watchAccelerometer() === true) {\n // Success\n me.input.releasePointerEvent(\"pointerleave\", me.game.viewport);\n } else {\n // ... fail at enabling the device accelerometer event\n }\n});"}],"see":["device.accelerationX","device.accelerationY","device.accelerationZ"],"type":"FunctionDoc","description":"

                Enable monitor of the device accelerator to detect the amount of physical force of acceleration the device is receiving.\n(...","params":[],"returns":[{"description":"

                false if not supported or permission not granted by the user

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"upCBH7XyeiTkPISx-11o-","name":"watchDeviceOrientation","brief":"","access":"public","examples":[{"caption":"","code":"// try to enable device orientation event on user gesture\nme.input.registerPointerEvent(\"pointerleave\", me.game.viewport, function() {\n if (me.device.watchDeviceOrientation() === true) {\n // Success\n me.input.releasePointerEvent(\"pointerleave\", me.game.viewport);\n } else {\n // ... fail at enabling the device orientation event\n }\n});"}],"see":["device.alpha","device.beta","device.gamma"],"type":"FunctionDoc","description":"

                Enable monitor of the device orientation to detect the current orientation of the device as compared to the Earth coordina...","params":[],"returns":[{"description":"

                false if not supported or permission not granted by the user

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"Qqz8vJcIMHzazQqwbCT-k","name":"event","brief":"","type":"NSDoc","description":"

                an event system based on nodeJS EventEmitter interface

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"oICCM70hPea-MT20YqORm","name":"BLUR","brief":"","access":"public","defaultValue":"\"me.blur\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event generated when the main browser or window is losing focus

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tgto3YhgZDU4PaJb-HmNe","name":"BOOT","brief":"","access":"public","defaultValue":"\"me.boot\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event when the system is booting

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ko8ocjfx5INRDYNSwYXrs","name":"CANVAS_ONRESIZE","brief":"","access":"public","defaultValue":"\"canvas.onresize\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the canvas is resized
                \n(this usually follows a WINDOW_ONRESIZE event).
                \nData passed : {number} canva...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sAtpBjqfvlcy18A9LmTOQ","name":"DOM_READY","brief":"","access":"public","defaultValue":"\"dom_ready\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event when the DOM is Ready is booting

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g6RlE_3h2Ib9P_44fOKam","name":"DRAGEND","brief":"","access":"public","defaultValue":"\"me.game.dragend\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for dragend events on a Draggable entity
                \nData passed:\n{object} the drag event
                \n{object} the Draggable entit...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lndGxiSKdPZnedMMwnJRf","name":"DRAGSTART","brief":"","access":"public","defaultValue":"\"me.game.dragstart\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for dragstart events on a Draggable entity
                \nData passed:\n{object} the drag event
                \n{object} the Draggable ent...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VfSqHMzQzLaHhnKo2TjbF","name":"FOCUS","brief":"","access":"public","defaultValue":"\"me.focus\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event generated when the main browser or window is gaining back focus

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wcS5i_dR0NCdIJzXhGg0l","name":"GAME_AFTER_DRAW","brief":"","access":"public","defaultValue":"\"me.game.afterDraw\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for the start of the draw loop\nData passed : {number} time the current time stamp

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9yhKA86TX9RfhzBoCYwzP","name":"GAME_AFTER_UPDATE","brief":"","access":"public","defaultValue":"\"me.game.afterUpdate\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for the end of the update loop\nData passed : {number} time the current time stamp

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4pPoL1kwVWxVQjiejxGfv","name":"GAME_BEFORE_DRAW","brief":"","access":"public","defaultValue":"\"me.game.beforeDraw\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for the end of the draw loop\nData passed : {number} time the current time stamp

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O7jsWKOUh1coHLm4JMiVK","name":"GAME_BEFORE_UPDATE","brief":"","access":"public","defaultValue":"\"me.game.beforeUpdate\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for when the engine is about to start a new game loop\nData passed : {number} time the current time stamp

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y9GoMNKMm-YKxU3DBO88L","name":"GAME_INIT","brief":"","access":"public","defaultValue":"\"me.game.onInit\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for when the game manager is initialized
                \nData passed : none

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A1DbtCbkflJyXA4WGbKX-","name":"GAME_RESET","brief":"","access":"public","defaultValue":"\"me.game.onReset\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for when the game manager is resetted
                \nData passed : none

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6-NDWPkPTGz--9_uNJEso","name":"GAME_UPDATE","brief":"","access":"public","defaultValue":"\"me.game.onUpdate\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the game is updated (will be impacted by frame skip, frame interpolation and pause/resume state)
                \nData ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dPSM_lvhqR-F8UDHAWgpF","name":"GAMEPAD_CONNECTED","brief":"","access":"public","defaultValue":"\"gamepad.connected\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when a gamepad is connected
                \nData passed : {object} gamepad object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o4xnHEL3_WLDJ7sfvEt0-","name":"GAMEPAD_DISCONNECTED","brief":"","access":"public","defaultValue":"\"gamepad.disconnected\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when a gamepad is disconnected
                \nData passed : {object} gamepad object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CEniZ2r16P6xwmBqKAABl","name":"GAMEPAD_UPDATE","brief":"","access":"public","defaultValue":"\"gamepad.update\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when gamepad button/axis state is updated
                \nData passed : {number} index
                \nData passed : {string} type : &...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QnTbA0uTlpVsW6IaKrVoV","name":"KEYDOWN","brief":"","access":"public","defaultValue":"\"me.input.keydown\"","examples":[{"caption":"","code":" me.input.bindKey(me.input.KEY.X, \"jump\", true); // Edge-triggered\n me.input.bindKey(me.input.KEY.Z, \"shoot\"); // Level-triggered\n me.event.on(me.event.KEYDOWN, (action, keyCode, edge) => {\n // Checking bound keys\n if (action === \"jump\") {\n if (edge) {\n this.doJump();\n }\n\n // Make character fall slower when holding the jump key\n this.vel.y = this.body.gravity;\n }\n });"}],"readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for pressing a binded key
                \nData passed : {string} user-defined action, {number} keyCode,\n{boolean} edge state {\n // Checking unbound keys\n if (keyCode == me.input.KEY.ESC) {\n if (me.state.isPaused()) {\n me.state.resume();\n }\n else {\n me.state.pause();\n }\n }\n});"}],"readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for releasing a binded key
                \nData passed : {string} user-defined action, {number} keyCode

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5SGXyl1Fp9M5ZEHvlkxMo","name":"LEVEL_LOADED","brief":"","access":"public","defaultValue":"\"me.game.onLevelLoaded\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when a level is loaded
                \nData passed : {string} Level Name

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R8FWn91TKqNn6lybwkN_l","name":"LOADER_COMPLETE","brief":"","access":"public","defaultValue":"\"me.loader.onload\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when everything has loaded
                \nData passed : none

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e9G1Jp0aPwp_Q60dCP_B_","name":"LOADER_ERROR","brief":"","access":"public","defaultValue":"\"me.loader.onError\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when an error occur during preloading
                \nData passed : {Resource} resource object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OJxw6I9wnoa2wWlThNlHj","name":"LOADER_PROGRESS","brief":"","access":"public","defaultValue":"\"me.loader.onProgress\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for displaying a load progress indicator
                \nData passed : {number} [0 .. 1], {Resource} resource object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5zJ6COPJq3t_5hcQvfPwL","name":"ONCONTEXT_RESTORED","brief":"","access":"public","defaultValue":"\"renderer.contextrestored\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the current context is restored
                \nData passed : {me.Renderer} the current renderer instance`

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P3yHyi1w9-mUN64os2IS8","name":"POINTERLOCKCHANGE","brief":"","access":"public","defaultValue":"\"me.event.pointerlockChange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for onPointerLockChange event
                \nData passed : {boolean} pointer lock status (true/false)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9w8ZFyRY9qA0wXKNwax05","name":"POINTERMOVE","brief":"","access":"public","defaultValue":"\"me.event.pointermove\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for pointermove events on the screen area
                \nData passed : {me.Pointer} a Pointer object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"huUyOp3QfRrZQon4d6Z3x","name":"STAGE_RESET","brief":"","access":"public","defaultValue":"\"me.stage.onReset\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for when a stage is resetted

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j1ehhkCfvlMAh6n6PwD1k","name":"STATE_CHANGE","brief":"","access":"public","defaultValue":"\"me.state.onChange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for when the changing to a different stage

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"POhglDT9Zcz0kOXGBmMmI","name":"STATE_PAUSE","brief":"","access":"public","defaultValue":"\"me.state.onPause\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event when the game is paused
                \nData passed : none

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gq8Xe_hKh12XouDresKy7","name":"STATE_RESTART","brief":"","access":"public","defaultValue":"\"me.state.onRestart\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for when the game is restarted
                \nData passed : {number} time in ms the game was stopped

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D7Gg8xza42byEJAi2ScHf","name":"STATE_RESUME","brief":"","access":"public","defaultValue":"\"me.state.onResume\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event for when the game is resumed
                \nData passed : {number} time in ms the game was paused

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o7mqU_Ov12dtGeupQKUE0","name":"STATE_STOP","brief":"","access":"public","defaultValue":"\"me.state.onStop\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event when the game is stopped
                \nData passed : none

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QJFRf7k5OS9UGxkmnNA_f","name":"TICK","brief":"","access":"public","defaultValue":"\"me.tick\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                event generated when the system update the engine and the renderer by one step

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dvULecKct18zBVx9cqUl_","name":"VIDEO_INIT","brief":"","access":"public","defaultValue":"\"me.video.onInit\"","readonly":true,"see":["video.init","event.on"],"type":"PropertyDoc","description":"

                event for when the video is initialized
                \nData passed : {Renderer} the renderer instance created

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mVyDhx3vnxOGidcBZjXqH","name":"VIEWPORT_ONCHANGE","brief":"","access":"public","defaultValue":"\"viewport.onchange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the viewport position is updated
                \nData passed : {me.Vector2d} viewport position vector

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_Jd7aBaeFjHUxNOYOC7gN","name":"VIEWPORT_ONRESIZE","brief":"","access":"public","defaultValue":"\"viewport.onresize\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the viewport is resized
                \n(this usually follows a WINDOW_ONRESIZE event, when using the flexEvent for when the current context is lost
                \nData passed : {me.Renderer} the current renderer instance

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"whzufGvPNt9877K3wlmYc","name":"WINDOW_ONORIENTATION_CHANGE","brief":"","access":"public","defaultValue":"\"globalThis.orientationchange\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the device is rotated
                \nData passed : {Event} Event object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MOWsiS872J80XIDzD0tT0","name":"WINDOW_ONRESIZE","brief":"","access":"public","defaultValue":"\"globalThis.onresize\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the (browser) window is resized
                \nData passed : {Event} Event object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O7YEfx3Wp_xcVbL-xLN0G","name":"WINDOW_ONSCROLL","brief":"","access":"public","defaultValue":"\"globalThis.onscroll\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the (browser) window is scrolled
                \nData passed : {Event} Event object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4IFj65LT5A72n1ItWsVNN","name":"WORLD_STEP","brief":"","access":"public","defaultValue":"\"me.world.step\"","readonly":true,"see":["event.on"],"type":"PropertyDoc","description":"

                Event for when the physic world is updated\nData passed : {number} time the current time stamp

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2yatxn6AhgZMDHSbvauQK","name":"emit","brief":"","examples":[{"caption":"","code":"me.event.emit(\"event-name\", a, b, c);"}],"scope":"static","type":"FunctionDoc","description":"

                calls each of the listeners registered for a given event.

                ","params":[{"identifier":"eventName","optional":false,"description":"

                The event name.

                ","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

                arguments to be passed to all listeners

                ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                true if the event had listeners, false otherwise.

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PCIp8-4PEzNFwsOCylD-n","name":"off","brief":"","access":"public","examples":[{"caption":"","code":"me.event.off(\"event-name\", myFunction);"}],"scope":"static","type":"FunctionDoc","description":"

                remove the given listener for a given event.

                ","params":[{"identifier":"eventName","optional":false,"description":"

                The event name.

                ","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"listener","optional":false,"description":"

                The listener function.

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                this.

                ","dataType":{"tokens":[{"value":"EventEmitter","kind":"canonical"},{"value":"EventEmitter","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pq07xXqUVH3hoMA8JJCaJ","name":"on","brief":"","access":"public","examples":[{"caption":"","code":"me.event.on(\"event-name\", myFunction, this);"}],"scope":"static","type":"FunctionDoc","description":"

                Add a listener for a given event.

                ","params":[{"identifier":"eventName","optional":false,"description":"

                The event name.

                ","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"listener","optional":false,"description":"

                The listener function.

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"context","optional":true,"default":"this","description":"

                The context to invoke the listener with.

                ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

                this.

                ","dataType":{"tokens":[{"value":"EventEmitter","kind":"canonical"},{"value":"EventEmitter","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P-bQ3XZ92ffhx4x8zeIj3","name":"once","brief":"","access":"public","examples":[{"caption":"","code":"me.event.once(\"event-name\", myFunction, this);"}],"scope":"static","type":"FunctionDoc","description":"

                Add a one-time listener for a given event.

                ","params":[{"identifier":"eventName","optional":false,"description":"

                The event name.

                ","dataType":{"tokens":[{"value":"string | symbol","kind":"canonical"},{"value":"symbol","kind":"canonical"}],"template":"string | %1"}},{"identifier":"listener","optional":false,"description":"

                The listener function.

                ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"context","optional":true,"default":"this","description":"

                The context to invoke the listener with.

                ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

                this.

                ","dataType":{"tokens":[{"value":"EventEmitter","kind":"canonical"},{"value":"EventEmitter","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"VAoZseCOB5Z3vL3eYmPDq","name":"game","brief":"","readonly":true,"see":["Application"],"type":"NSDoc","description":"

                game is a default instance of a melonJS Application and represents your current game,\nit contains all the objects, tilemap...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B6It2pe7HyOJ1Ka8GpofW","name":"input","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"QwtdUmapCUF_s0FOjpGyH","name":"GAMEPAD","brief":"","access":"public","type":"NSDoc","description":"

                Namespace for standard gamepad mapping constants

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"x45j6Ahs3CpX_r5rvdd3A","name":"AXES","brief":"","access":"public","scope":"static","see":["https://w3c.github.io/gamepad/#remapping"],"type":"EnumDoc","description":"

                Standard gamepad mapping information for axes

                \n
                  \n
                • Left control stick: LX (horizontal), Standard gamepad mapping information for buttons

                  \n
                    \n
                  • Face buttons: FACE_1, FACE_2standard keyboard constants

                    ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"jPKbvlQhydbrLVTC2idPH","name":"A","brief":"","defaultValue":"65","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BgS85bxCKnlwOGjeps_8f","name":"ADD","brief":"","defaultValue":"107","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NTCbvk7Uao1HOL2E7LvUi","name":"ALT","brief":"","defaultValue":"18","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rGDImx0882VSRR_aJ2xtl","name":"B","brief":"","defaultValue":"66","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"umbFSxOEHzdgBie1WbQr9","name":"BACK_SLASH","brief":"","defaultValue":"220","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F3_rz1QouiHdqVxYBmt1z","name":"C","brief":"","defaultValue":"67","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"quCUirlBpgWlIPM_2IEz-","name":"CAPS_LOCK","brief":"","defaultValue":"20","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-2K1uw-vyOR6ELQ9qJ-yH","name":"CLOSE_BRACKET","brief":"","defaultValue":"221","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4Hur0tc0ikEr-NK0uWlCo","name":"COMMA","brief":"","defaultValue":"188","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hfQnTd7Azp1i27E6NYnOY","name":"CTRL","brief":"","defaultValue":"17","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-x08Vp7QgTLk6Y2JoybUe","name":"D","brief":"","defaultValue":"68","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8IGoDJuhmQtXjFhOwLgNx","name":"DECIMAL","brief":"","defaultValue":"110","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wW-QJof0fU44v8UlDDpU9","name":"DELETE","brief":"","defaultValue":"46","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AxwlETVfZ-qxJ_nJTAsam","name":"DIVIDE","brief":"","defaultValue":"111","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e3AcuLmyV1QKAQn7nkHSg","name":"DOWN","brief":"","defaultValue":"40","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8GlZtvqWSM4rR9vY075ib","name":"E","brief":"","defaultValue":"69","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dZUuMe10HoSkuz-Y6koOG","name":"END","brief":"","defaultValue":"35","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SNA2xnHJI-XPKt6gywmob","name":"ENTER","brief":"","defaultValue":"13","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RPJ76r6vop_e5Lnrk7mhj","name":"ESC","brief":"","defaultValue":"27","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YPwqQ2pK5sKE08GTpenjW","name":"F","brief":"","defaultValue":"70","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"whK2dH0my-J1ecjQ5o-3_","name":"F1","brief":"","defaultValue":"112","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yAvtjovwsnEDey97VXcam","name":"F10","brief":"","defaultValue":"121","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZB4sZfd9aa7yZz_a4-cux","name":"F11","brief":"","defaultValue":"122","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zYoYGZXCJRZ1gkiEO8qQH","name":"F12","brief":"","defaultValue":"123","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fj2_OzeWStDQc1fZVTfsk","name":"F2","brief":"","defaultValue":"113","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"35uOx7lqt0LyijxdiSYuW","name":"F3","brief":"","defaultValue":"114","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QhGE9uYhvtdFYIImkjNvx","name":"F4","brief":"","defaultValue":"115","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9bLWuQqNGSVlIUZNQDPk2","name":"F5","brief":"","defaultValue":"116","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qJs4EE8t47z6eR2fQEM3i","name":"F6","brief":"","defaultValue":"117","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FPiKjUOPLe75aQv_OAC8z","name":"F7","brief":"","defaultValue":"118","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sZ3PJknfQPXPN8O6-2XA9","name":"F8","brief":"","defaultValue":"119","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nHnESwheARahWqrAJuo1O","name":"F9","brief":"","defaultValue":"120","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bFfyV9gv_DyepMccnT0f5","name":"FORWAND_SLASH","brief":"","defaultValue":"191","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oq8-PNTCwYdzR_M2dVjcU","name":"G","brief":"","defaultValue":"71","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_GWCEQDCzf1ANAcZ4CZZQ","name":"GRAVE_ACCENT","brief":"","defaultValue":"192","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DJaSBo22pPyzq47zOeVpJ","name":"H","brief":"","defaultValue":"72","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FVMmpiViws6sfFTofvQVq","name":"HOME","brief":"","defaultValue":"36","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MmBsilzSqHMp9fnRz13hW","name":"I","brief":"","defaultValue":"73","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"983BXqi7lNoQyyPYdrJbZ","name":"INSERT","brief":"","defaultValue":"45","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r_AIR-nfg-X1ehCjEhqtJ","name":"J","brief":"","defaultValue":"74","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EcsXloPCCq8W4DgmYEptG","name":"K","brief":"","defaultValue":"75","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nIPiilzPLDrOysSwuhJf6","name":"L","brief":"","defaultValue":"76","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WnRB9xi5DqurtzZjB211d","name":"LEFT","brief":"","defaultValue":"37","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bA9u2I3g280y70_m47TME","name":"M","brief":"","defaultValue":"77","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nEOKb9TLwWpVkq_fzHATT","name":"MINUS","brief":"","defaultValue":"189","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9BXG4HKOXlVG9FPHR5ZuK","name":"MULTIPLY","brief":"","defaultValue":"106","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R_1V-BVqAjzN7TJqSaKkp","name":"N","brief":"","defaultValue":"78","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wsk-hJjFUs7OaOA6yQtca","name":"NUM_LOCK","brief":"","defaultValue":"144","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MLlMFklaH42sWSljGsm3L","name":"NUM0","brief":"","defaultValue":"48","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZYcB0bfr30mjfMF_CgHfR","name":"NUM1","brief":"","defaultValue":"49","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"smrf2MFkSllkwyTO4kHRG","name":"NUM2","brief":"","defaultValue":"50","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YZWqgx6GoYteS_HsjW1FC","name":"NUM3","brief":"","defaultValue":"51","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zFIHvWdfVAP2uIeBYPdPY","name":"NUM4","brief":"","defaultValue":"52","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ueTYHBYyVaxjEXrTVNxbN","name":"NUM5","brief":"","defaultValue":"53","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gb2YK83YFtFLL5UxB9WDV","name":"NUM6","brief":"","defaultValue":"54","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bCJUorIwlvx0zNDdR1pZ4","name":"NUM7","brief":"","defaultValue":"55","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SRuwKRI9veYjy4RCunrKO","name":"NUM8","brief":"","defaultValue":"56","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qxvyB-znD6BHmGTOeyyPs","name":"NUM9","brief":"","defaultValue":"57","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iuijhYfQkh_rCoUIqBgQw","name":"NUMPAD0","brief":"","defaultValue":"96","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jcl6sLpqPB5WK8nZbCfMu","name":"NUMPAD1","brief":"","defaultValue":"97","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eJXq3nKhRCDNukRMIuNTK","name":"NUMPAD2","brief":"","defaultValue":"98","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dW2BrL6A8yqPTGB6f-rNv","name":"NUMPAD3","brief":"","defaultValue":"99","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IVmCy2vWX1aLp1IRCwIhp","name":"NUMPAD4","brief":"","defaultValue":"100","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yURQ4CI_hxyOtBTUAhh-w","name":"NUMPAD5","brief":"","defaultValue":"101","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r45l9FehaIQUC7DCTTsPH","name":"NUMPAD6","brief":"","defaultValue":"102","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aSNN8Rpy4E5msEZLFFcxm","name":"NUMPAD7","brief":"","defaultValue":"103","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6Wuf1K1F-fZCbmIrsZ387","name":"NUMPAD8","brief":"","defaultValue":"104","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"plDxTvDWYRNcfRQSrJSjL","name":"NUMPAD9","brief":"","defaultValue":"105","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jjxTmM8GXwxyIBGX4Rfi8","name":"O","brief":"","defaultValue":"79","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4A_oJ8ItnpeWt-kbl_0aL","name":"OPEN_BRACKET","brief":"","defaultValue":"219","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P4iOLiD0r3FBfoH-UNv4T","name":"P","brief":"","defaultValue":"80","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zwq2BZGd7fllDafcVLUmh","name":"PAGE_DOWN","brief":"","defaultValue":"34","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DPfFzY_sbnqiKiw78NFYG","name":"PAGE_UP","brief":"","defaultValue":"33","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fzJM1elTjZiKTzX1rdC0q","name":"PAUSE","brief":"","defaultValue":"19","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mKvqiGjcBpXaoBbGHnfag","name":"PERIOD","brief":"","defaultValue":"190","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FKjS5t6tEkLUDEognAbC8","name":"PLUS","brief":"","defaultValue":"187","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5IqbM-6aZPTu4Ro6KOMkc","name":"PRINT_SCREEN","brief":"","defaultValue":"42","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fbpdl-SOp9dM9JOq1_wjW","name":"Q","brief":"","defaultValue":"81","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XyL3Mhftjog294XBWMdBn","name":"R","brief":"","defaultValue":"82","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Eh1AXWmGXXjbwAK8whB-M","name":"RIGHT","brief":"","defaultValue":"39","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DGWr21IJhENqHQMslj9Qt","name":"S","brief":"","defaultValue":"83","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C2jgQY_WwdHAOgWkGslc-","name":"SCROLL_LOCK","brief":"","defaultValue":"145","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jqEmoxsP5YZ8FjnJCXAVP","name":"SEMICOLON","brief":"","defaultValue":"186","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GDt5JNpaEdPjdMtsLB9zW","name":"SHIFT","brief":"","defaultValue":"16","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cQUHqBh6NmBTwsDcAsUNb","name":"SINGLE_QUOTE","brief":"","defaultValue":"222","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LsMq-kXO3bOqZFP7FXIG_","name":"SPACE","brief":"","defaultValue":"32","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RB0vWzvOcz3QiV1SYjanI","name":"SUBSTRACT","brief":"","defaultValue":"109","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-nQPsevNb7Rl-HeICt3SM","name":"T","brief":"","defaultValue":"84","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xFojIKIIog92_f2msDYGD","name":"TAB","brief":"","defaultValue":"9","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TnPGYJfsKV01RC8ypGujj","name":"TILDE","brief":"","defaultValue":"126","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TezgycoiMrCA3fCJbN5_3","name":"U","brief":"","defaultValue":"85","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NZh7Kculf2ECDxZas2O-Y","name":"UP","brief":"","defaultValue":"38","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vVvY-q2WBKp96dFYpefgs","name":"V","brief":"","defaultValue":"86","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QLMbhIHkTKW9vEPgObe2R","name":"W","brief":"","defaultValue":"87","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AQWi-oXZYF4aknuTov5Dp","name":"WINDOW_KEY","brief":"","defaultValue":"91","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QchLnYIJQeEcCVnxFnkKw","name":"X","brief":"","defaultValue":"88","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GDCPEsBmXAbQMWeB-SNWa","name":"Y","brief":"","defaultValue":"89","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XDIF1BN5OVMMPsHESoWrP","name":"Z","brief":"","defaultValue":"90","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"xhMbGxLep_wmJx-BozrdF","name":"keyBoardEventTarget","brief":"","access":"public","defaultValue":"undefined","type":"PropertyDoc","description":"

                    the default target element for keyboard events (usually the window element in which the game is running)

                    ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hGLJHPVH6sO3bMS93Q3A4","name":"locked","brief":"","access":"public","defaultValue":"false","type":"PropertyDoc","description":"

                    indicates if the pointer is currently locked

                    ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bxGYhr0IjKKNiVuqzVkTj","name":"pointer","brief":"","access":"public","type":"PropertyDoc","description":"

                    Pointer information (current position and size)

                    ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tYHHewh_idZAeBHR2YrIn","name":"pointerEventTarget","brief":"","access":"public","defaultValue":"undefined","type":"PropertyDoc","description":"

                    the default target element for pointer events (usually the canvas element in which the game is rendered)

                    ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dncmkYGJbSV7wrIOje8xc","name":"preventDefault","brief":"","access":"public","defaultValue":"true","type":"PropertyDoc","description":"

                    specify if melonJS should prevent all default browser action on registered events.

                    ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KJ0iQan0PFOcGWdZcaB1d","name":"setGamepadMapping","brief":"","access":"public","examples":[{"caption":"","code":" // A weird controller that has its axis mappings reversed\n me.input.setGamepadMapping(\"Generic USB Controller\", {\n \"axes\" : [ 3, 2, 1, 0 ],\n \"buttons\" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ]\n });\n\n // Mapping extra axes to analog buttons\n me.input.setGamepadMapping(\"Generic Analog Controller\", {\n \"axes\" : [ 0, 1, 2, 3 ],\n \"buttons\" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ],\n\n // Raw axis 4 is mapped to GAMEPAD.BUTTONS.FACE_1\n // Raw axis 5 is mapped to GAMEPAD.BUTTONS.FACE_2\n // etc...\n // Also maps left and right triggers\n \"analog\" : [ 4, 5, 6, 7, -1, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1 ],\n\n // Normalize the value of button L2: [-1.0..1.0] => [0.0..1.0]\n \"normalize_fn\" : function (value, axis, button) {\n return ((button === me.input.GAMEPAD.BUTTONS.L2) ? ((value + 1) / 2) : value) || 0;\n }\n });"}],"type":"PropertyDoc","description":"

                    specify a custom mapping for a specific gamepad id
                    \nsee below for the default mapping :

                    \n
                    Gamepad id string

                    ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"mapping","description":"

                    A hash table

                    ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"mapping.axes","description":"

                    Standard analog control stick axis locations

                    ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}},{"identifier":"mapping.buttons","description":"

                    Standard digital button locations

                    ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}},{"identifier":"mapping.analog","optional":true,"description":"

                    Analog axis locations for buttons

                    ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}},{"identifier":"mapping.normalize_fn","optional":true,"description":"

                    a function that returns a normalized value in range [-1.0..1.0] for the given value, axis and button

                    ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"JA98B6XsfMthIAscCaXNb","name":"throttlingInterval","brief":"","access":"public","type":"PropertyDoc","description":"

                    time interval for event throttling in milliseconds
                    \ndefault value : "1000/me.timer.maxfps" ms
                    \nset to 0 ms...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Eo2YcASA-JmL3WoQzCueU","name":"bindGamepad","brief":"","access":"public","examples":[{"caption":"","code":"// enable the keyboard\nme.input.bindKey(me.input.KEY.X, \"shoot\");\n...\n// map the lower face button on the first gamepad to the X key\nme.input.bindGamepad(0, {type:\"buttons\", code: me.input.GAMEPAD.BUTTONS.FACE_1}, me.input.KEY.X);\n// map the left axis value on the first gamepad to the LEFT key\nme.input.bindGamepad(0, {type:\"axes\", code: me.input.GAMEPAD.AXES.LX, threshold: -0.5}, me.input.KEY.LEFT);"}],"type":"FunctionDoc","description":"

                    Associate a gamepad event to a keycode

                    ","params":[{"identifier":"index","optional":false,"description":"

                    Gamepad index

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"button","optional":false,"description":"

                    Button/Axis definition

                    ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"button.type","description":"

                    "buttons" or "axes"

                    ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"button.code","description":"

                    button or axis code id (See {@link input.GAMEPAD.BUTTONS}, {@link input.GAMEPAD.AXES})

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"button.threshold","optional":true,"default":"1","description":"

                    value indicating when the axis should trigger the keycode (e.g. -0.5 or 0.5)

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"keyCode","optional":false,"description":"

                    (See {@link input.KEY})

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2zYen0lpx-qZq3p6i71EO","name":"bindKey","brief":"","access":"public","examples":[{"caption":"","code":"// enable the keyboard\nme.input.bindKey(me.input.KEY.LEFT, \"left\");\nme.input.bindKey(me.input.KEY.RIGHT, \"right\");\nme.input.bindKey(me.input.KEY.X, \"jump\", true);\nme.input.bindKey(me.input.KEY.F1, \"options\", true, true);"}],"type":"FunctionDoc","description":"

                    associate a user defined action to a keycode

                    ","params":[{"identifier":"keycode","optional":false,"description":"

                    (See {@link input.KEY})

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"action","optional":false,"description":"

                    user defined corresponding action

                    ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"lock","optional":true,"default":"false","description":"

                    cancel the keypress event once read

                    ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"preventDefault","optional":true,"default":"input.preventDefault","description":"

                    prevent default browser action

                    ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"QNVvejopwDyOq5v7ysEC_","name":"bindPointer","brief":"","examples":[{"caption":"","code":"// enable the keyboard\nme.input.bindKey(me.input.KEY.X, \"shoot\");\n// map the left button click on the X key (default if the button is not specified)\nme.input.bindPointer(me.input.KEY.X);\n// map the right button click on the X key\nme.input.bindPointer(me.input.pointer.RIGHT, me.input.KEY.X);"}],"type":"FunctionDoc","description":"

                    Associate a pointer event to a keycode
                    \nLeft button – 0\nMiddle button – 1\nRight button – 2

                    ","params":[{"identifier":"button","optional":true,"default":"input.pointer.LEFT","description":"

                    (accordingly to W3C values : 0,1,2 for left, middle and right buttons)

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"keyCode","dataType":{"tokens":[{"value":"input.KEY","kind":"canonical"},{"value":"input.KEY","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Z7a97ojr-YwEp53_2fLln","name":"exitPointerLock","brief":"","type":"FunctionDoc","description":"

                    Initiates an exit from pointer lock state

                    ","params":[],"returns":[{"description":"

                    return true if the request was successfully submitted

                    ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"60Hc8GNn_LgEhBKbHCXIK","name":"getBindingKey","brief":"","access":"public","type":"FunctionDoc","description":"

                    return the action associated with the given keycode

                    ","params":[{"identifier":"keycode","optional":false,"description":"

                    (See {@link input.KEY})

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                    user defined associated action

                    ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"WbOFT-VTDh5WEuT7aW02N","name":"globalToLocal","brief":"","examples":[{"caption":"","code":"onMouseEvent : function (pointer) {\n // convert the given into local (viewport) relative coordinates\n let pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);\n // do something with pos !\n};"}],"type":"FunctionDoc","description":"

                    Translate the specified x and y values from the global (absolute)\ncoordinate to local (viewport) relative coordinate.

                    ","params":[{"identifier":"x","optional":false,"description":"

                    the global x coordinate to be translated.

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                    the global y coordinate to be translated.

                    ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                    an optional vector object where to set the translated coordinates

                    ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                    A vector object with the corresponding translated coordinates

                    ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"29GcrFHSIZOer8qMAq2iu","name":"hasActiveEvents","brief":"","type":"FunctionDoc","description":"

                    return true if there are pending pointer events in the queue

                    ","params":[],"returns":[{"description":"

                    true if there are pending events

                    "}],"extends":[],"implements":[]},{"id":"osRmt_e-FL4CxfVTrPZrR","name":"hasRegisteredEvents","brief":"","see":["registerPointerEvent"],"type":"FunctionDoc","description":"

                    return true if there are register pointer events

                    ","params":[],"returns":[{"description":"

                    true if there are pending events

                    "}],"extends":[],"implements":[]},{"id":"bFivuFZAJZNZsruksdUt8","name":"isKeyPressed","brief":"","access":"public","examples":[{"caption":"","code":"if (me.input.isKeyPressed('left')) {\n //do something\n}\nelse if (me.input.isKeyPressed('right')) {\n //do something else...\n}"}],"type":"FunctionDoc","description":"

                    return the key press status of the specified action

                    ","params":[{"identifier":"action","optional":false,"description":"

                    user defined corresponding action

                    ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                    true if pressed

                    ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"nfRL8RkpG-xfTa1BN70Ei","name":"keyStatus","brief":"","access":"public","type":"FunctionDoc","description":"

                    return the key status of the specified action

                    ","params":[{"identifier":"action","optional":false,"description":"

                    user defined corresponding action

                    ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                    down (true) or up(false)

                    ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"QRzBfPzD0CSQ-by0fgosF","name":"registerPointerEvent","brief":"","examples":[{"caption":"","code":" // onActivate function\n onActivateEvent: function () {\n // register on the 'pointerdown' event\n me.input.registerPointerEvent('pointerdown', this, (e) => this.pointerDown(e));\n },\n\n // pointerDown event callback\n pointerDown: function (pointer) {\n // do something\n ....\n // don\"t propagate the event to other objects\n return false;\n },"}],"see":["Pointer","{@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}"],"type":"FunctionDoc","description":"

                    allows registration of event listeners on the object target.
                    \nmelonJS will pass a me.Pointer object to the defined cal...","params":[{"identifier":"eventType","optional":false,"description":"

                    The event type for which the object is registering
                    \nmelonJS currently supports:

                    \n
                      \n
                    • \"pointermo...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"region","optional":false,"description":"

                      a shape representing the region to register on

                      ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"callback","optional":false,"description":"

                      methods to be called when the event occurs.\nReturning false from the defined callback will prevent the event ...","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"jzP8ECgAXQjIPQ5QttBGp","name":"releaseAllPointerEvents","brief":"","examples":[{"caption":"","code":"// release all registered event on the\nme.input.releaseAllPointerEvents(this);"}],"type":"FunctionDoc","description":"

                      allows the removal of all registered event listeners from the object target.

                      ","params":[{"identifier":"region","optional":false,"description":"

                      the registered region to release event from

                      ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[],"extends":[],"implements":[]},{"id":"jEie5hWBr8GPlfPoXrJB6","name":"releasePointerEvent","brief":"","examples":[{"caption":"","code":"// release the registered region on the 'pointerdown' event\nme.input.releasePointerEvent('pointerdown', this);"}],"see":["{@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}"],"type":"FunctionDoc","description":"

                      allows the removal of event listeners from the object target.

                      ","params":[{"identifier":"eventType","optional":false,"description":"

                      The event type for which the object was registered. See {@link input.registerPointerEvent}

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"region","optional":false,"description":"

                      the registered region to release for this event

                      ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"callback","optional":true,"default":"\"all\"","description":"

                      if specified unregister the event only for the specific callback

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"MO_3QW--pjv1HaSoIgWBF","name":"requestPointerLock","brief":"","examples":[{"caption":"","code":"// register on the pointer lock change event\nevent.on(event.POINTERLOCKCHANGE, (locked)=> {\n console.log(\"pointer lock: \" + locked);\n});\n// request for pointer lock\nme.input.requestPointerLock();"}],"type":"FunctionDoc","description":"

                      request for the pointer to be locked on the parent DOM element.\n(Must be called in a click event or an event that requires...","params":[],"returns":[{"description":"

                      return true if the request was successfully submitted

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hrq0frlQA2g-qTS-idKV9","name":"setGamepadDeadzone","brief":"","access":"public","type":"FunctionDoc","description":"

                      Set deadzone for analog gamepad inputs
                      \nThe default deadzone is 0.1 (10%) Analog values less than this will be ignored

                      ","params":[{"identifier":"value","optional":false,"description":"

                      Deadzone value

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XZdrWr1JZadT7m2c-poqS","name":"setTouchAction","brief":"","see":["https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action"],"type":"FunctionDoc","description":"

                      enable/disable all gestures on the given element.
                      \nby default melonJS will disable browser handling of all panning and ...","params":[{"identifier":"element","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"value","optional":true,"default":"\"none\"","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"m3Spg7992XZaG-q4HuZO5","name":"triggerKeyEvent","brief":"","access":"public","examples":[{"caption":"","code":"// trigger a key press\nme.input.triggerKeyEvent(me.input.KEY.LEFT, true);"}],"type":"FunctionDoc","description":"

                      trigger the specified key (simulated) event

                      ","params":[{"identifier":"keycode","optional":false,"description":"

                      (See {@link input.KEY})

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"status","optional":true,"default":"false","description":"

                      true to trigger a key down event, or false for key up event

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"mouseButton","optional":true,"description":"

                      the mouse button to trigger

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"5EZZnB0I1u-ELbYd44Aw5","name":"unbindGamepad","brief":"","access":"public","examples":[{"caption":"","code":"me.input.unbindGamepad(0, me.input.GAMEPAD.BUTTONS.FACE_1);"}],"type":"FunctionDoc","description":"

                      unbind the defined keycode

                      ","params":[{"identifier":"index","optional":false,"description":"

                      Gamepad index

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"button","optional":false,"description":"

                      (See {@link input.GAMEPAD.BUTTONS})

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"jTMKXsGKHcFDWjzj62Rm3","name":"unbindKey","brief":"","access":"public","examples":[{"caption":"","code":"me.input.unbindKey(me.input.KEY.LEFT);"}],"type":"FunctionDoc","description":"

                      unbind the defined keycode

                      ","params":[{"identifier":"keycode","optional":false,"description":"

                      (See {@link input.KEY})

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XyA1vOu8u3ACYHcBIq4B2","name":"unbindPointer","brief":"","examples":[{"caption":"","code":"me.input.unbindPointer(me.input.pointer.LEFT);"}],"type":"FunctionDoc","description":"

                      unbind the defined keycode

                      ","params":[{"identifier":"button","optional":true,"default":"input.pointer.LEFT","description":"

                      (accordingly to W3C values : 0,1,2 for left, middle and right buttons)

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CFPEqSvcsf7ajuKJKFS-0","name":"unlockKey","brief":"","access":"public","examples":[{"caption":"","code":"// Unlock jump when touching the ground\nif (!this.falling && !this.jumping) {\n me.input.unlockKey(\"jump\");\n}"}],"type":"FunctionDoc","description":"

                      unlock a key manually

                      ","params":[{"identifier":"action","optional":false,"description":"

                      user defined corresponding action

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"JX7SOlW8o9sGv4WzHeFtz","name":"level","brief":"","type":"NSDoc","description":"

                      a level manager. once ressources loaded, the level manager contains all references of defined levels.

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"EGvfijqr8mP9nzTJ8p9ka","name":"add","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      add a level into the game manager (usually called by the preloader)

                      ","params":[{"identifier":"format","optional":false,"description":"

                      level format (only "tmx" supported)

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"levelId","optional":false,"description":"

                      the level id (or name)

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"callback","optional":true,"description":"

                      a function to be called once the level is loaded

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                      true if the level was loaded

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PIx-KKP5lqIkCTuMrMcvZ","name":"getCurrentLevel","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      return the current level definition.\nfor a reference to the live instantiated level,\nrather use the container in which it ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yeEK-JzAh-5UFDx9pi88r","name":"getCurrentLevelId","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      return the current level id

                      ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"L43v45XEAPPtkvTBX5pnU","name":"levelCount","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      return the amount of level preloaded

                      ","params":[],"returns":[{"description":"

                      the amount of level preloaded

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MwMzTkRaxLsOb8ujqGPKF","name":"load","brief":"","access":"public","examples":[{"caption":"","code":" // the game assets to be be preloaded\n // TMX maps\n let resources = [\n {name: \"a4_level1\", type: \"tmx\", src: \"data/level/a4_level1.tmx\"},\n {name: \"a4_level2\", type: \"tmx\", src: \"data/level/a4_level2.tmx\"},\n {name: \"a4_level3\", type: \"tmx\", src: \"data/level/a4_level3.tmx\"},\n // ...\n ];\n\n // ...\n\n // load a level into the game world\n me.level.load(\"a4_level1\");\n ...\n ...\n // load a level into a specific container\n let levelContainer = new me.Container();\n me.level.load(\"a4_level2\", {container:levelContainer});\n // add a simple transformation\n levelContainer.currentTransform.translate(levelContainer.width / 2, levelContainer.height / 2 );\n levelContainer.currentTransform.rotate(0.05);\n levelContainer.currentTransform.translate(-levelContainer.width / 2, -levelContainer.height / 2 );\n // add it to the game world\n me.game.world.addChild(levelContainer);"}],"scope":"instance","type":"MethodDoc","description":"

                      load a level into the game manager
                      \n(will also create all level defined entities, etc..)

                      ","params":[{"identifier":"levelId","optional":false,"description":"

                      level id

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"options","optional":true,"description":"

                      additional optional parameters

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

                      container in which to load the specified level

                      ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

                      callback for when the level is fully loaded

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

                      if true, flatten all objects into the given container

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"options.setViewportBounds","optional":true,"default":"true","description":"

                      if true, set the viewport bounds to the map size

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                      true if the level was successfully loaded

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TXmPypqqRzmgZevdxlqp1","name":"next","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      load the next level

                      ","params":[{"identifier":"options","optional":true,"description":"

                      additional optional parameters

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

                      container in which to load the specified level

                      ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

                      callback for when the level is fully loaded

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

                      if true, flatten all objects into the given container

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                      true if the next level was successfully loaded

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"T-B8zd5GaJO31iUxlhNWD","name":"previous","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      load the previous level

                      ","params":[{"identifier":"options","optional":true,"description":"

                      additional optional parameters

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

                      container in which to load the specified level

                      ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

                      callback for when the level is fully loaded

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

                      if true, flatten all objects into the given container

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                      true if the previous level was successfully loaded

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0_Z5OcpL5oerf3jpgKYYM","name":"reload","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      reload the current level

                      ","params":[{"identifier":"options","optional":true,"description":"

                      additional optional parameters

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options.container","optional":true,"default":"game.world","description":"

                      container in which to load the specified level

                      ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"options.onLoaded","optional":true,"default":"game.onLevelLoaded","description":"

                      callback for when the level is fully loaded

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"options.flatten","optional":true,"default":"game.mergeGroup","description":"

                      if true, flatten all objects into the given container

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                      the current level

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]}]},{"id":"mSJBudsyxu5WJNnBllvN-","name":"loader","brief":"","type":"NSDoc","description":"

                      a small class to manage loading of stuff and manage resources

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"wsmctonOblWSFBt2dDG9U","name":"Asset","brief":"","examples":[{"caption":"","code":"// PNG tileset\n{name: \"tileset-platformer\", type: \"image\", src: \"data/map/tileset.png\"}\n// PNG packed texture\n{name: \"texture\", type:\"image\", src: \"data/gfx/texture.png\"}\n// PNG base64 encoded image\n{name: \"texture\", type:\"image\", src: \"data:image/png;base64,iVBORw0KAAAQAAAAEACA...\"}\n// TSX file\n{name: \"meta_tiles\", type: \"tsx\", src: \"data/map/meta_tiles.tsx\"}\n// TMX level (XML & JSON)\n{name: \"map1\", type: \"tmx\", src: \"data/map/map1.json\"}\n{name: \"map2\", type: \"tmx\", src: \"data/map/map2.tmx\"}\n{name: \"map3\", type: \"tmx\", format: \"json\", data: {\"height\":15,\"layers\":[...],\"tilewidth\":32,\"version\":1,\"width\":20}}\n{name: \"map4\", type: \"tmx\", format: \"xml\", data: {xml representation of tmx}}\n// audio resources\n{name: \"bgmusic\", type: \"audio\", src: \"data/audio/\"}\n{name: \"cling\", type: \"audio\", src: \"data/audio/\"}\n// base64 encoded audio resources\n{name: \"band\", type: \"audio\", src: \"data:audio/wav;base64,...\"}\n// binary file\n{name: \"ymTrack\", type: \"binary\", src: \"data/audio/main.ym\"}\n// JSON file (used for texturePacker)\n{name: \"texture\", type: \"json\", src: \"data/gfx/texture.json\"}\n// JavaScript file\n{name: \"plugin\", type: \"js\", src: \"data/js/plugin.js\"}\n// Font Face\n{ name: \"'kenpixel'\", type: \"fontface\", src: \"url('data/font/kenvector_future.woff2')\" }\n// video resources\n{name: \"intro\", type: \"video\", src: \"data/video/\"}"}],"scope":"static","see":["loader.preload","loader.load"],"type":"TypedefDoc","description":"

                      an asset definition to be used with the loader

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"kQWmAlXWcZULEsbBLp6DH","name":"autoplay","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      Set to true to automatically start playing audio or video when loaded or added to a scene (using autoplay might require us..."},{"id":"kTeYIdEvN6fX9Y3JMFWmZ","name":"data","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      TMX data if not provided through a src url

                      "},{"id":"j6OokTcLrJwdOfilrtftU","name":"loop","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      Set to true to automatically loop the audio or video when playing

                      "},{"id":"Th7l3_zn15A1K_lThqe5Q","name":"name","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      name of the asset

                      "},{"id":"FtsyCr-CAk33vZ9--A_5_","name":"src","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      path and/or file name of the resource (for audio assets only the path is required)

                      "},{"id":"9qjp_Ily5gmu5sMGxAS3K","name":"stream","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      Set to true to not to wait for large audio or video file to be downloaded before playing.

                      "},{"id":"sRTL9qC34mCUfBnRghQit","name":"type","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx&qu..."}]},{"id":"3ZBuUiQYvWvuSnjAtPfFK","name":"crossOrigin","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":" // allow for cross-origin texture loading\n me.loader.crossOrigin = \"anonymous\";\n\n // set all ressources to be loaded\n me.loader.preload(game.resources, () => this.loaded());"}],"see":["https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes"],"type":"PropertyDoc","description":"

                      crossOrigin attribute to configure the CORS requests for Image and Video data element.\nBy default (that is, when the attri...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HKpePcKDb0lsGn_SAj_3M","name":"onError","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// set a callback for error notification\nme.loader.onError = this.loaderError.bind(this);"}],"type":"PropertyDoc","description":"

                      onError callback
                      \neach time a resource loading is failed, the loader will fire the specified function giving the actual...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eiemgahUWnzNxXulMYFC9","name":"onload","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// set a callback when everything is loaded\nme.loader.onload = this.loaded.bind(this);"}],"type":"PropertyDoc","description":"

                      onload callback

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t7_XHd1dztRXv6II_cKwv","name":"onProgress","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// set a callback for progress notification\nme.loader.onProgress = this.updateProgress.bind(this);"}],"type":"PropertyDoc","description":"

                      onProgress callback
                      \neach time a resource is loaded, the loader will fire the specified function,\ngiving the actual pro...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oNd2lSSqWJIaPbajr5AQO","name":"withCredentials","brief":"","access":"public","defaultValue":"false","examples":[{"caption":"","code":" // enable withCredentials\n me.loader.withCredentials = true;\n\n // set all ressources to be loaded\n me.loader.preload(game.resources, () => this.loaded());"}],"see":["https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials"],"type":"PropertyDoc","description":"

                      indicates whether or not cross-site Access-Control requests should be made using credentials such as cookies,\nauthorizatio...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nVaAG1rtD-en_TQGFLYs2","name":"getBinary","brief":"","type":"FunctionDoc","description":"

                      return the specified Binary object

                      ","params":[{"identifier":"elt","optional":false,"description":"

                      name of the binary object ("ymTrack");

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      requested element or null if not found

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"hJYdrZWIQrSqQX7bBZ0ZM","name":"getImage","brief":"","type":"FunctionDoc","description":"

                      return the specified Image Object

                      ","params":[{"identifier":"image","optional":false,"description":"

                      name of the Image element ("tileset-platformer");

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      requested element or null if not found

                      ","dataType":{"tokens":[{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XEQPsYJf8YgK_uYWzjwAq","name":"getJSON","brief":"","type":"FunctionDoc","description":"

                      return the specified JSON Object

                      ","params":[{"identifier":"elt","optional":false,"description":"

                      name of the json file

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"JSON","kind":"canonical"},{"value":"JSON","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ysoP-zRG8ZgL_DYONmmeQ","name":"getTMX","brief":"","type":"FunctionDoc","description":"

                      return the specified TMX/TSX object

                      ","params":[{"identifier":"elt","optional":false,"description":"

                      name of the tmx/tsx element ("map1");

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      requested element or null if not found

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"MER43SflFG6eFBXFrMDJy","name":"getVideo","brief":"","type":"FunctionDoc","description":"

                      return the specified Video Object

                      ","params":[{"identifier":"elt","optional":false,"description":"

                      name of the video file

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5eTNuhnic0Ub70lpI28ba","name":"load","brief":"","examples":[{"caption":"","code":"// load an image asset\nme.loader.load({name: \"avatar\", type:\"image\", src: \"data/avatar.png\"}, () => this.onload(), () => this.onerror());\n// load a base64 image asset\n me.loader.load({name: \"avatar\", type:\"image\", src: \"data:image/png;base64,iVBORw0KAAAQAAAAEACA...\"};\n // load a base64 video asset\n me.loader.load({\n name: \"avatar\",\n type:\"video\",\n src: \"data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZ..\"\n };\n// start loading music\nme.loader.load({\n name : \"bgmusic\",\n type : \"audio\",\n src : \"data/audio/\"\n}, function () {\n me.audio.play(\"bgmusic\");\n});"}],"type":"FunctionDoc","description":"

                      Load a single asset (to be used if you need to load additional asset(s) during the game)

                      ","params":[{"identifier":"asset","optional":false,"dataType":{"tokens":[{"value":"loader.Asset","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1"}},{"identifier":"onload","optional":true,"description":"

                      function to be called when the asset is loaded

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"onerror","optional":true,"description":"

                      function to be called in case of error

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                      the amount of corresponding resource to be preloaded

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oKHsGU9yCDtlPdkND2o95","name":"preload","brief":"","examples":[{"caption":"","code":"game.assets = [\n // PNG tileset\n {name: \"tileset-platformer\", type: \"image\", src: \"data/map/tileset.png\"},\n // PNG packed texture\n {name: \"texture\", type:\"image\", src: \"data/gfx/texture.png\"}\n // PNG base64 encoded image\n {name: \"texture\", type:\"image\", src: \"data:image/png;base64,iVBORw0KAAAQAAAAEACA...\"}\n // TSX file\n {name: \"meta_tiles\", type: \"tsx\", src: \"data/map/meta_tiles.tsx\"},\n // TMX level (XML & JSON)\n {name: \"map1\", type: \"tmx\", src: \"data/map/map1.json\"},\n {name: \"map2\", type: \"tmx\", src: \"data/map/map2.tmx\"},\n {name: \"map3\", type: \"tmx\", format: \"json\", data: {\"height\":15,\"layers\":[...],\"tilewidth\":32,\"version\":1,\"width\":20}},\n {name: \"map4\", type: \"tmx\", format: \"xml\", data: {xml representation of tmx}},\n // audio resources\n {name: \"bgmusic\", type: \"audio\", src: \"data/audio/\"},\n {name: \"cling\", type: \"audio\", src: \"data/audio/\"},\n // base64 encoded audio resources\n {name: \"band\", type: \"audio\", src: \"data:audio/wav;base64,...\"},\n // binary file\n {name: \"ymTrack\", type: \"binary\", src: \"data/audio/main.ym\"},\n // JSON file (used for texturePacker)\n {name: \"texture\", type: \"json\", src: \"data/gfx/texture.json\"},\n // JavaScript file\n {name: \"plugin\", type: \"js\", src: \"data/js/plugin.js\"},\n // Font Face\n {name: \"'kenpixel'\", type: \"fontface\", src: \"url('data/font/kenvector_future.woff2')\"},\n // video resources\n {name: \"intro\", type: \"video\", src: \"data/video/\"},\n // base64 encoded video asset\n me.loader.load({name: \"avatar\", type:\"video\", src: \"data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZ...\"};\n];\n...\n// set all resources to be loaded\nme.loader.preload(game.assets, () => this.loaded());"}],"type":"FunctionDoc","description":"

                      set all the specified game assets to be preloaded.

                      ","params":[{"identifier":"assets","optional":false,"description":"

                      list of assets to load

                      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1<%2>"}},{"identifier":"onloadcb","optional":true,"default":"loader.onload","description":"

                      function to be called when all resources are loaded

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"switchToLoadState","optional":true,"default":"true","description":"

                      automatically switch to the loading screen

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Ncn-Hy82nmMG7UQ-a40qT","name":"reload","brief":"","examples":[{"caption":"","code":"event.on(\n event.LOADER_ERROR,\n (res) => {\n // custom function\n showErrorNotification({\n text: `Error during loading content: ${res.name}`,\n done: loader.reload(res.src);\n })\n }\n);"}],"type":"FunctionDoc","description":"

                      retry loading assets after a loading failure

                      ","params":[{"identifier":"src","optional":false,"description":"

                      src of asset to reload

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"C9hmWJC04UACREmc3Ew-N","name":"setBaseURL","brief":"","access":"public","examples":[{"caption":"","code":"// change the base URL relative address for audio assets\nme.loader.setBaseURL(\"audio\", \"data/audio/\");\n// change the base URL absolute address for all object types\nme.loader.setBaseURL(\"*\", \"http://myurl.com/\")"}],"type":"FunctionDoc","description":"

                      change the default baseURL for the given asset type.
                      \n(this will prepend the asset URL and must finish with a '/')

                      ","params":[{"identifier":"type","optional":false,"description":"

                      "*", "audio", "video", "binary", "image", "json", "js&quo...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"url","optional":true,"default":"\"./\"","description":"

                      default base URL

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"QrJ5oguSw7j_v6O0-XStr","name":"setParser","brief":"","examples":[{"caption":"","code":"// specify a custom function for \"abc\" format\nfunction customAbcParser(data, onload, onerror) {\n // preload and do something with the data\n let parsedData = doSomething(data);\n // when done, call the onload callback with the parsed data\n onload(parsedData);\n // in case of error, call the onerror callback\n onerror();\n // return the amount of asset parsed\n return 1\n}\n// set the parser for the custom format\nloader.setParser(\"abc\", customAbcParser);"}],"see":["loader.Asset.type"],"type":"FunctionDoc","description":"

                      specify a parser/preload function for the given asset type

                      ","params":[{"identifier":"type","optional":false,"description":"

                      asset type

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"parserFn","optional":false,"description":"

                      parser function

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"WVXzp7HXYnxpRgezxp3Q3","name":"unload","brief":"","examples":[{"caption":"","code":"me.loader.unload({name: \"avatar\", type:\"image\"});"}],"type":"FunctionDoc","description":"

                      unload the specified asset to free memory

                      ","params":[{"identifier":"asset","optional":false,"dataType":{"tokens":[{"value":"loader.Asset","kind":"canonical"},{"value":"loader.Asset","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                      true if unloaded

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dv-YF0ZE81av4LFcQ40uc","name":"unloadAll","brief":"","examples":[{"caption":"","code":"me.loader.unloadAll();"}],"type":"FunctionDoc","description":"

                      unload all resources to free memory

                      ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"iVyvZOYs6ZdWlnVjSqgBj","name":"Math","brief":"","type":"NSDoc","description":"

                      a collection of math utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"gg5JssEt9dzuCVYPNdzm6","name":"DEG_TO_RAD","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                      constant to convert from degrees to radians

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tgIduMmDH64Df0Ou7np1_","name":"EPSILON","brief":"","access":"public","defaultValue":"0.000001","readonly":true,"type":"PropertyDoc","description":"

                      the difference between 1 and the smallest floating point number greater than 1

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NkYc75bEen-lgygoJys80","name":"ETA","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                      constant equals to half pi

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZGmG-bkISr40Sd28AdBns","name":"RAD_TO_DEG","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                      constant to convert from radians to degrees

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9RveBxPFdhkiDqR6Sw_LL","name":"TAU","brief":"","access":"public","readonly":true,"type":"PropertyDoc","description":"

                      constant equals to 2 times pi

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dasupJCEBVrf4D-wxS-kf","name":"clamp","brief":"","access":"public","type":"FunctionDoc","description":"

                      clamp the given value

                      ","params":[{"identifier":"val","optional":false,"description":"

                      the value to clamp

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"low","optional":false,"description":"

                      lower limit

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"description":"

                      higher limit

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      clamped value

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"csEZmtoF1U8ZtuB_kyWY2","name":"degToRad","brief":"","access":"public","examples":[{"caption":"","code":"// convert a specific angle\nme.Math.degToRad(60); // return 1.0471..."}],"type":"FunctionDoc","description":"

                      Converts an angle in degrees to an angle in radians

                      ","params":[{"identifier":"angle","optional":false,"description":"

                      angle in degrees

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      corresponding angle in radians

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yjnXB5hTItOFQyIMEbs0e","name":"isPowerOfTwo","brief":"","access":"public","type":"FunctionDoc","description":"

                      returns true if the given value is a power of two

                      ","params":[{"identifier":"val","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"f36p4f84fD7ey9vilNbdy","name":"nextPowerOfTwo","brief":"","access":"public","type":"FunctionDoc","description":"

                      returns the next power of two for the given value

                      ","params":[{"identifier":"val","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Pgj2pb3088WwcetjZXpLs","name":"radToDeg","brief":"","access":"public","examples":[{"caption":"","code":"// convert a specific angle\nme.Math.radToDeg(1.0471975511965976); // return 60"}],"type":"FunctionDoc","description":"

                      Converts an angle in radians to an angle in degrees.

                      ","params":[{"identifier":"radians","optional":false,"description":"

                      angle in radians

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      corresponding angle in degrees

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vwzSTswk2ForCiZ0DTJa0","name":"random","brief":"","access":"public","examples":[{"caption":"","code":"// Print a random number; one of 5, 6, 7, 8, 9\nconsole.log(me.Math.random(5, 10) );"}],"type":"FunctionDoc","description":"

                      return a random integer between min (included) and max (excluded)

                      ","params":[{"identifier":"min","optional":false,"description":"

                      minimum value.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":false,"description":"

                      maximum value.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      random value

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nWmkZ0FxspApHwp39IYEt","name":"randomFloat","brief":"","access":"public","examples":[{"caption":"","code":"// Print a random number; one of 5, 6, 7, 8, 9\nconsole.log(me.Math.randomFloat(5, 10) );"}],"type":"FunctionDoc","description":"

                      return a random float between min, max (exclusive)

                      ","params":[{"identifier":"min","optional":false,"description":"

                      minimum value.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":false,"description":"

                      maximum value.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      random value

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pcVcY6Y-9TTAcw8MtJPJJ","name":"round","brief":"","access":"public","examples":[{"caption":"","code":"// round a specific value to 2 digits\nme.Math.round(10.33333, 2); // return 10.33"}],"type":"FunctionDoc","description":"

                      round a value to the specified number of digit

                      ","params":[{"identifier":"num","optional":false,"description":"

                      value to be rounded.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dec","optional":true,"default":"0","description":"

                      number of decimal digit to be rounded to.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      rounded value

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"n2b46SuF6QaLerjP_3ITN","name":"toBeCloseTo","brief":"","access":"public","examples":[{"caption":"","code":"// test if the given value is close to 10\nif (me.Math.toBeCloseTo(10, value)) {\n // do something\n}"}],"type":"FunctionDoc","description":"

                      check if the given value is close to the expected one

                      ","params":[{"identifier":"expected","optional":false,"description":"

                      value to be compared with.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"actual","optional":false,"description":"

                      actual value to compare

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"precision","optional":true,"default":"2","description":"

                      float precision for the comparison

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      if close to

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ME0GlX5x8qjce944IQvII","name":"weightedRandom","brief":"","access":"public","examples":[{"caption":"","code":"// Print a random number; one of 5, 6, 7, 8, 9\nconsole.log(me.Math.weightedRandom(5, 10) );"}],"type":"FunctionDoc","description":"

                      return a weighted random between min, max (exclusive)

                      ","params":[{"identifier":"min","optional":false,"description":"

                      minimum value.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":false,"description":"

                      maximum value.

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      random value

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"z7IDzCDybUYKd5qrXrN9U","name":"ParticleEmitterSettings","brief":"","readonly":true,"see":["ParticleEmitter"],"type":"NSDoc","description":"

                      ParticleEmitterSettings contains the default settings for ParticleEmitter

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"lfyr7RgBP6OW8YLd8y_LY","name":"angle","brief":"","access":"public","defaultValue":"Math.PI / 2","scope":"static","type":"PropertyDoc","description":"

                      Start angle for particle launch in Radians

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SVBS1-muvcA_otibk1Rw-","name":"angleVariation","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      letiation in the start angle for particle launch in Radians.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HdmjYuI0fTQndiJlE2AqW","name":"blendMode","brief":"","access":"public","defaultValue":"normal","scope":"static","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                      the blend mode to be applied when rendering particles.\n(note: this will superseed the textureAdditive setting...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uqDc-8_y7oKYSYNuXEk6z","name":"duration","brief":"","access":"public","defaultValue":"Infinity","scope":"static","type":"PropertyDoc","description":"

                      Duration that the emitter releases particles in ms (used only if emitter is Stream).\nAfter this period, the emitter stop t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J_K0N0FgAd1LcQ6LyWgvk","name":"floating","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      Render particles in screen space.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-g1F_3gVtgU5PdjlyHncB","name":"followTrajectory","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      Update the rotation of particle in accordance the particle trajectory.
                      \nThe particle sprite should aim at zero angle (d...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LM6hErH2HZgpA60I4eYOj","name":"framesToSkip","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Skip n frames after updating the particle system once.\nThis can be used to reduce the performance impact of emitters with ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"awmTtUzVznv5yhV--FkRN","name":"frequency","brief":"","access":"public","defaultValue":"100","scope":"static","type":"PropertyDoc","description":"

                      How often a particle is emitted in ms (used only if emitter is a Stream).

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eEgPhctVTqbcnZHJrwXZ8","name":"gravity","brief":"","access":"public","defaultValue":"0","scope":"static","see":["game.world.gravity"],"type":"PropertyDoc","description":"

                      Vertical force (Gravity) for each particle

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WjeVfZtWZbcYAZTaLrT94","name":"height","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

                      Height of the particle spawn area

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MlRJZnscPX-1wc-HDvvda","name":"image","brief":"","access":"public","defaultValue":"undefined","scope":"static","see":["ParticleEmitterSettings.textureSize"],"type":"PropertyDoc","description":"

                      image used for particles texture\n(by default melonJS will create an white 8x8 texture image)

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ginbszn8XYA6oDKaLRPoG","name":"maxEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Maximum end scale ratio for particles

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qejVPZKYhDYx4ikz8J0AY","name":"maxLife","brief":"","access":"public","defaultValue":"3000","scope":"static","type":"PropertyDoc","description":"

                      Maximum time each particle lives once it is emitted in ms.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6SWngPMuoN5mVmNLPWpxE","name":"maxParticles","brief":"","access":"public","defaultValue":"10","scope":"static","type":"PropertyDoc","description":"

                      Maximum number of particles launched each time in this emitter (used only if emitter is Stream).

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gOqVST8Xc7mkd7IZ-oFAy","name":"maxRotation","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Maximum start rotation for particles sprites in Radians

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LEn2u0alBxKhEeBfxGoCs","name":"maxStartScale","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

                      Maximum start scale ratio for particles (1 = no scaling)

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jxgAwTpwl6gTabd4JHwPp","name":"minEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Minimum end scale ratio for particles

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X-zkHfZCBUrGBS4WPcFM8","name":"minLife","brief":"","access":"public","defaultValue":"1000","scope":"static","type":"PropertyDoc","description":"

                      Minimum time each particle lives once it is emitted in ms.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jfj9Q-XkSwvvMllfeLmcc","name":"minRotation","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Minimum start rotation for particles sprites in Radians

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RI4U_XFSWAsWHNjdXzhlg","name":"minStartScale","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

                      Minimum start scale ratio for particles (1 = no scaling)

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L9Ja2qVZ60tcQXT7Fas9y","name":"onlyInViewport","brief":"","access":"public","defaultValue":"true","scope":"static","type":"PropertyDoc","description":"

                      Update particles only in the viewport, remove it when out of viewport.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yTa0uJPuHAhUMHeoAUQ_B","name":"speed","brief":"","access":"public","defaultValue":"2","scope":"static","type":"PropertyDoc","description":"

                      Start speed of particles.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QLSWiWDI1OJV6zoNjn_Yn","name":"speedVariation","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

                      letiation in the start speed of particles

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6TJ5MR_wVpy1QJOAIFtTE","name":"textureAdditive","brief":"","access":"public","defaultValue":"false","scope":"static","see":["ParticleEmitterSettings.blendMode"],"type":"PropertyDoc","description":"

                      Enable the Texture Additive by composite operation ("additive" blendMode)

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ReRbR-4RtdXFs38wJ9T-C","name":"textureSize","brief":"","access":"public","defaultValue":"8","scope":"static","see":["ParticleEmitterSettings.image"],"type":"PropertyDoc","description":"

                      default texture size used for particles if no image is specified\n(by default melonJS will create an white 8x8 texture imag...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3QcRxt1kkJqOC7NGeaM2E","name":"tint","brief":"","access":"public","defaultValue":"\"#fff\"","scope":"static","type":"PropertyDoc","description":"

                      tint to be applied to particles

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZMT3sVzFZYu8OAPjqfjas","name":"totalParticles","brief":"","access":"public","defaultValue":"50","scope":"static","type":"PropertyDoc","description":"

                      Total number of particles in the emitter

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c5RMQ2BZymSTBuVh1j_95","name":"width","brief":"","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

                      Width of the particle spawn area.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QRyWIyyR4lF6R7pqzecp4","name":"wind","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Horizontal force (like a Wind) for each particle

                      ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"VwW1YYpxcnzxgzvTpHphN","name":"plugin","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"0utuInQDe9zv3LmC0zXJc","name":"Base","brief":"","deprecated":"since 15.1.6, see {@link plugin.BasePlugin}","type":"ClassDoc","params":[],"returns":[],"extends":["plugin.BasePlugin"],"implements":[],"members":[{"id":"g3fd1QWOJ779pOVNv9_w1","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                      a reference to the app/game that registered this plugin

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sRJDM8dLUJfHIjg3t9EzM","name":"version","brief":"","defaultValue":"\"__VERSION__\"","scope":"instance","type":"PropertyDoc","description":"

                      define the minimum required version of melonJS
                      \nthis can be overridden by the plugin

                      ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"xX00JikuPZJh0OsK7Bkhw","name":"BasePlugin","brief":"","type":"ClassDoc","description":"

                      a base Object class for plugin\n(plugin must be installed using the register function)

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"erxQeYMmCcWuvFN9LgZoc","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                      a reference to the app/game that registered this plugin

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"THx56OOYnA-pyiTgO_bU2","name":"version","brief":"","defaultValue":"\"__VERSION__\"","scope":"instance","type":"PropertyDoc","description":"

                      define the minimum required version of melonJS
                      \nthis can be overridden by the plugin

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AtiETbjREXqewhtYVmpPw","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"app","optional":true,"description":"

                      a reference to the app/game that registered this plugin

                      ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"xDClUZAo0IqO1CA1bG82V","name":"cache","brief":"","type":"PropertyDoc","description":"

                      Contains all registered plugins.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fyvux8bTPkDXAManmtkl5","name":"get","brief":"","type":"FunctionDoc","description":"

                      returns the the plugin instance with the specified class type or registered name

                      ","params":[{"identifier":"classType","optional":false,"description":"

                      the Class Object or registered name of the plugin to retreive

                      ","dataType":{"tokens":[{"value":"object | string","kind":"canonical"}],"template":"object | string"}}],"returns":[{"description":"

                      a plugin instance or undefined

                      ","dataType":{"tokens":[{"value":"BasePlugin","kind":"canonical"},{"value":"BasePlugin","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SIvLojdLY3hcIN1BPVEHl","name":"patch","brief":"","examples":[{"caption":"","code":"// redefine the me.game.update function with a new one\nme.plugin.patch(me.game, \"update\", function () {\n // display something in the console\n console.log(\"duh\");\n // call the original me.game.update function\n this._patched();\n});"}],"type":"FunctionDoc","description":"

                      patch a melonJS function

                      ","params":[{"identifier":"proto","optional":false,"description":"

                      target object

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"name","optional":false,"description":"

                      target function

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"fn","optional":false,"description":"

                      replacement function

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"SxAZnN03gngZyT8wxtpVw","name":"register","brief":"","examples":[{"caption":"","code":"// register a new plugin\nme.plugin.register(TestPlugin, \"testPlugin\");\n// the `testPlugin` class instance can also be accessed through me.plugin.cache\nme.plugin.cache.testPlugin.myfunction ();"}],"type":"FunctionDoc","description":"

                      Register a plugin.

                      ","params":[{"identifier":"plugin","optional":false,"description":"

                      Plugin object to instantiate and register

                      ","dataType":{"tokens":[{"value":"plugin.BasePlugin","kind":"canonical"},{"value":"plugin.BasePlugin","kind":"link"}],"template":"%1"}},{"identifier":"name","optional":true,"default":"plugin.constructor.name","description":"

                      a unique name for this plugin

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

                      all extra parameters will be passed to the plugin constructor

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"QZCfAwKxQUqgluBwX8ScD","name":"pool","brief":"","examples":[{"caption":"","code":"// register our bullet object into the object pool\npool.register(\"bullet\", BulletEntity, true);\n// ...\n// when we need to manually create a new bullet:\nlet bullet = pool.pull(\"bullet\", x, y, direction, velocity);\n// ...\n// when we want to destroy existing object, the remove\n// function will ensure the object can then be reallocated later\ngame.world.removeChild(bullet);"}],"see":["ObjectPool"],"type":"NSDoc","description":"

                      a default global ObjectPool instance

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VuEIsRiNrK-MKX-9CdtyF","name":"save","brief":"","examples":[{"caption":"","code":" // Initialize \"score\" and \"lives\" with default values\n // This loads the properties from localStorage if they exist, else it sets the given defaults\n me.save.add({ score : 0, lives : 3 });\n\n // Print all\n // On first load, this prints { score : 0, lives : 3 }\n // On further reloads, it prints { score : 31337, lives : 3, complexObject : ... }\n // Because the following changes will be saved to localStorage\n console.log(JSON.stringify(me.save));\n\n // Save score\n me.save.score = 31337;\n\n // Also supports complex objects thanks to the JSON backend\n me.save.add({ complexObject : {} })\n me.save.complexObject = { a : \"b\", c : [ 1, 2, 3, \"d\" ], e : { f : [{}] } };\n\n // WARNING: Do not set any child properties of complex objects directly!\n // Changes made that way will not save. Always set the entire object value at once.\n // If you cannot live with this limitation, there's a workaround:\n me.save.complexObject.c.push(\"foo\"); // Modify a child property\n me.save.complexObject = me.save.complexObject; // Save the entire object!\n\n // Remove \"lives\" from localStorage\n me.save.remove(\"lives\");"}],"type":"NSDoc","description":"

                      allow to access and manage the device localStorage

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"7pdxCJNa9YCds_485IJUr","name":"add","brief":"","examples":[{"caption":"","code":"// Initialize \"score\" and \"lives\" with default values\nme.save.add({ score : 0, lives : 3 });\n// get or set the value through me.save\nme.save.score = 1000;"}],"scope":"instance","type":"MethodDoc","description":"

                      Add new keys to localStorage and set them to the given default values if they do not exist

                      ","params":[{"identifier":"props","optional":false,"description":"

                      key and corresponding values

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"OMxVbZ35LXpUyctmGCqQ7","name":"remove","brief":"","examples":[{"caption":"","code":"// Remove the \"score\" key from localStorage\nme.save.remove(\"score\");"}],"scope":"instance","type":"MethodDoc","description":"

                      Remove a key from localStorage

                      ","params":[{"identifier":"key","optional":false,"description":"

                      key to be removed

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"g-r4ferb59OpNh99Ropru","name":"state","brief":"","type":"NSDoc","description":"

                      a State Manager (state machine)

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"AKAk-R5R7NbBo3DZ8yvrr","name":"CREDITS","brief":"","defaultValue":"7","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Credits Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6QZN-d-n9JGyLAnFSCBm3","name":"DEFAULT","brief":"","defaultValue":"9","scope":"static","type":"PropertyDoc","description":"

                      default state ID for the default Stage\n(the default stage is the one running as soon as melonJS is started)

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fx6Ny0IpdTpC8GS4Dh0EY","name":"GAME_END","brief":"","defaultValue":"5","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Game End Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9WU_bYyuIayci0c127yt7","name":"GAMEOVER","brief":"","defaultValue":"4","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Game Over Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-2J4D7TbLUdvHHV-7wxti","name":"LOADING","brief":"","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Loading Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b13MeUNZrZ9WodbDIPFnB","name":"MENU","brief":"","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Menu Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S_gjWnFNO32QcIgpzFFlk","name":"PLAY","brief":"","defaultValue":"3","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Play Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HzReoGcnMXBfrOuqmdyPH","name":"READY","brief":"","defaultValue":"2","scope":"static","type":"PropertyDoc","description":"

                      default state ID for "Ready" Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RlgqpMWsuZLmG7_RuwiBu","name":"SCORE","brief":"","defaultValue":"6","scope":"static","type":"PropertyDoc","description":"

                      default state ID for High Score Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LUGb_cqynBQZ-PpX4nwVl","name":"SETTINGS","brief":"","defaultValue":"8","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Settings Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4nVjzTiuqPPkDOnn9JupD","name":"USER","brief":"","defaultValue":"100","examples":[{"caption":"","code":"let STATE_INFO = me.state.USER + 0;\nlet STATE_WARN = me.state.USER + 1;\nlet STATE_ERROR = me.state.USER + 2;\nlet STATE_CUTSCENE = me.state.USER + 3;"}],"scope":"static","type":"PropertyDoc","description":"

                      default state ID for user defined constants

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rw-qM9y5Cj9zA4zqk8E8o","name":"change","brief":"","access":"public","examples":[{"caption":"","code":"// The onResetEvent method on the play screen will receive two args:\n// \"level_1\" and the number 3\nme.state.change(me.state.PLAY, \"level_1\", 3);"}],"scope":"instance","type":"MethodDoc","description":"

                      change the game/app state

                      ","params":[{"identifier":"state","optional":false,"description":"

                      State ID (see constants)

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"forceChange","optional":false,"description":"

                      if true the state will be changed immediately

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

                      extra arguments to be passed to the reset functions

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"nJrPaymfh3hXeINlcBqGh","name":"current","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      return a reference to the current stage
                      \nuseful to call a object specific method

                      ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Stage","kind":"canonical"},{"value":"Stage","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CoJpBiqFSRzdyraCc_VrW","name":"isCurrent","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      return true if the specified state is the current one

                      ","params":[{"identifier":"state","optional":false,"description":"

                      State ID (see constants)

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      true if the specified state is the current one

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"N5wFgn-390O3UKki-Bo-h","name":"isPaused","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      Return the pause state of the state manager

                      ","params":[],"returns":[{"description":"

                      true if the game is paused

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"M2AB8RmywVYTqUoU5Bc2x","name":"isRunning","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      return the running state of the state manager

                      ","params":[],"returns":[{"description":"

                      true if a "process is running"

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"uofLGkpk7N06KXa0mYI0g","name":"pause","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      pause the current stage

                      ","params":[{"identifier":"music","optional":true,"default":"false","description":"

                      pause current music track on screen pause

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"dG-LSW0FCVomwBiARjS7V","name":"restart","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      Restart the current stage from a full stop.

                      ","params":[{"identifier":"music","optional":true,"default":"false","description":"

                      resume current music track on screen resume

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"X33bccRcibr_LXeNnBt8M","name":"resume","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      resume the current stage

                      ","params":[{"identifier":"music","optional":true,"default":"false","description":"

                      resume current music track on screen resume

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Zz2zsnt5L4SEied6kPgg5","name":"set","brief":"","access":"public","examples":[{"caption":"","code":" class MenuButton extends me.GUI_Object {\n onClick() {\n // Change to the PLAY state when the button is clicked\n me.state.change(me.state.PLAY);\n return true;\n }\n };\n\n class MenuScreen extends me.Stage {\n onResetEvent() {\n // Load background image\n me.game.world.addChild(\n new me.ImageLayer(0, 0, {\n image : \"bg\",\n z: 0 // z-index\n }\n );\n\n // Add a button\n me.game.world.addChild(\n new MenuButton(350, 200, { \"image\" : \"start\" }),\n 1 // z-index\n );\n\n // Play music\n me.audio.playTrack(\"menu\");\n }\n\n onDestroyEvent() {\n // Stop music\n me.audio.stopTrack();\n }\n };\n\n me.state.set(me.state.MENU, new MenuScreen());"}],"scope":"instance","type":"MethodDoc","description":"

                      associate the specified state with a Stage

                      ","params":[{"identifier":"state","optional":false,"description":"

                      State ID (see constants)

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"stage","optional":false,"description":"

                      Instantiated Stage to associate with state ID

                      ","dataType":{"tokens":[{"value":"Stage","kind":"canonical"},{"value":"Stage","kind":"link"}],"template":"%1"}},{"identifier":"start ","optional":true,"default":" false","description":"

                      if true the state will be changed immediately after adding it.

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"B3GoE9Ba4TbE-0X7tiGMH","name":"set","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      returns the stage associated with the specified state\n(or the current one if none is specified)

                      ","params":[{"identifier":"state","optional":true,"description":"

                      State ID (see constants)

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Stage","kind":"canonical"},{"value":"Stage","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E-CxmpSqhB5GizYRTGUxQ","name":"setTransition","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      enable/disable the transition to a particular state (by default enabled for all)

                      ","params":[{"identifier":"state","optional":false,"description":"

                      State ID (see constants)

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":false,"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Zec7MbTiGUcEM_RNnD0D8","name":"stop","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      Stop the current stage.

                      ","params":[{"identifier":"pauseTrack","optional":true,"default":"false","description":"

                      pause current track on screen stop.

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"HcMIMZD5ONidD20KLvkry","name":"transition","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                      specify a global transition effect

                      ","params":[{"identifier":"effect","optional":false,"description":"

                      (only "fade" is supported for now)

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"color","optional":false,"description":"

                      a CSS color value

                      ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"duration","optional":true,"default":"1000","description":"

                      expressed in milliseconds

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"S-BY8aDsRsVh8CU78mRBR","name":"timer","brief":"","examples":[{"caption":"","code":"// set a timer to call \"myFunction\" after 1000ms\ntimer.setTimeout(myFunction, 1000);\n// set a timer to call \"myFunction\" after 1000ms (respecting the pause state) and passing param1 and param2\ntimer.setTimeout(myFunction, 1000, true, param1, param2);\n// set a timer to call \"myFunction\" every 1000ms\ntimer.setInterval(myFunction, 1000);\n// set a timer to call \"myFunction\" every 1000ms (respecting the pause state) and passing param1 and param2\ntimer.setInterval(myFunction, 1000, true, param1, param2);"}],"see":["Timer"],"type":"NSDoc","description":"

                      the default global Timer instance

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bgpF6ivAnwEyLzei7-D_c","name":"TMXUtils","brief":"","type":"NSDoc","description":"

                      a collection of utility functions for parsing TMX maps

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"fa-7QdOQJtodkOuQwh8wU","name":"applyTMXProperties","brief":"","type":"FunctionDoc","description":"

                      Apply TMX Properties to the given object

                      ","params":[{"identifier":"obj","optional":false,"description":"

                      object to apply the properties to

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"data","optional":false,"description":"

                      TMX data object

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                      obj

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"3f1bMw1HazPC10-P2Mqie","name":"decode","brief":"","type":"FunctionDoc","description":"

                      Decode a encoded array into a binary array

                      ","params":[{"identifier":"data","optional":false,"description":"

                      data to be decoded

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"encoding","optional":true,"default":"\"none\"","description":"

                      data encoding ("csv", "base64", "xml")

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      Decoded data

                      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"SpradrXjcnUxJSZx_NNp6","name":"decodeBase64AsArray","brief":"","type":"FunctionDoc","description":"

                      Decode a base64 encoded string into a byte array

                      ","params":[{"identifier":"input","optional":false,"description":"

                      Base64 encoded data

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"bytes","optional":true,"default":"1","description":"

                      number of bytes per array entry

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      Decoded data

                      ","dataType":{"tokens":[{"value":"Uint32Array","kind":"canonical"},{"value":"Uint32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ruldfqRzzSmbA4Za64GkW","name":"decodeCSV","brief":"","type":"FunctionDoc","description":"

                      Decode a CSV encoded array into a binary array

                      ","params":[{"identifier":"input-","optional":false,"description":"

                      CSV formatted data (only numbers, everything else will be converted to NaN)

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      Decoded data

                      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"G5Ac0FpiL0vsHA_9RROnX","name":"decompress","brief":"","type":"FunctionDoc","description":"

                      decompress and decode zlib/gzip data

                      ","params":[{"identifier":"input","optional":false,"description":"

                      Base64 encoded and compressed data

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"format","optional":false,"description":"

                      compressed data format ("gzip","zlib", "zstd")

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      Decoded and decompress data

                      ","dataType":{"tokens":[{"value":"Uint32Array","kind":"canonical"},{"value":"Uint32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CH2TqD3demKZ4nrIEIhhW","name":"parse","brief":"","type":"FunctionDoc","description":"

                      Parse a XML TMX object and returns the corresponding javascript object

                      ","params":[{"identifier":"xml","optional":false,"description":"

                      XML TMX object

                      ","dataType":{"tokens":[{"value":"Document","kind":"canonical"},{"value":"Document","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      Javascript object

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"SNvBP-PIiwWMXkJ3pyzSU","name":"setInflateFunction","brief":"","type":"FunctionDoc","description":"

                      set the function used to inflate gzip/zlib data

                      ","params":[{"identifier":"fn","optional":false,"description":"

                      inflate function

                      ","dataType":{"tokens":[{"value":"Func","kind":"canonical"},{"value":"Func","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"xtXzk-aG1TRkbiuA0lJhw","name":"utils","brief":"","defaultValue":"\"\"","type":"NSDoc","description":"

                      a collection of utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"ITNUy7rFuTU1hOj-pzUWF","name":"agent","brief":"","scope":"static","type":"NSDoc","description":"

                      a collection of utility functons to ease porting between different user agents.

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"n0UAqwm1YS38wEfd10xqr","name":"prefixed","brief":"","access":"public","type":"FunctionDoc","description":"

                      Get a vendor-prefixed property

                      ","params":[{"identifier":"name","optional":false,"description":"

                      Property name

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"obj","optional":true,"default":"globalThis","description":"

                      Object or element reference to access

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                      Value of property

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"Rh8_lcJxLbQz3caNOLymh","name":"setPrefixed","brief":"","access":"public","type":"FunctionDoc","description":"

                      Set a vendor-prefixed property

                      ","params":[{"identifier":"name","optional":false,"description":"

                      Property name

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                      Property value

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"obj","optional":true,"default":"globalThis","description":"

                      Object or element reference to access

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                      true if one of the vendor-prefixed property was found

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"gDwo1riJdPadaYuF68xd1","name":"array","brief":"","scope":"static","type":"NSDoc","description":"

                      a collection of array utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"bWGYtIgmPYy4lt6p1flPo","name":"random","brief":"","access":"public","examples":[{"caption":"","code":"// Select a random array element\nlet arr = [ \"foo\", \"bar\", \"baz\" ];\nconsole.log(me.utils.array.random(arr));"}],"type":"FunctionDoc","description":"

                      return a random array element

                      ","params":[{"identifier":"arr","optional":false,"description":"

                      array to pick a element

                      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}}],"returns":[{"description":"

                      random member of array

                      ","dataType":{"tokens":[{"value":"any","kind":"canonical"}],"template":"any"}}],"extends":[],"implements":[]},{"id":"lsjmBbaLrjcob6iAKICd-","name":"remove","brief":"","access":"public","type":"FunctionDoc","description":"

                      Remove the specified object from the given Array

                      ","params":[{"identifier":"arr","optional":false,"description":"

                      array from which to remove an object

                      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}},{"identifier":"obj","optional":false,"description":"

                      to be removed

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                      the modified Array\nlet arr = [ "foo", "bar", "baz" ];\n// remove "foo" from the arr...","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}}],"extends":[],"implements":[]},{"id":"ZB0acelZcpoDMnoSH6ClF","name":"weightedRandom","brief":"","access":"public","type":"FunctionDoc","description":"

                      return a weighted random array element, favoring the earlier entries

                      ","params":[{"identifier":"arr","optional":false,"description":"

                      array to pick a element

                      ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2 | string | Object>"}}],"returns":[{"description":"

                      random member of array

                      ","dataType":{"tokens":[{"value":"any","kind":"canonical"}],"template":"any"}}],"extends":[],"implements":[]}]},{"id":"kvvYTAhM2XP1MWz756Vv9","name":"file","brief":"","defaultValue":"undefined","readonly":true,"scope":"static","type":"NSDoc","description":"

                      a collection of file utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"phO9y4DB4q76Ll5wWbCT1","name":"getBasename","brief":"","access":"public","type":"FunctionDoc","description":"

                      return the base name of the file without path info

                      ","params":[{"identifier":"path","optional":false,"description":"

                      path containing the basename to extract

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      the base name without path information.

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"n0zQO90ZimgMYp0UnrwhD","name":"getExtension","brief":"","access":"public","type":"FunctionDoc","description":"

                      return the extension of the file in the given path

                      ","params":[{"identifier":"path","optional":false,"description":"

                      path containing the filename and extension to extract

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      filename extension.

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"_Xc1iPaCPHWfccvIex3Pi","name":"getPath","brief":"","access":"public","type":"FunctionDoc","description":"

                      return the path of the file

                      ","params":[{"identifier":"path","optional":false,"description":"

                      the copmplete file path to extract the path from

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      the extracted path

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"KVguXovspQ9ugZ-v6EyiD","name":"function","brief":"","scope":"static","type":"NSDoc","description":"

                      a collection of utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"jqbWK3hjtonjwz6MLuEa6","name":"defer","brief":"","access":"public","examples":[{"caption":"","code":"// execute myFunc() when the stack is empty,\n// with the current context and [1, 2, 3] as parameter\nme.utils.function.defer(myFunc, this, 1, 2, 3);"}],"type":"FunctionDoc","description":"

                      Executes a function as soon as the interpreter is idle (stack empty).

                      ","params":[{"identifier":"func","optional":false,"description":"

                      The function to be deferred.

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":false,"description":"

                      The value to be passed as the this parameter to the target function when the deferred function is called

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"args","optional":false,"variadic":true,"description":"

                      Optional additional arguments to carry for the function.

                      ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

                      id that can be used to clear the deferred function using\nclearTimeout

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1VsDuoGm15IdFji-LBVXE","name":"throttle","brief":"","access":"public","type":"FunctionDoc","description":"

                      returns a function that, when invoked will only be triggered at most once during a given window of time

                      ","params":[{"identifier":"fn","optional":false,"description":"

                      the function to be throttled.

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"delay","optional":false,"description":"

                      The delay in ms

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"no_trailing","optional":false,"description":"

                      disable the execution on the trailing edge

                      ","dataType":{"tokens":[{"value":"no_trailing","kind":"canonical"},{"value":"no_trailing","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                      the function that will be throttled

                      ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"extends":[],"implements":[]}]},{"id":"WjlkSt4PyfFz_TESVGEZS","name":"string","brief":"","scope":"static","type":"NSDoc","description":"

                      a collection of string utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"AvFFPvmzHCZEuTCQ6v_6a","name":"capitalize","brief":"","access":"public","type":"FunctionDoc","description":"

                      converts the first character of the given string to uppercase

                      ","params":[{"identifier":"str","optional":false,"description":"

                      the string to be capitalized

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      the capitalized string

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"hp3cpHxJ1eJimE03Qn0cC","name":"isBoolean","brief":"","access":"public","type":"FunctionDoc","description":"

                      returns true if the given string contains a true or false

                      ","params":[{"identifier":"str","optional":false,"description":"

                      the string to be tested

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      true if the string is either true or false

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"x1b0fWO1nTAvg50T4HJ14","name":"isDataUrl","brief":"","access":"public","type":"FunctionDoc","description":"

                      returns true if the given string is a data url in the data:[<mediatype>][;base64],<data> format.\n...","params":[{"identifier":"str","optional":false,"description":"

                      the string (url) to be tested

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      true if the string is a data url

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Pw5nXb3wMFE1eGQZQY-0N","name":"isNumeric","brief":"","access":"public","type":"FunctionDoc","description":"

                      returns true if the given string contains a numeric integer or float value

                      ","params":[{"identifier":"str","optional":false,"description":"

                      the string to be tested

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      true if string contains only digits

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"n5q-dndbn5P_d8bp0a2PE","name":"toHex","brief":"","access":"public","type":"FunctionDoc","description":"

                      convert a string to the corresponding hexadecimal value

                      ","params":[{"identifier":"str","optional":false,"description":"

                      the string to be converted

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      the converted hexadecimal value

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"6CtiC37dPYlLLmxVtprV4","name":"checkVersion","brief":"","access":"public","examples":[{"caption":"","code":"if (me.utils.checkVersion(\"7.0.0\") > 0) {\n console.error(\n \"melonJS is too old. Expected: 7.0.0, Got: 6.3.0\"\n );\n}"}],"type":"FunctionDoc","description":"

                      Compare two version strings

                      ","params":[{"identifier":"v1","optional":false,"description":"

                      First version string to compare

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"v2","optional":false,"description":"

                      second version string to compare

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BB31X4dVPwkXoHdYvQlFG","name":"getUriFragment","brief":"","access":"public","examples":[{"caption":"","code":"// http://www.example.com/index.html#debug&hitbox=true&mytag=value\nlet UriFragment = me.utils.getUriFragment();\nconsole.log(UriFragment[\"mytag\"]); //> \"value\""}],"type":"FunctionDoc","description":"

                      parse the fragment (hash) from a URL and returns them into

                      ","params":[{"identifier":"url","optional":true,"default":"document.location","description":"

                      an optional params string or URL containing fragment (hash) params to be parsed

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                      an object representing the deserialized params string.

                      ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[],"members":[{"id":"Q_tM3ZkGJ1FtH3zyvnc8J","name":"debug","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      display the debug panel (if preloaded)

                      "},{"id":"WPFWT7IePXCVj9vZ9BXlO","name":"debugToggleKey","brief":"","access":"public","defaultValue":"\"s\"","scope":"static","type":"PropertyDoc","description":"

                      show/hide the debug panel (if preloaded)

                      "},{"id":"wFPxIFsVXQDuVgkYd2xdv","name":"hitbox","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      draw the hitbox in the debug panel (if enabled)

                      "},{"id":"BhygOP2o7wrYRy6c65Ydg","name":"quadtree","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      draw the quadtree in the debug panel (if enabled)

                      "},{"id":"tOCpfkXVzcYCGg0H6kKnz","name":"velocity","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      draw the entities velocity in the debug panel (if enabled)

                      "},{"id":"X3gktlXiHowyDyKivqdxy","name":"webgl","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      force the renderer to WebGL

                      "}]}]},{"id":"Wd96BqSoO4UxKN87a3BFR","name":"video","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Ab3XsLaxBIj5wVVlyotdi","name":"renderer","brief":"","defaultValue":"undefined","type":"PropertyDoc","description":"

                      A reference to the active Canvas or WebGL active renderer renderer

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fd6yTXWrhMC_7cZHP9hkT","name":"createCanvas","brief":"","type":"FunctionDoc","description":"

                      Create and return a new Canvas element

                      ","params":[{"identifier":"width","optional":false,"description":"

                      width

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                      height

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"returnOffscreenCanvas","optional":true,"default":"false","description":"

                      will return an OffscreenCanvas if supported

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                      a new Canvas element of the given size

                      ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"6OVVk31UV2x6odA7V-kKu","name":"getParent","brief":"","type":"FunctionDoc","description":"

                      return a reference to the parent DOM element holding the main canvas

                      ","params":[],"returns":[{"description":"

                      the HTML parent element

                      ","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sGA7y0v-jy0b2ZfHEX2yB","name":"init","brief":"","examples":[{"caption":"","code":"// init the video with a 640x480 canvas\nme.video.init(640, 480, {\n parent : \"screen\",\n renderer : me.video.AUTO,\n scale : \"auto\",\n scaleMethod : \"fit\"\n});"}],"type":"FunctionDoc","description":"

                      Initialize the "video" system (create a canvas based on the given arguments, and the related renderer).

                      ","params":[{"identifier":"width","optional":false,"description":"

                      The width of the canvas viewport

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                      The height of the canvas viewport

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options","optional":true,"description":"

                      optional parameters for the renderer

                      ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                      false if initialization failed (canvas not supported)

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"YU6wGf0KiCOJRkNM8Uzmf","name":"Application","brief":"","see":["game"],"type":"ClassDoc","description":"

                      An Application represents a single melonJS game, and is responsible for updating (each frame) all the related object statu...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"mKq_zGLWpJieuUT27_joL","name":"Settings","brief":"","see":["Application"],"type":"TypedefDoc","description":"

                      Application & Renderer Settings definition.

                      ","params":[{"identifier":"options.zoomX","optional":true,"default":"width","description":"

                      The actual width of the canvas with scaling applied

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.zoomY","optional":true,"default":"height","description":"

                      The actual height of the canvas with scaling applied

                      ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.compositor","optional":true,"description":"

                      a custom compositor class (WebGL only)

                      ","dataType":{"tokens":[{"value":"Compositor","kind":"canonical"},{"value":"Compositor","kind":"link"}],"template":"%1"}},{"identifier":"option.physic","optional":true,"default":"\"builtin\"","description":"

                      the physic system to use (default: "builtin", or "none" to disable builtin physic)

                      ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[],"members":[{"id":"iniot9bACLpRDbSuh3oAx","name":"antiAlias","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      whether to enable or not video scaling interpolation

                      "},{"id":"2WhV1RnAH9GFPzymw98gr","name":"canvas","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      an existing canvas element to use as the renderer target (by default melonJS will create its own canvas based on given par..."},{"id":"JD8tk36Am5fvCFLwNS5MH","name":"consoleHeader","brief":"","access":"public","defaultValue":"true","scope":"static","type":"PropertyDoc","description":"

                      whether to display melonJS version and basic device information in the console

                      "},{"id":"sH3BW0zMNmbNBNzXBiN7i","name":"depthTest","brief":"","access":"public","defaultValue":"\"sorting\"","scope":"static","type":"PropertyDoc","description":"

                      ~Experimental~ the default method to sort object on the z axis in WebGL

                      "},{"id":"XVyVYa8Ljd3v9RhAcgxmn","name":"parent","brief":"","access":"public","defaultValue":"document.body","scope":"static","type":"PropertyDoc","description":"

                      the DOM parent element to hold the canvas in the HTML file

                      "},{"id":"3acmCWR11HIAWJe1pCOXW","name":"powerPreference","brief":"","access":"public","defaultValue":"\"default\"","scope":"static","type":"PropertyDoc","description":"

                      a hint to the user agent indicating what configuration of GPU is suitable for the WebGL context. To be noted that Safari a..."},{"id":"sGIa6VUgcd9D1zuqFaxkL","name":"preferWebGL1","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      if true the renderer will only use WebGL 1

                      "},{"id":"EuXfK5peEY3C18L9LfJve","name":"renderer","brief":"","access":"public","defaultValue":"AUTO","scope":"static","type":"PropertyDoc","description":"

                      renderer to use (CANVAS, WEBGL, AUTO), or a custom renderer class

                      "},{"id":"wn3PoONTydGwqo2wEkUmo","name":"scale","brief":"","access":"public","defaultValue":"1.0","scope":"static","type":"PropertyDoc","description":"

                      enable scaling of the canvas ('auto' for automatic scaling)

                      "},{"id":"Hky9n72MPFNfKHfwI8C-c","name":"scaleMethod","brief":"","access":"public","defaultValue":"\"fit\"","scope":"static","type":"PropertyDoc","description":"

                      screen scaling modes :

                      \n
                        \n
                      • fit : Letterboxed; content is scaled to design aspect ..."},{"id":"ZodndXalAUM-c9FGfvkjI","name":"scaleTarget","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                        the HTML Element to be used as the reference target when using automatic scaling (by default melonJS will use the parent c..."},{"id":"7togCYnQxd7qIBrrgSMmZ","name":"transparent","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                        whether to allow transparent pixels in the front buffer (screen).

                        "}]},{"id":"bGzmb98YewlOf49_EGx5K","name":"isInitialized","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        true when this app instance has been initialized

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_IKnnqBqm8tssWXu7b7gG","name":"lastUpdate","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                        Last time the game update loop was executed.
                        \nUse this value to implement frame prediction in drawing events,\nfor crea...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qxZ2HQzqn3Nf4wHWUaTxx","name":"mergeGroup","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        when true, all objects will be added under the root world container.
                        \nWhen false, a me.Container object wi...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uMPSKFChJjtOhAgISfbQK","name":"parentElement","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the parent HTML element holding the main canvas of this application

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wwr7ugG5F32aZrgVNo8ro","name":"pauseOnBlur","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// keep the default game instance running even when loosing focus\nme.game.pauseOnBlur = false;"}],"scope":"instance","type":"PropertyDoc","description":"

                        Specify whether to pause this app when losing focus

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tlJjL-ab6vkq-xC7Ib5ix","name":"renderer","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        a reference to the active Canvas or WebGL active renderer renderer

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tjl2Ya1QuWWp5bUy7Yqj8","name":"resumeOnFocus","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        Specify whether to unpause this app when gaining back focus

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o_IlD2yUtSvxt3tVOA0w4","name":"settings","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the given settings used when creating this application

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_gTQOBMM4jSUUD1SoZkw2","name":"sortOn","brief":"","scope":"instance","see":["World.sortOn"],"type":"PropertyDoc","description":"

                        Specify the property to be used when sorting renderables for this application game world.\nAccepted values : "x",...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vsNm5R-QKnC1sQ8aRkupb","name":"stopOnBlur","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Specify whether to stop this app when losing focus

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZCzEnAeBgqykQ4tMPXYE9","name":"viewport","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the active stage "default" camera

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BRxuNNcnYcp9rGRzE-GI7","name":"world","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        a reference to the game world,
                        \na world is a virtual environment containing all the game objects

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_GKHEWQ9AYiaz-u3Aae4R","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"width","optional":false,"description":"

                        The width of the canvas viewport

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                        The height of the canvas viewport

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options","optional":true,"description":"

                        The optional parameters for the application and default renderer

                        ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"7awSAN__a_V3z-W7UkzhL","name":"draw","brief":"

                        draw the active scene/stage associated to this game

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6_DiCSKa-Vc7tyV6CI079","name":"getParentElement","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns the parent HTML Element holding the main canvas of this application

                        ","params":[],"returns":[{"description":"

                        the parent HTML element

                        ","dataType":{"tokens":[{"value":"HTMLElement","kind":"canonical"},{"value":"HTMLElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9u88vfBDyfCqWOFvtdS7x","name":"init","brief":"","scope":"instance","type":"MethodDoc","description":"

                        init the game instance (create a physic world, update starting time, etc..)

                        ","params":[{"identifier":"width","optional":false,"description":"

                        The width of the canvas viewport

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                        The height of the canvas viewport

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options","optional":true,"description":"

                        The optional parameters for the application and default renderer

                        ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rbOdtk3JiwQ4LIx9O5cCo","name":"onLevelLoaded","brief":"","examples":[{"caption":"","code":"// call myFunction () everytime a level is loaded\nme.game.onLevelLoaded = this.myFunction.bind(this);"}],"scope":"instance","type":"MethodDoc","description":"

                        Fired when a level is fully loaded and all renderable instantiated.
                        \nAdditionnaly the level id will also be passed to ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j75d5AnHHOJCZrEuRIV7U","name":"repaint","brief":"

                        force the redraw (not update) of all objects

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XzRwDztunXvO2zTnjvlvB","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

                        reset the game Object manager\ndestroy all current objects

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vHLaZdV_UbuMpmVhl-8fs","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                        update all objects related to this game active scene/stage

                        ","params":[{"identifier":"time","optional":false,"description":"

                        current timestamp as provided by the RAF callback

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"IZLQ63e4-LIyRgOgipVQc","name":"updateFrameRate","brief":"","scope":"instance","see":["timer.maxfps","World.fps"],"type":"MethodDoc","description":"

                        Update the renderer framerate using the system config variables.

                        ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"AeVK7WXHaQXBOOBd46jZ6","name":"BitmapText","brief":"","type":"ClassDoc","description":"

                        a bitmap font object

                        ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"bhlHS7gDI7O5XPr65obDp","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                        Define the renderable opacity
                        \nSet to zero if you do not wish an object to be drawn

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HOQml158KrwAsqH2Hv01d","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Whether the renderable object will always update, even when outside of the viewport

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3289sg3UxSo1KSl8RxhM1","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                        a reference to the parent object that contains this renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GPPxY3Ya2dmBjmC2XMOU8","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                        The anchor point is used for attachment behavior, and/or when applying transformations.
                        \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mVPA2dmZX9xm3cwYCKG-I","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                        When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EfL-s_spyy6hFd6rt31IZ","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                        the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f-IQLsJiwysj_8vnECOP8","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                        the renderable physic body

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XG5PUIgJZh0H1Vk0M88Jd","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        bottom coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o4dsOpzDtorxnqXgc_Fzj","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the horizontal axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f81d8Ypa9HwB1unn33tf9","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the vertical axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gKuGg354MYa1tbT7aCT0n","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the renderable default transformation matrix

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QGryzhUB-dMG-7dh0kMk5","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the depth of this renderable on the z axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I82ReRzf_0P9srTg5i5eJ","name":"fillStyle","brief":"","access":"public","scope":"instance","see":["Renderable#tint"],"type":"PropertyDoc","description":"

                        defines the color used to tint the bitmap text

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c51yuE2fUHHJ1etXVMTFm","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-LI7eWiF7Sg5iaMP9SCcS","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        (G)ame (U)nique (Id)entifier"
                        \na GUID will be allocated for any renderable object added
                        \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YvJHZbtceDfAQ66Y6roUH","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        height of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UIr9J3J9Mlkn8PlPBTSG5","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Whether the renderable object is visible and within the viewport

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8b9_EtbU71f-9phAT-rdn","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        when true the renderable will be redrawn during the next update cycle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vYIegsq9fhXnSPJcjSCgo","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                        returns true if this renderable is flipped on the horizontal axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JVFrFola-uW-tVqBCu_JN","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                        returns true if this renderable is flipped on the vertical axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4mxHoL7muVxPaziOMNS8m","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                        Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8GL_CQJs7u32aBdNQkQpf","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        If true then physic collision and input events will not impact this renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"06JIzhjOuyKCHlfvMS4CN","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        make the renderable object persistent over level changes

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jndg2zN2mOeINr8GCk4ky","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        left coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T14Mu3SQUy6fIbRRN-rxt","name":"lineHeight","brief":"","access":"public","defaultValue":"1.0","scope":"instance","type":"PropertyDoc","description":"

                        Set the line spacing height (when displaying multi-line strings).
                        \nCurrent font height will be multiplied with this va...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5ElvxzV3J5FJ7wv3PG5LF","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                        A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m3aJL1dl4bAXBvGSe7oGO","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                        The name of the renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gePzxI3V-WHXsGBgxJCm-","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                        an event handler that is called when the renderable leave or enter a camera viewport

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A1bSEYZpoFg4UG5cA27Wd","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        returns the parent application (or game) to which this renderable is attached to

                        ","params":[],"returns":[{"description":"

                        the parent application or undefined if not attached to any container/app

                        ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AwcfsOpYK5v0cONwuPYUj","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        Array of points defining the Polygon
                        \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0Sx5lKaRCUhxCfFxSrdwV","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        Position of the Renderable relative to its parent container

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OYwLASDteBqO8IIF9aWHx","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        right coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WFg3IIEbu6LWEBEbAUMMi","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                        (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XVkAw4MhE-fxxrY27dtMu","name":"textAlign","brief":"","access":"public","defaultValue":"\"left\"","scope":"instance","type":"PropertyDoc","description":"

                        Set the default text alignment (or justification),
                        \npossible values are "left", "right", and "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RhZ3edjM5_iECsyw7X9ld","name":"textBaseline","brief":"","access":"public","defaultValue":"\"top\"","scope":"instance","type":"PropertyDoc","description":"

                        Set the text baseline (e.g. the Y-coordinate for the draw operation),
                        \npossible values are "top", "hang...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mI8JWQAuRbTCnjaUESNFM","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                        define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FI_V3xmsm2AV8a5B3hp8J","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        top coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"maudYKhJPrF6UrkhUGCKL","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                        the shape type (used internally)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lmLPImLKqUoXm3fqCwUZX","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Whether to update this object when the game is paused.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M1L3aTESCF8SlvBq8nCTm","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lUZqzOznojzT_mEtg4yWd","name":"wordWrapWidth","brief":"","access":"public","defaultValue":"-1","scope":"instance","type":"PropertyDoc","description":"

                        the maximum length in CSS pixel for a single segment of text.\n(use -1 to disable word wrapping)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rCKLbRx5mq5xVz9Kl6Nho","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        the text to be displayed

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D-2COiB51uqMK1gKmOMsP","name":"fontData","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        font data

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W2GlzQ3BB-ywfpcz_FvJ5","name":"fontImage","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        font image

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r6ObMc9ZGaKImTljMPwvV","name":"fontScale","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        scaled font size

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pJdYcO69fee1Xg0MD4Dwa","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the angle to the specified target

                        ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                        angle in radians

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rnwTtCs12Q5svDXRurnKL","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                        center the rectangle position around the given coordinates

                        ","params":[{"identifier":"x","optional":false,"description":"

                        the x coordinate around which to center this rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        the y coordinate around which to center this rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        this rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gO1T8I7A1nmK2IjofCpDc","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                        clone this rectangle

                        ","params":[],"returns":[{"description":"

                        new rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DDF8Ph1e2fQU93np9uS2l","name":"constructor","brief":"","examples":[{"caption":"","code":"// Use me.loader.preload or me.loader.load to load assets\nme.loader.preload([\n { name: \"arial\", type: \"binary\" src: \"data/font/arial.fnt\" },\n { name: \"arial\", type: \"image\" src: \"data/font/arial.png\" },\n])\n// Then create an instance of your bitmap font:\nlet myFont = new me.BitmapText(x, y, {font:\"arial\", text:\"Hello\"});\n// two possibilities for using \"myFont\"\n// either call the draw function from your Renderable draw function\nmyFont.draw(renderer, \"Hello!\", 0, 0);\n// or just add it to the word container\nme.game.world.addChild(myFont);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                        position of the text object

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        position of the text object

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                        the text configuration

                        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.font","description":"

                        a font name to identify the corresponing source image

                        ","dataType":{"tokens":[{"value":"string | Image","kind":"canonical"},{"value":"Image","kind":"canonical"}],"template":"string | %1"}},{"identifier":"settings.fontData","optional":true,"default":"settings.font","description":"

                        the bitmap font data corresponding name, or the bitmap font data itself

                        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.size","optional":true,"description":"

                        size a scaling ratio

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.fillStyle","optional":true,"description":"

                        a CSS color value used to tint the bitmapText (@see BitmapText.tint)

                        ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"settings.lineWidth","optional":true,"default":"1","description":"

                        line width, in pixels, when drawing stroke

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.textAlign","optional":true,"default":"\"left\"","description":"

                        horizontal text alignment

                        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textBaseline","optional":true,"default":"\"top\"","description":"

                        the text baseline

                        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.lineHeight","optional":true,"default":"1.0","description":"

                        line spacing height

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.0, y:0.0}","description":"

                        anchor point to draw the text at

                        ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"settings.wordWrapWidth","optional":true,"description":"

                        the maximum length in CSS pixel for a single segment of text

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.text","optional":true,"description":"

                        a string, or an array of strings

                        ","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}}],"returns":[],"extends":[],"implements":[]},{"id":"pjSaibRAcFqmK60WuQpd8","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                        Returns true if the rectangle contains the given point or rectangle

                        ","params":[{"identifier":"x","description":"

                        x coordinate or a vector point, or a rectangle to test

                        ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                        y coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        True if the rectangle contain the given point or rectangle, otherwise false

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iiltaBgvIfVgMBUGVtr4D","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                        copy the position and size of the given rectangle into this one

                        ","params":[{"identifier":"rect","optional":false,"description":"

                        Source rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        new rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YOsUewSfciPHMxBLu2RLQ","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the distance to the specified target

                        ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                        distance

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Hhb5rE6s7yNfJ9bNEkDYh","name":"draw","brief":"","scope":"instance","type":"MethodDoc","description":"

                        draw the bitmap font

                        ","params":[{"identifier":"renderer","optional":false,"description":"

                        Reference to the destination renderer instance

                        ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":true,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"UHF82vwdoKJ7qzWSADHCp","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                        check if this rectangle is identical to the specified one

                        ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        true if equals

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"LVEj4jkXlANEAMz9LH8wQ","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                        flip the renderable on the horizontal axis (around the center of the renderable)

                        ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                        true to flip this renderable.

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8YH4gPTDm-u28A1waFexD","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                        flip the renderable on the vertical axis (around the center of the renderable)

                        ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                        true to flip this renderable.

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Pph-2imKpJGfVStk8xpeg","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the renderable absolute position in the game world

                        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"81iR13ysbc425P-0MtUhm","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                        returns the bounding box for this renderable

                        ","params":[],"returns":[{"description":"

                        bounding box Rectangle object

                        ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mPB0WxR9NrofZDFgDJ1W3","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                        returns a list of indices for all triangles defined in this polygon

                        ","params":[],"returns":[{"description":"

                        an array of vertex indices for all triangles forming this polygon.

                        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"AIkbcs2Jen7wssfAh6REX","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                        get the renderable alpha channel value

                        ","params":[],"returns":[{"description":"

                        current opacity value between 0 and 1

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bl2MWpCW-H_-KOABcl-J6","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                        ","params":[],"returns":[{"description":"

                        true if the vertices are convex, false if not, null if not computable

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"AjG14vimawoLusOtKGmSt","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                        determines whether all coordinates of this rectangle are finite numbers.

                        ","params":[],"returns":[{"description":"

                        false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HvQjTZRxRoGJ476W0sLuT","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Rotate this renderable towards the given target.

                        ","params":[{"identifier":"target","optional":false,"description":"

                        the renderable or position to look at

                        ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M2L6LUrX2MDpEBXnhaGtx","name":"measureText","brief":"","scope":"instance","type":"MethodDoc","description":"

                        measure the given text size in pixels

                        ","params":[{"identifier":"text","optional":true,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                        a TextMetrics object with two properties: width and height, defining the output dimensions

                        ","dataType":{"tokens":[{"value":"TextMetrics","kind":"canonical"},{"value":"TextMetrics","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MAVWpjST2yX7O7zlHfJ92","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                        onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                        ","params":[{"identifier":"response","optional":false,"description":"

                        the collision response object

                        ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                        the other renderable touching this one (a reference to response.a or response.b)

                        ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                        true if the object should respond to the collision (its position and velocity will be corrected)

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ECyHdkrFtEcnJMrYhHc1K","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                        OnDestroy Notification function
                        \nCalled by engine before deleting the object

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L20OpBE2LNQPPrph13WcY","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                        check if this rectangle is intersecting with the specified one

                        ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        true if overlaps

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zAw34bNJtSuKV3aZ0qHhq","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                        restore the rendering context after drawing (automatically called by melonJS).

                        ","params":[{"identifier":"renderer","optional":false,"description":"

                        a renderer object

                        ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"swIfHceWt14gyhouAb_wb","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                        Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                        a renderer object

                        ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"ldCyoSmd5cgK5kTzD600m","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"V9RU4SCb-V_252ooDnqWG","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                        change the font display size

                        ","params":[{"identifier":"scale","optional":false,"description":"

                        ratio

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        this object for chaining

                        ","dataType":{"tokens":[{"value":"BitmapText","kind":"canonical"},{"value":"BitmapText","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rbNxH5G5h0df8xe52vR0o","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Rotate this renderable by the specified angle (in radians).

                        ","params":[{"identifier":"angle","optional":false,"description":"

                        The angle to rotate (in radians)

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                        an optional point to rotate around

                        ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0QJjOfDR1543AZ-dFGmdG","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                        scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                        a number representing the abscissa of the scaling vector.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                        a number representing the ordinate of the scaling vector.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fwF8OO91cgAU6MJSc-kcb","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                        scale the renderable around his anchor point

                        ","params":[{"identifier":"v","optional":false,"description":"

                        scaling vector

                        ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GQvoGsIShPU8k8fE_uMJw","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

                        change the font settings

                        ","params":[{"identifier":"textAlign","optional":false,"description":"

                        ("left", "center", "right")

                        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"scale","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        this object for chaining

                        ","dataType":{"tokens":[{"value":"BitmapText","kind":"canonical"},{"value":"BitmapText","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X-IGXdKudUZtvK22BpLaB","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the renderable alpha channel value

                        ","params":[{"identifier":"alpha","optional":false,"description":"

                        opacity value between 0.0 and 1.0

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"x_B3ci9dMbl8Mkv0GgacR","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set new value to the rectangle shape

                        ","params":[{"identifier":"x","optional":false,"description":"

                        position of the Rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        position of the Rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                        width of the rectangle, or an array of vector defining the rectangle

                        ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                        height of the rectangle, if a numeral width parameter is specified

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        this rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pfDBj92utIUvaUtoB_FI0","name":"setText","brief":"","scope":"instance","type":"MethodDoc","description":"

                        change the text to be displayed

                        ","params":[{"identifier":"value","optional":false,"default":"\"\"","description":"

                        a string, or an array of strings

                        ","dataType":{"tokens":[{"value":"number | string | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1 | string | %2"}}],"returns":[{"description":"

                        this object for chaining

                        ","dataType":{"tokens":[{"value":"BitmapText","kind":"canonical"},{"value":"BitmapText","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mpVwFcHI1Vp6ykhcf-dpj","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the vertices defining this Polygon

                        ","params":[{"identifier":"vertices","optional":false,"description":"

                        array of vector or vertice defining the Polygon

                        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                        this instance for objecf chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RfGK7axkYbcVciJ0XC7dG","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                        Shifts the Polygon to the given position vector.

                        ","params":[{"identifier":"x","description":"

                        x coordinate or a vector point to shift to

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"GZZepaMyJdMnjDToUdSnI","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                        apply a 2d projection to this shapen

                        ","params":[],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ySW0ELBVzmmVOzJTKyiOl","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                        apply an isometric projection to this shape

                        ","params":[],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jn-vLp423fAV0jTRgXyxW","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns a polygon whose edges are the same as this box.

                        ","params":[],"returns":[{"description":"

                        a new Polygon that represents this rectangle.

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"K9vRSOyJEuoy0T6yTmY9R","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                        multiply the renderable currentTransform with the given matrix

                        ","params":[{"identifier":"m","optional":false,"description":"

                        the transformation matrix

                        ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ESiSXj8j3XVAZb8nKD4PR","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                        translate the Polygon by the specified offset

                        ","params":[{"identifier":"x","description":"

                        x offset or a vector point to translate by

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                        y offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xkkIQELM5MG6s7HQC2dHj","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                        merge this rectangle with another one

                        ","params":[{"identifier":"rect","optional":false,"description":"

                        other rectangle to union with

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        the union(ed) rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gogf7Of_uebHfT4AwmwOr","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                        update function (automatically called by melonJS).

                        ","params":[{"identifier":"dt","optional":false,"description":"

                        time since the last update in milliseconds.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        true if the renderable is dirty

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hxNgLJMG26U6wAAu0C7yl","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                        update the bounding box for this Bitmap Text.

                        ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                        update the bounds size and position in (world) absolute coordinates

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                        this Bitmap Text bounding box Rectangle object

                        ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uUKyVmTx2LXT8cfQ-VAlF","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                        called when the anchor point value is changed

                        ","params":[{"identifier":"x","optional":false,"description":"

                        the new X value to be set for the anchor

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        the new Y value to be set for the anchor

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"WR2UqyH48wD81Ngj75S3T","name":"Body","brief":"","see":["Renderable.body"],"type":"ClassDoc","description":"

                        a Generic Physic Body Object with some physic properties and behavior functionality, to add as a member of a Renderable.

                        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"D5viemEDEsLjNtlbI3fdh","name":"ancestor","brief":"","access":"public","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                        a reference to the parent object that contains this body,\nor undefined if it has not been added to one.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tLn_eUnonSkWqofDZFw-d","name":"bounce","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                        the body bouciness level when colliding with other solid bodies :\na value of 0 will not bounce, a value of 1 will fully re...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yp7E13tgnhGZ68gHbTQ4t","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        The AABB bounds box reprensenting this body

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mxZajTBVEtZXzUXSRv0A1","name":"collisionType","brief":"","access":"public","defaultValue":"collision.types.ENEMY_OBJECT","examples":[{"caption":"","code":"// set the body collision type\nbody.collisionType = me.collision.types.PLAYER_OBJECT;"}],"scope":"instance","see":["collision.types"],"type":"PropertyDoc","description":"

                        define the collision type of the body for collision filtering

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rboXo-mRrTDtqZZPHwq4F","name":"falling","brief":"","access":"public","defaultValue":"false","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

                        falling state of the body
                        \ntrue if the object is falling
                        \nfalse if the object is standing on something

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tf8a08B36wyxH7QgIG1Rv","name":"force","brief":"","access":"public","defaultValue":"<0,0>","examples":[{"caption":"","code":" // define a default maximum acceleration, initial force and friction\n this.body.force.set(1, 0);\n this.body.friction.set(0.4, 0);\n this.body.setMaxVelocity(3, 15);\n\n // apply a postive or negative force when pressing left of right key\n update(dt) {\n if (me.input.isKeyPressed(\"left\")) {\n this.body.force.x = -this.body.maxVel.x;\n } else if (me.input.isKeyPressed(\"right\")) {\n this.body.force.x = this.body.maxVel.x;\n }\n }"}],"scope":"instance","see":["Body.setMaxVelocity"],"type":"PropertyDoc","description":"

                        body force to apply to this the body in the current step.\n(any positive or negative force will be cancelled after every wo...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4_FDBVdi_df8NtmBC2hd0","name":"friction","brief":"","access":"public","defaultValue":"<0,0>","scope":"instance","type":"PropertyDoc","description":"

                        body friction

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YD7yLnfTQTN_MJswewYcf","name":"gravityScale","brief":"","access":"public","defaultValue":"1.0","scope":"instance","see":["World.gravity"],"type":"PropertyDoc","description":"

                        The degree to which this body is affected by the world gravity

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8TA7FRQM85BgQfxmP7O4n","name":"ignoreGravity","brief":"","access":"public","defaultValue":"false","scope":"instance","see":["World.gravity"],"type":"PropertyDoc","description":"

                        If true this body won't be affected by the world gravity

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bnyEk8obbjvdEkJj-fl-j","name":"isStatic","brief":"","access":"public","defaultValue":"false","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

                        Either this body is a static body or not.\nA static body is completely fixed and can never change position or angle.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v9xMgyhnQLa3urxPdFmLe","name":"jumping","brief":"","access":"public","defaultValue":"false","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

                        jumping state of the body
                        \nequal true if the body is jumping

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s-OtUzW8OkjCdtSZKS2Zl","name":"mass","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

                        the body mass

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"agZiZWLYIdUi3EO4MraOe","name":"maxVel","brief":"","access":"public","defaultValue":"<490,490>","scope":"instance","type":"PropertyDoc","description":"

                        max velocity (to limit body velocity)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Adc6ya6xFQQ6adVKidFKp","name":"vel","brief":"","access":"public","defaultValue":"<0,0>","scope":"instance","see":["Body.force"],"type":"PropertyDoc","description":"

                        The current velocity of the body.\nSee to apply a force if you need to modify a body velocity

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U36J_tIOKAGEFf_3ICl06","name":"addShape","brief":"","examples":[{"caption":"","code":"// add a rectangle shape\nthis.body.addShape(new me.Rect(0, 0, image.width, image.height));\n// add a shape from a JSON object\nthis.body.addShape(me.loader.getJSON(\"shapesdef\").banana);"}],"scope":"instance","type":"MethodDoc","description":"

                        add a collision shape to this body
                        \n(note: me.Rect objects will be converted to me.Polygon before being added)

                        ","params":[{"identifier":"shape","optional":false,"description":"

                        a shape or JSON object

                        ","dataType":{"tokens":[{"value":"Rect | Polygon | Line | Ellipse | Point | Array | Bounds | object","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"},{"value":"Point","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6<%7> | %8 | object"}}],"returns":[{"description":"

                        the shape array length

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E-M3G5V0ZdsUDLXjIA5SK","name":"addVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                        add the given vertices to the body shape

                        ","params":[{"identifier":"vertices","optional":false,"description":"

                        an array of me.Vector2d points defining a convex hull

                        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}},{"identifier":"index","optional":true,"default":"0","description":"

                        the shape object for which to set the vertices

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rQ36F50omnXNGGZxT6g7G","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"ancestor","optional":false,"description":"

                        the parent object this body is attached to

                        ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"shapes","optional":true,"description":"

                        a initial shape, list of shapes, or JSON object defining the body

                        ","dataType":{"tokens":[{"value":"Rect | Array | Polygon | Array | Line | Array | Ellipse | Array | Point | Array | Bounds | Array | object","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Ellipse","kind":"link"},{"value":"Point","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"},{"value":"Bounds","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1 | %3<%2> | %4 | %5<%6> | %7 | %8<%9> | %10 | %11<%12> | %13 | %14<%15> | %16 | %17<%18> | object"}},{"identifier":"onBodyUpdate","optional":true,"description":"

                        callback for when the body is updated (e.g. add/remove shapes)

                        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"DXNwgK2FpadMrxDiR5asf","name":"contains","brief":"","examples":[{"caption":"","code":"if (mySprite.body.contains(10, 10)) {\n // do something\n}\n// or\nif (mySprite.body.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                        Returns true if the any of the shape composing the body contains the given point.

                        ","params":[{"identifier":"x","optional":false,"variadic":true,"description":"

                        x coordinate or a vector point to check

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                        y coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        true if contains

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"pFc2YX1lgvccozI8qIrUz","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all shapes of the physic body\nmySprite.body.forEach((shape) => {\n shape.doSomething();\n});\nmySprite.body.forEach((shape, index) => { ... });\nmySprite.body.forEach((shape, index, array) => { ... });\nmySprite.body.forEach((shape, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

                        The forEach() method executes a provided function once per body shape element.
                        \nthe callback function is invoked with ...","params":[{"identifier":"callback","optional":false,"description":"

                        fnction to execute on each element

                        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

                        value to use as this(i.e reference Object) when executing callback.

                        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"fzbqphEZRoVUTs7CcyQx8","name":"fromJSON","brief":"","examples":[{"caption":"","code":"// define the body based on the banana shape\nthis.body.fromJSON(me.loader.getJSON(\"shapesdef\").banana);\n// or ...\nthis.body.fromJSON(me.loader.getJSON(\"shapesdef\"), \"banana\");"}],"scope":"instance","see":["https://www.codeandweb.com/physicseditor"],"type":"MethodDoc","description":"

                        add collision mesh based on a JSON object\n(this will also apply any physic properties defined in the given JSON file)

                        ","params":[{"identifier":"json","optional":false,"description":"

                        a JSON object as exported from a Physics Editor tool

                        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"id","optional":true,"description":"

                        an optional shape identifier within the given the json object

                        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                        how many shapes were added to the body

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4TN5hE9hi4dbKSiGj86QP","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                        returns the AABB bounding box for this body

                        ","params":[],"returns":[{"description":"

                        bounding box Rectangle object

                        ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"waXDLj1KBaOn8JoJ9Wca3","name":"getShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the collision shape at the given index

                        ","params":[{"identifier":"index","optional":true,"default":"0","description":"

                        the shape object at the specified index

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        shape a shape object if defined

                        ","dataType":{"tokens":[{"value":"Polygon | Line | Ellipse","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3"}}],"extends":[],"implements":[]},{"id":"0ZHUONDeF-COP8Ce_-Lrg","name":"removeShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                        remove the specified shape from the body shape list

                        ","params":[{"identifier":"shape","optional":false,"description":"

                        a shape object

                        ","dataType":{"tokens":[{"value":"Polygon | Line | Ellipse","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                        the shape array length

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X4nsWz7MnK8iLLtSUrwwI","name":"removeShapeAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                        remove the shape at the given index from the body shape list

                        ","params":[{"identifier":"index","optional":false,"description":"

                        the shape object at the specified index

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        the shape array length

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jEs-JK7N-ecJscfS5RPJF","name":"respondToCollision","brief":"","scope":"instance","type":"MethodDoc","description":"

                        the built-in function to solve the collision response

                        ","params":[{"identifier":"response","optional":false,"description":"

                        the collision response object (see {@link ResponseObject})

                        ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"4BgZv--GrJMYqHxteQv0I","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Rotate this body (counter-clockwise) by the specified angle (in radians).\nUnless specified the body will be rotated around...","params":[{"identifier":"angle","optional":false,"description":"

                        The angle to rotate (in radians)

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"default":"Body.getBounds().center","description":"

                        an optional point to rotate around

                        ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qsXVYKAFEXW9gHyD5xt04","name":"setCollisionMask","brief":"","examples":[{"caption":"","code":"// filter collision detection with collision shapes, enemies and collectables\nbody.setCollisionMask(me.collision.types.WORLD_SHAPE | me.collision.types.ENEMY_OBJECT | me.collision.types.COLLECTABLE_OBJECT);\n...\n// disable collision detection with all other objects\nbody.setCollisionMask(me.collision.types.NO_OBJECT);"}],"scope":"instance","see":["collision.types"],"type":"MethodDoc","description":"

                        By default all physic bodies are able to collide with all other bodies,
                        \nbut it's also possible to specify 'collision ...","params":[{"identifier":"bitmask ","optional":true,"default":" collision.types.ALL_OBJECT","description":"

                        the collision mask

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Or4iaJOvJ4FBxz1Cbq3XR","name":"setCollisionType","brief":"","examples":[{"caption":"","code":"// set the body collision type\nbody.collisionType = me.collision.types.PLAYER_OBJECT;"}],"scope":"instance","see":["collision.types"],"type":"MethodDoc","description":"

                        define the collision type of the body for collision filtering

                        ","params":[{"identifier":"type","optional":false,"description":"

                        the collision type

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Qu8M-pXYg4UBvA_MaiBqp","name":"setFriction","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the body default friction

                        ","params":[{"identifier":"x","optional":false,"default":"0","description":"

                        horizontal friction

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","description":"

                        vertical friction

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"puVg_DxKEMYRZ3qlG7HHu","name":"setMaxVelocity","brief":"","scope":"instance","type":"MethodDoc","description":"

                        cap the body velocity (body.maxVel property) to the specified value

                        ","params":[{"identifier":"x","optional":false,"description":"

                        max velocity on x axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        max velocity on y axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2ka-JPLGHPjWSA_km8ez3","name":"setStatic","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the body as a static body\nstatic body do not move automatically and do not check againt collision with others

                        ","params":[{"identifier":"isStatic","optional":true,"default":"true","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"JoLH0EbZNbRY3JcC5B9ZA","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the body vertices to the given one

                        ","params":[{"identifier":"vertices","optional":false,"description":"

                        an array of me.Vector2d points defining a convex hull

                        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}},{"identifier":"index","optional":true,"default":"0","description":"

                        the shape object for which to set the vertices

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"true","description":"

                        either to reset the body definition before adding the new vertices

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"aQTu2rtrCPaNyKUSUs8Ur","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                        Updates the parent's position as well as computes the new body's velocity based\non the values of force/friction. Velocity...","params":[{"identifier":"dt","optional":false,"description":"

                        time since the last update in milliseconds.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        true if resulting velocity is different than 0

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"WvDJX3q41Z-hXeYeeIsYS","name":"Bounds","brief":"","type":"ClassDoc","description":"

                        a bound object contains methods for creating and manipulating axis-aligned bounding boxes (AABB).

                        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"aCBSVxWVxCZYwSn0Vf0EI","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        bottom coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KnaRovwyMLn0s2CsHuaVZ","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        return the center position of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fKlyv8DWA4o7kya5E1CvC","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        center position of the bound on the x axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EV0kSjfmcKulIqhPjpnCB","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        center position of the bound on the y axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7InfnrqLyHtAJJkCjgmOI","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MZKA1R38-OuE4gyv1N85E","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        left coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wR-q6eVIIUUy3UiAO0QXo","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        right coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_7lG6I_Ei0Utoa6XjNnHg","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        top coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Cuzys6H9IOYgehVbM7mrt","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

                        the object type (used internally)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t20ZMddRvOk7HUSQhoIAA","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VD69aXFDRcMMO9xWFulx3","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        x position of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r-E7qkocVbPR1Tna2W7rN","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        y position of the bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L1ix4JbJ1C_WDYmvMI8lD","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                        add the given vertices to the bounds definition.

                        ","params":[{"identifier":"vertices","optional":false,"description":"

                        an array of Vector2d or Point

                        ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

                        either to reset the bounds before adding the new vertices

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"q-vgAnUEzZqkm2wXab3k_","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                        add the given bounds to the bounds definition.

                        ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

                        either to reset the bounds before adding the new vertices

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"TWPJ_9i5CnOcPKA0Ov4-w","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                        add the given quad coordinates to this bound definition, multiplied by the given matrix

                        ","params":[{"identifier":"x0","optional":false,"description":"

                        left X coordinates of the quad

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

                        top Y coordinates of the quad

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

                        right X coordinates of the quad

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

                        bottom y coordinates of the quad

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

                        an optional transform to apply to the given frame coordinates

                        ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"irGZGl0-FuY4x5kuFtgjF","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                        add the given point to the bounds definition.

                        ","params":[{"identifier":"point","optional":false,"description":"

                        the vector or point to be added to the bounds

                        ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

                        an optional transform to apply to the given point (if the given point is a Vector2d)

                        ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ayl2rqDyt7ajYSs5RcZ9z","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                        center the bounds position around the given coordinates

                        ","params":[{"identifier":"x","optional":false,"description":"

                        the x coordinate around which to center this bounds

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        the y coordinate around which to center this bounds

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"OC19_u_6PAJsdo5lC9Uj6","name":"clear","brief":"

                        reset the bound

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zOPqNJnmEkx1SgvS70QsB","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                        clone this bounds

                        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0NfUqz8pKtAqcZv2l6XX9","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"vertices","optional":true,"description":"

                        an array of Vector2d or Point

                        ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]},{"id":"VAPbakFU_s16VWO5Xazap","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                        Returns true if the bounds contains the given point.

                        ","params":[{"identifier":"x","description":"

                        x coordinate or a vector point to check

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                        y coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        True if the bounds contain the point, otherwise false

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zq12KvUr0OwqOwN7SKooT","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                        determines whether all coordinates of this bounds are finite numbers.

                        ","params":[],"returns":[{"description":"

                        false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hDIHFaM6ws1-becw7C1np","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns true if the two bounds intersect.

                        ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                        True if the bounds overlap, otherwise false

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"MWFPPsD-0J5NVY4CPVG_z","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

                        sets the bounds to the given min and max value

                        ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"TqmRmCarxisMqpsdtqzKB","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                        Shifts the bounds to the given x, y position.

                        ","params":[{"identifier":"x","description":"

                        x coordinate or a vector point to shift to

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"hD7YHJOwP8zhHtXso7Q_h","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns a polygon whose edges are the same as this bounds.

                        ","params":[],"returns":[{"description":"

                        a new Polygon that represents this bounds.

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dCEQHSrzWmnGQWKaFrypk","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                        Translates the bounds by the given point

                        ","params":[{"identifier":"x","description":"

                        x coordinate or a vector point to translate by

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JnCLwwOgtQPG0s6OM1CuQ","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Updates bounds using the given vertices

                        ","params":[{"identifier":"vertices","optional":false,"description":"

                        an array of Vector2d or Point

                        ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"urNeo5G4iw1OglUUE4kQz","name":"Camera2d","brief":"","type":"ClassDoc","description":"

                        a 2D orthographic camera

                        ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"F5wu1dZZb6-RuCB9MR9po","name":"AXIS","brief":"","readonly":true,"type":"EnumDoc","description":"

                        Axis definition

                        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"FFjX4f_QfhrBU0UYyber_","name":"BOTH","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                        both axis

                        "},{"id":"fJpgkWs-_JcGENuKGVyrO","name":"HORIZONTAL","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                        horizontal axis only

                        "},{"id":"96C1I_lxnHDvH7bn7GlYE","name":"NONE","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                        no axis

                        "},{"id":"FNhfb4tZekZ09vCkg4ge1","name":"VERTICAL","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                        vertical axis only

                        "}]},{"id":"_4UjHFU8Fum5Ay3Bd4vJ8","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                        Define the renderable opacity
                        \nSet to zero if you do not wish an object to be drawn

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7ss0JGRYgn4FrUJo-5jWW","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Whether the renderable object will always update, even when outside of the viewport

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Job4T7dk5tM27g-Ymmr95","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                        a reference to the parent object that contains this renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yxsmm5i-zrwYsaA8zToDB","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                        The anchor point is used for attachment behavior, and/or when applying transformations.
                        \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rxfKyM9wFqlceNhtPdEjV","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                        When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dq-FrO7gFX5lZeM_5G9fD","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                        the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g4y9Ldy5Cgg6CYn1mrErT","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                        the renderable physic body

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTewql1XSbHMRP3qJiuMM","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        bottom coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tXdjoMeoaCMWZLaiPUN6B","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        Camera bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zDkECVl2IAfwL3QZ4oxii","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the horizontal axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4Sv-C97s-M6llduClLD51","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the vertical axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_hNma3JETseifpcldZnD5","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the renderable default transformation matrix

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MULvLEwvx9iSBln5OWwbe","name":"damping","brief":"","access":"public","defaultValue":"1.0","scope":"instance","type":"PropertyDoc","description":"

                        Camera damping for smooth transition [0 .. 1].\n1 being the maximum value and will snap the camera to the target position

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6gxOdUCIRYfDxp0ibEBUh","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the depth of this renderable on the z axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y5aHcqJDdN51zGMSQSYkt","name":"far","brief":"","access":"public","defaultValue":"1000","scope":"instance","type":"PropertyDoc","description":"

                        the furthest point relative to the camera.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0JGz7dPDFEa_Hsb7sKssu","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nVAAgOvfzTL1ofkdclvcZ","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        (G)ame (U)nique (Id)entifier"
                        \na GUID will be allocated for any renderable object added
                        \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zfWdh7HKHS1zufFAgHMlb","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        height of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aiM-F8GLyUX2JzjG7wiWI","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Whether the renderable object is visible and within the viewport

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CgcKUtqo9oUOXPJsvVePS","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        when true the renderable will be redrawn during the next update cycle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dMHr7hEO9hsNICOo6Q-TP","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                        returns true if this renderable is flipped on the horizontal axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DBq0ZJOgfl-9XVoHwrjo3","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                        returns true if this renderable is flipped on the vertical axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jxdX0cLLhOm-G8T0nvHUp","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                        Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pdu51yIdhL3JZ1eq8Iv8R","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        If true then physic collision and input events will not impact this renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Kg7TJ_ZdERRf88oORtllE","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        make the renderable object persistent over level changes

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J7CfykqTrp_hXwcG11kua","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        left coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-eZmC9jpUKnizv5FinWMp","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                        A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LE_KqSoO_arMldjMl8iFh","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                        The name of the renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mYT4ULwX9QCqlSBBG02cE","name":"near","brief":"","access":"public","defaultValue":"-1000","scope":"instance","type":"PropertyDoc","description":"

                        the closest point relative to the camera

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pGJKX4v9Mkk197o_8Pue0","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                        an event handler that is called when the renderable leave or enter a camera viewport

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uhW2auce-runmPbciJUq8","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        returns the parent application (or game) to which this renderable is attached to

                        ","params":[],"returns":[{"description":"

                        the parent application or undefined if not attached to any container/app

                        ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aGjiRZRVRfox_FXHSfKIE","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        Array of points defining the Polygon
                        \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bf924XjxAzFvCiMl9cH5U","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        Position of the Renderable relative to its parent container

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ytrzLAL9cowZjSO0vUGW4","name":"projectionMatrix","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        the default camera projection matrix\n(2d cameras use an orthographic projection by default).

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"goVB_fTeskz59Z3OQf0PC","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        right coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YtpolD82VR9tIdK2_anGi","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                        (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vwJ8p9izYunMvZ-Nggozk","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                        define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7HO64FDJSP1Xki4XOPaD5","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        top coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_YMGUWWWmgv6UVC_VKfid","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                        the shape type (used internally)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8hSuQ4viKcpNf_zrKh6ju","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Whether to update this object when the game is paused.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yZYhBHDozpY6bnQwBo9ba","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j3aX69yPukLpNIQymsteL","name":"smoothFollow","brief":"","access":"private","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        enable or disable damping

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7oHRBrBF5uFYVoy0kdAJE","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the angle to the specified target

                        ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                        angle in radians

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZiJaQ7bYvAM5rNFoIzjqT","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                        center the rectangle position around the given coordinates

                        ","params":[{"identifier":"x","optional":false,"description":"

                        the x coordinate around which to center this rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        the y coordinate around which to center this rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        this rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Q8x6H5hlp7WzG_Y8rpGnD","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                        clone this rectangle

                        ","params":[],"returns":[{"description":"

                        new rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Khnhy_FoaVUmv5odgna6_","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"minX","optional":false,"description":"

                        start x offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"description":"

                        start y offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"description":"

                        end x offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"description":"

                        end y offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"cZXzIpJsJ0nip7bjgpSi0","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                        Returns true if the rectangle contains the given point or rectangle

                        ","params":[{"identifier":"x","description":"

                        x coordinate or a vector point, or a rectangle to test

                        ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                        y coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        True if the rectangle contain the given point or rectangle, otherwise false

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rZDOHko-yMXOTqf7e-QHl","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                        copy the position and size of the given rectangle into this one

                        ","params":[{"identifier":"rect","optional":false,"description":"

                        Source rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        new rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SXsYr_RHVTQPIUqZVqpEC","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the distance to the specified target

                        ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                        distance

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"thtmeOpx9z5B0ehtsbMpx","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

                        Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

                        a renderer instance

                        ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                        the viewport to (re)draw

                        ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"NrDMzIjotPceVli_hvMy0","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                        check if this rectangle is identical to the specified one

                        ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        true if equals

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gSP5BjTcJdydPjkpyjfjj","name":"fadeIn","brief":"","examples":[{"caption":"","code":"// flash the camera to white for 75ms\nme.game.viewport.fadeIn(\"#FFFFFF\", 75);"}],"scope":"instance","type":"MethodDoc","description":"

                        fadeIn effect

                        \nfade to the specified color

                        ","params":[{"identifier":"color","optional":false,"description":"

                        a CSS color value

                        ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"duration","optional":true,"default":"1000","description":"

                        expressed in milliseconds

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"onComplete","optional":true,"description":"

                        callback once effect is over

                        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"4rU56RAgKrs5ISwcq0UiP","name":"fadeOut","brief":"","examples":[{"caption":"","code":"// fade the camera to white upon dying, reload the level, and then fade out back\nme.game.viewport.fadeIn(\"#fff\", 150, function() {\n me.audio.play(\"die\", false);\n me.level.reload();\n me.game.viewport.fadeOut(\"#fff\", 150);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                        fadeOut(flash) effect

                        \nscreen is filled with the specified color and slowly goes back to normal

                        ","params":[{"identifier":"color","optional":false,"description":"

                        a CSS color value

                        ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"duration","optional":true,"default":"1000","description":"

                        expressed in milliseconds

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"onComplete","optional":true,"description":"

                        callback once effect is over

                        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"VGdxezTz4EyBIrp3mHczG","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                        flip the renderable on the horizontal axis (around the center of the renderable)

                        ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                        true to flip this renderable.

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AilWDSFE-LGrHPlRl5ADG","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                        flip the renderable on the vertical axis (around the center of the renderable)

                        ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                        true to flip this renderable.

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lJWIJMEW5cnc4LWlhSKJ2","name":"focusOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the camera position around the specified object

                        ","params":[{"identifier":"target","optional":false,"description":"

                        the renderable to focus the camera on

                        ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[],"extends":[],"implements":[]},{"id":"1AcOuu39jE3eSPQZPe4-n","name":"follow","brief":"","examples":[{"caption":"","code":"// set the camera to follow this renderable on both axis, and enable damping\nme.game.viewport.follow(this, me.game.viewport.AXIS.BOTH, 0.1);"}],"scope":"instance","type":"MethodDoc","description":"

                        set the camera to follow the specified renderable.
                        \n(this will put the camera center around the given target)

                        ","params":[{"identifier":"target","optional":false,"description":"

                        renderable or position vector to follow

                        ","dataType":{"tokens":[{"value":"Renderable | Vector2d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"axis","optional":true,"default":"me.game.viewport.AXIS.BOTH","description":"

                        Which axis to follow (see {@link Camera2d.AXIS})

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"damping","optional":true,"default":"1","description":"

                        default damping value

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_As7TFkAQ0fFuNBWYcXTE","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the renderable absolute position in the game world

                        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Z5d9ON7XpHp9nHkEzaRbn","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                        returns the bounding box for this renderable

                        ","params":[],"returns":[{"description":"

                        bounding box Rectangle object

                        ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4czLq0s6U8Nh5WkUoU4Dr","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                        returns a list of indices for all triangles defined in this polygon

                        ","params":[],"returns":[{"description":"

                        an array of vertex indices for all triangles forming this polygon.

                        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Kk_Z2LXCWvTaYB6wpcIjq","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                        get the renderable alpha channel value

                        ","params":[],"returns":[{"description":"

                        current opacity value between 0 and 1

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZLnp2lHgRFS2MY5s8oVbX","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                        ","params":[],"returns":[{"description":"

                        true if the vertices are convex, false if not, null if not computable

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"4OXUA3ivpCDQUWoDjmpPP","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                        determines whether all coordinates of this rectangle are finite numbers.

                        ","params":[],"returns":[{"description":"

                        false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"4_OQnIXu5kdEmEa1vCmSV","name":"isVisible","brief":"","scope":"instance","type":"MethodDoc","description":"

                        check if the specified renderable is in the camera

                        ","params":[{"identifier":"obj","optional":false,"description":"

                        to be checked against

                        ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"floating ","optional":true,"default":" obj.floating","description":"

                        if visibility check should be done against screen coordinates

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                        true if within the viewport

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"YbHKJ9Kb2MXAUrJWWjLkk","name":"localToWorld","brief":"","scope":"instance","type":"MethodDoc","description":"

                        convert the given "local" (screen) coordinates into world coordinates

                        ","params":[{"identifier":"x","optional":false,"description":"

                        the x coordinate of the local point to be converted

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        the y coordinate of the local point to be converted

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                        an optional vector object where to set the converted value

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LN2lDPdW2uV3aBgQWcWid","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Rotate this renderable towards the given target.

                        ","params":[{"identifier":"target","optional":false,"description":"

                        the renderable or position to look at

                        ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RQTtRArBjfR4SKHBykmQ9","name":"move","brief":"","examples":[{"caption":"","code":"// Move the camera up by four pixels\nme.game.viewport.move(0, -4);"}],"scope":"instance","see":["Camera2d.focusOn"],"type":"MethodDoc","description":"

                        move the camera upper-left position by the specified offset.

                        ","params":[{"identifier":"x","optional":false,"description":"

                        horizontal offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        vertical offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mrd4Abdkeww98sdzee7in","name":"moveTo","brief":"","scope":"instance","see":["Camera2d.focusOn"],"type":"MethodDoc","description":"

                        move the camera upper-left position to the specified coordinates

                        ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_w5WMPnDRLzrM36udZLiM","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                        onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                        ","params":[{"identifier":"response","optional":false,"description":"

                        the collision response object

                        ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                        the other renderable touching this one (a reference to response.a or response.b)

                        ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                        true if the object should respond to the collision (its position and velocity will be corrected)

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rlNVELkNB0_Hfq6S56owW","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                        OnDestroy Notification function
                        \nCalled by engine before deleting the object

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"djNMUC-CzTm-4tcEA7eSQ","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                        check if this rectangle is intersecting with the specified one

                        ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        true if overlaps

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"soNjYs9-jNAl9ELRjdwXD","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                        restore the rendering context after drawing (automatically called by melonJS).

                        ","params":[{"identifier":"renderer","optional":false,"description":"

                        a renderer object

                        ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"I7ifTq6ag-Y31QMALreGi","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                        Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                        a renderer object

                        ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"ALIOuy5hMtFVbdRYpg-sw","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kSLdWTl8SCujjl7Ugfbnf","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

                        reset the camera position to specified coordinates

                        ","params":[{"identifier":"x","optional":true,"default":"0","description":"

                        initial position of the camera on the x axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

                        initial position of the camera on the y axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_o9AgtIuTEOnCr3U9BWsU","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                        resize the camera

                        ","params":[{"identifier":"w","optional":false,"description":"

                        new width of the camera

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                        new height of the camera

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        this camera

                        ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wDgp1g-_k0qliCOdcuAaR","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Rotate this renderable by the specified angle (in radians).

                        ","params":[{"identifier":"angle","optional":false,"description":"

                        The angle to rotate (in radians)

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                        an optional point to rotate around

                        ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XbtucepVnfnNXvybDkCCW","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                        scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                        a number representing the abscissa of the scaling vector.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                        a number representing the ordinate of the scaling vector.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SxDNgZ181DpZfA3VJTo4v","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                        scale the renderable around his anchor point

                        ","params":[{"identifier":"v","optional":false,"description":"

                        scaling vector

                        ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vXXJkZGCx4Ub0uIrcdSLI","name":"setBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the camera boundaries (set to the world limit by default).\nthe camera is bound to the given coordinates and cannot mov...","params":[{"identifier":"x","optional":false,"description":"

                        world left limit

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        world top limit

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                        world width limit

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                        world height limit

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rfTkRCpd2mrmOQ0ggLCnw","name":"setDeadzone","brief":"","scope":"instance","see":["Camera2d.follow"],"type":"MethodDoc","description":"

                        change the deadzone settings.\nthe "deadzone" defines an area within the current camera in which\nthe followed ren...","params":[{"identifier":"w","optional":false,"description":"

                        deadzone width

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                        deadzone height

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9I5fOVCyCCbgKvDH13IJM","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the renderable alpha channel value

                        ","params":[{"identifier":"alpha","optional":false,"description":"

                        opacity value between 0.0 and 1.0

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3QsqcHXNXkoV8eLp7UufR","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set new value to the rectangle shape

                        ","params":[{"identifier":"x","optional":false,"description":"

                        position of the Rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        position of the Rectangle

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                        width of the rectangle, or an array of vector defining the rectangle

                        ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                        height of the rectangle, if a numeral width parameter is specified

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        this rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4G9ghSQTY5spK8TQZRdCu","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                        set the vertices defining this Polygon

                        ","params":[{"identifier":"vertices","optional":false,"description":"

                        array of vector or vertice defining the Polygon

                        ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                        this instance for objecf chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Mpp5_niPg-_EaiRuW1fIJ","name":"shake","brief":"","examples":[{"caption":"","code":"// shake it baby !\nme.game.viewport.shake(10, 500, me.game.viewport.AXIS.BOTH);"}],"scope":"instance","type":"MethodDoc","description":"

                        shake the camera

                        ","params":[{"identifier":"intensity","optional":false,"description":"

                        maximum offset that the screen can be moved\nwhile shaking

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"duration","optional":false,"description":"

                        expressed in milliseconds

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"axis","optional":true,"default":"me.game.viewport.AXIS.BOTH","description":"

                        specify on which axis to apply the shake effect (see {@link Camera2d.AXIS})

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"onComplete","optional":true,"description":"

                        callback once shaking effect is over

                        ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"force","optional":true,"description":"

                        if true this will override the current effect

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"O7Vr-_9HoenQZmsh89OEz","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                        Shifts the Polygon to the given position vector.

                        ","params":[{"identifier":"x","description":"

                        x coordinate or a vector point to shift to

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"UmD5VRnx7zHLH3CA1sUbZ","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                        apply a 2d projection to this shapen

                        ","params":[],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hHGKy9U_s6m7AZE1ywvsl","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                        apply an isometric projection to this shape

                        ","params":[],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wFD82-XC5bBgUvldUWZ3J","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns a polygon whose edges are the same as this box.

                        ","params":[],"returns":[{"description":"

                        a new Polygon that represents this rectangle.

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wO4ehOjb-TJcHD-szI3Uh","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                        multiply the renderable currentTransform with the given matrix

                        ","params":[{"identifier":"m","optional":false,"description":"

                        the transformation matrix

                        ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t5G6K9AhEG2WtwaqCdGe4","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                        translate the Polygon by the specified offset

                        ","params":[{"identifier":"x","description":"

                        x offset or a vector point to translate by

                        ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                        y offset

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        Reference to this object for method chaining

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4GkX3s8gRyzCDRP1pP22N","name":"unfollow","brief":"","scope":"instance","type":"MethodDoc","description":"

                        unfollow the current target

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lj_pZDTlH1cXhZReYwcEl","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                        merge this rectangle with another one

                        ","params":[{"identifier":"rect","optional":false,"description":"

                        other rectangle to union with

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                        the union(ed) rectangle

                        ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8b4jzRO2O_p5Oy4SaHjHb","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                        update function (automatically called by melonJS).

                        ","params":[{"identifier":"dt","optional":false,"description":"

                        time since the last update in milliseconds.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        true if the renderable is dirty

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"4GruPpy528U-fIUIScZGZ","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                        update the bounding box for this shape.

                        ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                        update the bounds size and position in (world) absolute coordinates

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                        this shape bounding box Rectangle object

                        ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"g2gw8hYVqgrPde8TSfxZI","name":"worldToLocal","brief":"","scope":"instance","type":"MethodDoc","description":"

                        convert the given world coordinates into "local" (screen) coordinates

                        ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                        an optional vector object where to set the converted value

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                        a vector with the converted local coordinates

                        ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lzy-yecMUO3HLNO0W4tTQ","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                        called when the anchor point value is changed

                        ","params":[{"identifier":"x","optional":false,"description":"

                        the new X value to be set for the anchor

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        the new Y value to be set for the anchor

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"amLhFLeEuALcU1_BrVZeZ","name":"CanvasRenderer","brief":"","type":"ClassDoc","description":"

                        a canvas renderer object

                        ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"b0ovXSKbZBGThVBNVrojU","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

                        the default method to sort object ("sorting", "z-buffer")

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bDWxCbA8LVVR08gSDbQdC","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        the requested video size ratio

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QKf4JyoomRrrkEmPFdp16","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        return the height of the canvas which this renderer draws to

                        ","params":[],"returns":[{"description":"

                        height of the system Canvas

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"B46qrUTAPuhG1biycwAG4","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        true if the current rendering context is valid

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K85B5egNJc5c7YErEVypr","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        The Path2D instance used by the renderer to draw primitives

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y_gWopcOGiSZ5a6Ob-8QJ","name":"scaleRatio","brief":"","defaultValue":"<1,1>","scope":"instance","type":"PropertyDoc","description":"

                        the scaling ratio to be applied to the main canvas

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g7xBpOnyIEZTOiY-VhFHY","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        The given constructor options

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jQjoxAvSFxIxr4FJcQ58T","name":"type","brief":"","defaultValue":"\"Generic\"","scope":"instance","type":"PropertyDoc","description":"

                        The renderer type : Canvas, WebGL, etc...\n(override this property with a specific value when implementing a custom rendere...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"83hWiGo1taLu29xo9S1SI","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        return the width of the canvas which this renderer draws to

                        ","params":[],"returns":[{"description":"

                        width of the system Canvas

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_jur4bUN3Nqde_HVUIS6a","name":"beginPath","brief":"","examples":[{"caption":"","code":"// First path\nrenderer.beginPath();\nrenderer.setColor(\"blue\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(200, 20);\nrenderer.stroke();\n// Second path\nrenderer.beginPath();\nrenderer.setColor(\"green\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(120, 120);\nrenderer.stroke();"}],"scope":"instance","type":"MethodDoc","description":"

                        starts a new path by emptying the list of sub-paths. Call this method when you want to create a new path

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4ndpLzmiDIVBapJoJGSLx","name":"clear","brief":"

                        prepare the framebuffer for drawing a new frame

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bAaDSgKukcyuDqmlIK67F","name":"clearColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Clears the main framebuffer with the given color

                        ","params":[{"identifier":"color","optional":true,"default":"\"#000000\"","description":"

                        CSS color.

                        ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"opaque","optional":true,"default":"false","description":"

                        Allow transparency [default] or clear the surface completely [true]

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"vbdrF_H0OO6xGS10at9bc","name":"clearMask","brief":"","scope":"instance","see":["CanvasRenderer#setMask"],"type":"MethodDoc","description":"

                        disable (remove) the rendering mask set through setMask.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6y0EpM1ji_4BGGXZYTlTx","name":"clearRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Erase the pixels in the given rectangular area by setting them to transparent black (rgba(0,0,0,0)).

                        ","params":[{"identifier":"x","optional":false,"description":"

                        x axis of the coordinate for the rectangle starting point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        y axis of the coordinate for the rectangle starting point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                        The rectangle's width.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                        The rectangle's height.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ByreMeGnowDDS0uplKomM","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

                        clear the rendering tint set through setTint.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k7ylJZ2G8tm3W3p-it0CM","name":"clipRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                        clip the given region from the original canvas. Once a region is clipped,\nall future drawing will be limited to the clippe...","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SrtLV31KfONsZ3_eClM1c","name":"closePath","brief":"

                        add a straight line from the current point to the start of the current sub-path. If the shape has already been closed or has only one point, this function does nothing

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sDks2OWnXzuM9_wKaSJMd","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"options","optional":true,"description":"

                        optional parameters for the renderer

                        ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bI5ECaS3n89xkoUKucwbB","name":"createPattern","brief":"","examples":[{"caption":"","code":"let tileable = renderer.createPattern(image, \"repeat\");\nlet horizontal = renderer.createPattern(image, \"repeat-x\");\nlet vertical = renderer.createPattern(image, \"repeat-y\");\nlet basic = renderer.createPattern(image, \"no-repeat\");"}],"scope":"instance","see":["ImageLayer#repeat"],"type":"MethodDoc","description":"

                        Create a pattern with the specified repetition

                        ","params":[{"identifier":"image","optional":false,"description":"

                        Source image to be used as the pattern's image

                        ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"repeat","optional":false,"description":"

                        Define how the pattern should be repeated

                        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasPattern","kind":"canonical"},{"value":"CanvasPattern","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qsM9hIDPBCAVXMkNp72__","name":"drawImage","brief":"","examples":[{"caption":"","code":"// Position the image on the canvas:\nrenderer.drawImage(image, dx, dy);\n// Position the image on the canvas, and specify width and height of the image:\nrenderer.drawImage(image, dx, dy, dWidth, dHeight);\n// Clip the image and position the clipped part on the canvas:\nrenderer.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);"}],"scope":"instance","type":"MethodDoc","description":"

                        Draw an image onto the main using the canvas api

                        ","params":[{"identifier":"image","optional":false,"description":"

                        An element to draw into the context.

                        ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"sx","optional":false,"description":"

                        The X coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sy","optional":false,"description":"

                        The Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sw","optional":false,"description":"

                        The width of the sub-rectangle of the source image to draw into the destination context. If not specified, the entire rect...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sh","optional":false,"description":"

                        The height of the sub-rectangle of the source image to draw into the destination context.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dx","optional":false,"description":"

                        The X coordinate in the destination canvas at which to place the top-left corner of the source image.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dy","optional":false,"description":"

                        The Y coordinate in the destination canvas at which to place the top-left corner of the source image.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dw","optional":false,"description":"

                        The width to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the image...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dh","optional":false,"description":"

                        The height to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the imag...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"epOVTnI4tATsOxtBnPMkG","name":"drawPattern","brief":"","scope":"instance","see":["CanvasRenderer#createPattern"],"type":"MethodDoc","description":"

                        Draw a pattern within the given rectangle.

                        ","params":[{"identifier":"pattern","optional":false,"description":"

                        Pattern object

                        ","dataType":{"tokens":[{"value":"CanvasPattern","kind":"canonical"},{"value":"CanvasPattern","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wmLby7ffOpZjQqAw8raUK","name":"fill","brief":"","scope":"instance","type":"MethodDoc","description":"

                        fill the given shape or the current defined path

                        ","params":[{"identifier":"shape","optional":true,"description":"

                        a shape object to fill

                        ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[],"extends":[],"implements":[]},{"id":"3zbYmRlRLySUPjYArmGH8","name":"fillArc","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Fill an arc at the specified coordinates with given radius, start and end points

                        ","params":[{"identifier":"x","optional":false,"description":"

                        arc center point x-axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        arc center point y-axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

                        start angle in radians

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

                        end angle in radians

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

                        draw arc anti-clockwise

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"tGJEy9jb-vyg0TWfBbwuR","name":"fillEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Fill an ellipse at the specified coordinates with given radius

                        ","params":[{"identifier":"x","optional":false,"description":"

                        ellipse center point x-axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        ellipse center point y-axis

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                        horizontal radius of the ellipse

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                        vertical radius of the ellipse

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"5m-HJ237fvg9oX-EVVnlI","name":"fillLine","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Fill a line of the given two points

                        ","params":[{"identifier":"startX","optional":false,"description":"

                        the start x coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

                        the start y coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

                        the end x coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

                        the end y coordinate

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"0uQJey5C9kkTJ8Jm50oJH","name":"fillPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Draw a a point at the specified coordinates

                        ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"HYEIVXIcaOnFEAw2oP7V_","name":"fillPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Fill the given me.Polygon on the screen

                        ","params":[{"identifier":"poly","optional":false,"description":"

                        the shape to draw

                        ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"BnLBPvQuK2fiQ4vw7-EmI","name":"fillRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Draw a filled rectangle at the specified coordinates

                        ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"AAc4BpE0gzoH8lRCROwIX","name":"fillRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Draw a rounded filled rectangle at the specified coordinates

                        ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"tSWEjnH3McaJtT-cWg5a-","name":"flush","brief":"

                        render the main framebuffer on screen

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GYVv_xwihETIOxlR0Lbj0","name":"getBlendMode","brief":"","scope":"instance","type":"MethodDoc","description":"

                        returns the current blend mode for this renderer

                        ","params":[],"returns":[{"description":"

                        blend mode

                        ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"bbTQ_8NqD_lor95tKqvZQ","name":"getCanvas","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return a reference to the canvas which this renderer draws to

                        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MpA-mtARbuaJ17bioH9Bc","name":"getColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                        get the current fill & stroke style color.

                        ","params":[],"returns":[{"description":"

                        current global color

                        ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"526MbAAfWLynriTP-3AUD","name":"getContext","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return a reference to this renderer canvas corresponding Context

                        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D | WebGLRenderingContext","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"QwScrwgkWcY7_9D8I-iws","name":"getContext2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Returns the 2D Context object of the given Canvas
                        \nAlso configures anti-aliasing and blend modes based on constructor o...","params":[{"identifier":"canvas","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"true","description":"

                        use false to disable transparency

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3BQKzihzJzwbbgi_2lj7U","name":"getGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                        Return the global alpha

                        ","params":[],"returns":[{"description":"

                        global alpha value

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4_EEPPN33QTTHQ6agxZ0l","name":"getScreenCanvas","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getCanvas();"],"type":"MethodDoc","description":"

                        return a reference to the screen canvas

                        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7Q5o54V8ZbEBkOVsvpJ58","name":"getScreenContext","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getContext();"],"type":"MethodDoc","description":"

                        return a reference to the screen canvas corresponding 2d Context
                        \n(will return buffered context if double buffering is ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L8Npam1vOJTzK8hZoVzVu","name":"globalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                        return the current global alpha

                        ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2UmdyhJo4Y-T8Z9WcFa_g","name":"lineTo","brief":"

                        adds a straight line to the current sub-path by connecting the sub-path's last point to the specified (x, y) coordinates.

                        ","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false},{"identifier":"y","optional":false}],"returns":[],"extends":[],"implements":[]},{"id":"lONDRHO4SYxbuh9l8nipQ","name":"moveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                        begins a new sub-path at the point specified by the given (x, y) coordinates.

                        ","params":[{"identifier":"x","optional":false,"description":"

                        The x axis of the point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        The y axis of the point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Tt3vzZpgiOeh_CRjoC7dk","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                        check if the given rect or bounds overlaps with the renderer screen coordinates

                        ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Rect | Bounds","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                        true if overlaps

                        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rvUI9oWeXYVs1mm8-Laas","name":"rect","brief":"","scope":"instance","type":"MethodDoc","description":"

                        creates a rectangular path whose starting point is at (x, y) and whose size is specified by width and height.

                        ","params":[{"identifier":"x","optional":false,"description":"

                        The x axis of the coordinate for the rectangle starting point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        The y axis of the coordinate for the rectangle starting point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                        The rectangle's width.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                        The rectangle's height.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"KiaH7AlEr-f6PFYfdCU9X","name":"reset","brief":"

                        Reset context state

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zFxWzPiKNXgJk7bhKnHcT","name":"resetTransform","brief":"

                        Reset the canvas transform to identity

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vzgytcx7khDLSUiD0H16K","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                        resizes the system canvas

                        ","params":[{"identifier":"width","optional":false,"description":"

                        new width of the canvas

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                        new height of the canvas

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"veOIVWQ_IZCvcAG2jrezx","name":"restore","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

                        restores the most recently saved renderer state by popping the top entry in the drawing state stack

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a4ozAA9N6i18GAqAWrGzv","name":"rotate","brief":"","examples":[{"caption":"","code":" // Rotated rectangle\n renderer.rotate((45 * Math.PI) / 180);\n renderer.setColor(\"red\");\n renderer.fillRect(10, 10, 100, 100);\n\n // Reset transformation matrix to the identity matrix\n renderer.setTransform(1, 0, 0, 1, 0, 0);"}],"scope":"instance","type":"MethodDoc","description":"

                        adds a rotation to the transformation matrix.

                        ","params":[{"identifier":"angle","optional":false,"description":"

                        the rotation angle, clockwise in radians

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"7iwkdywkTExS36OqIFM-9","name":"roundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                        adds a rounded rectangle to the current path.

                        ","params":[{"identifier":"x","optional":false,"description":"

                        The x axis of the coordinate for the rectangle starting point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        The y axis of the coordinate for the rectangle starting point.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                        The rectangle's width.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                        The rectangle's height.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                        The corner radius.

                        ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ye1B2Fb6O9PDStxz5ekIZ","name":"save","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

                        saves the entire state of the renderer by pushing the current state onto a stack.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"doVtCLA1wak2v7N37BbHN","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                        adds a scaling transformation to the renderer units horizontally and/or vertically

                        ","params":[{"identifier":"x","optional":false,"description":"

                        Scaling factor in the horizontal direction. A negative value flips pixels across the vertical axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                        Scaling factor in the vertical direction. A negative value flips pixels across the horizontal axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vWATNXT_K38HrlFzSm_O9","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

                        enable/disable image smoothing (scaling interpolation) for the given context

                        ","params":[{"identifier":"context","optional":false,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":true,"default":"false","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"oPSeM5bM4S5w81gcyr-F2","name":"setBlendMode","brief":"","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation"],"type":"MethodDoc","description":"

                        set a blend mode for the given context.
                        \nSupported blend mode between Canvas and WebGL remderer :

                        \n
                          \n
                        • &q...","params":[{"identifier":"mode","optional":true,"default":"\"normal\"","description":"

                          blend mode : "normal", "multiply", "lighter, "additive", "screen"

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"context","optional":true,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ERMCTZS2faxNJowOiJttq","name":"setColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Set the current fill & stroke style color.\nBy default, or upon reset, the value is set to #000000.

                          ","params":[{"identifier":"color","optional":false,"description":"

                          css color value

                          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}}],"returns":[],"extends":[],"implements":[]},{"id":"FZf-AMKbJ3y3maGeVIY0N","name":"setGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Set the global alpha

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          0.0 to 1.0 values accepted.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"KTCMvCxYaJUXzTsUlbGea","name":"setLineWidth","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Set the line width on the context

                          ","params":[{"identifier":"width","optional":false,"description":"

                          Line width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QCrqUD_e8DqwDG2Y6DZ0F","name":"setMask","brief":"","scope":"instance","see":["CanvasRenderer#clearMask"],"type":"MethodDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nIf the drawing or rendering area is l...","params":[{"identifier":"mask","optional":true,"description":"

                          the shape defining the mask to be applied

                          ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"invert","optional":true,"default":"false","description":"

                          either the given shape should define what is visible (default) or the opposite

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"kNGZQ42SB2z2Qkv6ii4RN","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set/change the current projection matrix (WebGL only)

                          ","params":[{"identifier":"matrix","optional":false,"dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"jVzESnGowmah9JdtAAxHH","name":"setTint","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set a coloring tint for sprite based renderables

                          ","params":[{"identifier":"tint","optional":false,"description":"

                          the tint color

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":true,"description":"

                          an alpha value to be applied to the tint

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XQtROdhcVIjqwFsWvfxby","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Reset (overrides) the renderer transformation matrix to the\nidentity one, and then apply the given transformation matrix.

                          ","params":[{"identifier":"a","optional":false,"description":"

                          a matrix2d to transform by, or a the a component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

                          the b component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

                          the c component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

                          the d component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

                          the e component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

                          the f component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"jUwmzoOEpwrB2oRJPnMsW","name":"stroke","brief":"","scope":"instance","type":"MethodDoc","description":"

                          stroke the given shape or the current defined path

                          ","params":[{"identifier":"shape","optional":true,"description":"

                          a shape object to stroke

                          ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"fill","optional":true,"default":"false","description":"

                          fill the shape with the current color if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"46-iyPWRMqNu2GNysnOII","name":"strokeArc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Stroke an arc at the specified coordinates with given radius, start and end points

                          ","params":[{"identifier":"x","optional":false,"description":"

                          arc center point x-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          arc center point y-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

                          start angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

                          end angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

                          draw arc anti-clockwise

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"fill","optional":true,"default":"false","description":"

                          also fill the shape with the current color if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"F4i8G6V-h99bJsZiujcvc","name":"strokeEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Stroke an ellipse at the specified coordinates with given radius

                          ","params":[{"identifier":"x","optional":false,"description":"

                          ellipse center point x-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          ellipse center point y-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          horizontal radius of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          vertical radius of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                          also fill the shape with the current color if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"8onL7AW3r-kaKpF1lOIZ4","name":"strokeLine","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Stroke a line of the given two points

                          ","params":[{"identifier":"startX","optional":false,"description":"

                          the start x coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

                          the start y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

                          the end x coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

                          the end y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qHatd_W2HZ6jKwBe8o3gc","name":"strokePoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Stroke a Point at the specified coordinates

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9V3OR4B-zw6OklEJFcA5g","name":"strokePolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Stroke the given me.Polygon on the screen

                          ","params":[{"identifier":"poly","optional":false,"description":"

                          the shape to draw

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                          also fill the shape with the current color if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"REybgyqn9w4AHZnYMG3Ri","name":"strokeRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Stroke a rectangle at the specified coordinates

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                          also fill the shape with the current color if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"NboklDHodOAeUXez_gttA","name":"strokeRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Stroke a rounded rectangle at the specified coordinates

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                          also fill the shape with the current color if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"mM1iHRrBnFmpNAHaC3qEY","name":"tint","brief":"","scope":"instance","type":"MethodDoc","description":"

                          tint the given image or canvas using the given color

                          ","params":[{"identifier":"src","optional":false,"description":"

                          the source image to be tinted

                          ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2 | %3"}},{"identifier":"color","optional":false,"description":"

                          the color that will be used to tint the image

                          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"mode","optional":true,"default":"\"multiply\"","description":"

                          the composition mode used to tint the image

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          a new canvas element representing the tinted image

                          ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"l4UJWYzsk3W46-ha7k3Ht","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderer.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

                          creates a Blob object representing the last rendered frame

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning a Blob object representing the last rendered frame

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l1wbola082gt7RPlLGScf","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

                          returns a data URL containing a representation of the last frame rendered

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning a string containing the requested data URL.

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bfs3Om_PKJkK-GvlPJWLi","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderer.transferToImageBitmap().then((image) => console.log(image));"}],"scope":"instance","type":"MethodDoc","description":"

                          creates an ImageBitmap object of the last frame rendered\n(not supported by standard Canvas)

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning an ImageBitmap.

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MukREe7jpyqm5dsrFkB_D","name":"transform","brief":"","scope":"instance","see":["{@link CanvasRenderer.setTransform} which will reset the current transform matrix prior to performing the new transformation"],"type":"MethodDoc","description":"

                          Multiply given matrix into the renderer tranformation matrix

                          ","params":[{"identifier":"a","optional":false,"description":"

                          a matrix2d to transform by, or a the a component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

                          the b component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

                          the c component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

                          the d component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

                          the e component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

                          the f component to multiply the current matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"onLwkuAvZinJ-LVTWHNMd","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          adds a translation transformation to the current matrix.

                          ","params":[{"identifier":"x","optional":false,"description":"

                          Distance to move in the horizontal direction. Positive values are to the right, and negative to the left.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          Distance to move in the vertical direction. Positive values are down, and negative are up.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"txXY_cIpQ_v8TnRHs1OYI","name":"CanvasTexture","brief":"","type":"ClassDoc","description":"

                          Creates a Canvas Texture of the given size\n(when using WebGL, use invalidate to force a reupload of the corre...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"GTF3vW4VmBrImtv_ovoD3","name":"canvas","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the canvas created for this CanvasTexture

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kJTdbKc1uK7YoPOh6vesw","name":"context","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the rendering context of this CanvasTexture

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mo1HqM2ggOwd3WMhYHVKU","name":"height","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The height of this canvas texture in pixels

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NzkSSPck13GdcrizWXaP-","name":"width","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The width of this canvas texture in pixels

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tsCrrIxujRn1jxpabCu8q","name":"clear","brief":"

                          Clears the content of the canvas texture

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rkDkhofzC_ZQn6o1cETO1","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"width","optional":false,"description":"

                          the desired width of the canvas

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          the desired height of the canvas

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"attributes","optional":false,"description":"

                          The attributes to create both the canvas and context

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"attributes.context","optional":true,"default":"\"2d\"","description":"

                          the context type to be created ("2d", "webgl", "webgl2")

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"attributes.offscreenCanvas","optional":true,"default":"false","description":"

                          will create an offscreenCanvas if true instead of a standard canvas

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"attributes.willReadFrequently","optional":true,"default":"false","description":"

                          Indicates whether or not a lot of read-back operations are planned

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"attributes.antiAlias","optional":true,"default":"false","description":"

                          Whether to enable anti-aliasing, use false (default) for a pixelated effect.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"02kMN5b5KSiZQnySriiB-","name":"getImageData","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns an ImageData object representing the underlying pixel data for a specified portion of this canvas texture.\n(Note: ...","params":[{"identifier":"x","optional":false,"description":"

                          The x-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                          The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to t...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          The ImageData extracted from this CanvasTexture.

                          ","dataType":{"tokens":[{"value":"ImageData","kind":"canonical"},{"value":"ImageData","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JB6iZDbBB-U8lgGAz5Dyl","name":"invalidate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          invalidate the current CanvasTexture, and force a reupload of the corresponding texture\n(call this if you modify the canva...","params":[{"identifier":"renderer","optional":false,"description":"

                          the renderer to which this canvas texture is attached

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"5RSWSYz-Bb0UBLcl7Rvxw","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Resizes the canvas texture to the given width and height.

                          ","params":[{"identifier":"width","optional":false,"description":"

                          the desired width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          the desired height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"aPv5uGK-4wLPIJNmFtTH8","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

                          enable/disable image smoothing (scaling interpolation)

                          ","params":[{"identifier":"enable","optional":true,"default":"false","description":"

                          whether to enable or not image smoothing (scaling interpolation)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"xIXJ0bP8uYFo5xO93ryru","name":"toBlob","brief":"","examples":[{"caption":"","code":"canvasTexture.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

                          creates a Blob object representing the image contained in this canvas texture

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning a Blob object representing the image contained in this canvas texture

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ge4YaVj5e90Bb7RGhrB0w","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

                          returns a data URL containing a representation of the most recently rendered image of this canvas texture\n(not supported b...","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning a string containing the requested data URL.

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GoEvNaY72aAdx71LFVxAI","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap));"}],"scope":"instance","type":"MethodDoc","description":"

                          creates an ImageBitmap object from the most recently rendered image of this canvas texture

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning an ImageBitmap.

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"CNEN1g2E6CNNv1TGC4K0C","name":"Collectable","brief":"","type":"ClassDoc","description":"

                          a basic collectable helper class for immovable object (e.g. a coin)

                          ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"ayK2O8rOxyBQJYXgQslpi","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UkoYKhFzMJiK4-xU5w1XD","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AfpouRMqKgGL03abi7YQo","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OPDu6t_5u_oUoloFr4mgu","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rp0KP1pr-9wXPaV2AgI8s","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_5ZRTeeYWuEa77IOCaZ_i","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c0Sz8f8J2Y0JRu8pYL4Cr","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jYah6FLfqIxwDFZXK4GjN","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hLGWqZPwtY8joz-G_lKti","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7mcIdnS5pUyO7QsQhgnn_","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f_4ODxCZVhrkP-OltcErn","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ye9hCEnHVe40iJYk0rif6","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"68lmNHG_6ADsgnvq0DydH","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"02X6vwdTbGL1JTuxL8jhd","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4d2g3_AJHvC7k_ORt-X7c","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8mAIBiW0QkD3TB2iH7t90","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EYRI-pJLoTMlc9Hvk4yF-","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GasDY4WMUQ5eqdL9Keg4p","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vgAYzOF-jnLilTtEw-4UQ","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UqjVy5v1iYXpBdnTNoCxZ","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D0Tf9K8xG3hY9A11FE__u","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Lip-CshcQWzMQBoXp4-Nv","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"At4uem_pHfk6Qn8kI0RTQ","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bO44lj5_cD7EJxJB7XyuB","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7lKHHgx8n1WPIAS4gFfq3","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-Y_rsYt1dX2yMYrCC-xHy","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bEvxgGAUIzuVEa7ub0ZMQ","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kCh0ZR0am5SyKMDseRxxf","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1ly8ILjf9qjDzz0_xW00b","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

                          global offset for the position to draw from on the source image.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YVPFMKYk6Ik-qmK0VEncx","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Zkvn-aWyWymIet83fp91-","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E7gS6tUOkf9TjlNF_nhaM","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VAGc8M3WS_PgPeZthL2n4","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pqgItbn4W5ZB1LWc5Yffk","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S5IjOkjYON5D0MvaD8AYl","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GkpmS9rqGfuPc6Y_LAEGn","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XFmQ5UTh9RhQ9n8eklE_b","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PfY8m-Z4_9jCHufFjaJ1P","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OOIXMwb97s-KDEnMw9N4G","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XFhIh9KBsVtQl17zVSn2R","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LoEzltHOMl1WkHh_o8ylG","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5YUaDlTFfczwu-UvrVEFj","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          add an animation
                          \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

                          list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

                          ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

                          cycling speed for animation in ms

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          frame amount of frame added to the animation (delay between each frame).

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jWH5vPP-R0Pyv1NCNFl7q","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XIclooqgCwF1RFJXzTCnl","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oO59O1awbjwKPlcGX3o8h","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"T_062u6NSTqYKjH1Zsz3j","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the collectable

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the collectable

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          See {@link Sprite}

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"vTWll7XTEr3m3WSTWPrbx","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0sr3hmeyuGpdLNwFeIepu","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tc9HNxRFBMXZQn0Iro2hH","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yxZP4g7nKRw1-d6iDd7-0","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7JhEbvTGqL_prCy54UtY7","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                          make the object flicker

                          ","params":[{"identifier":"duration","optional":false,"description":"

                          expressed in milliseconds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

                          Function to call when flickering ends

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0TiimV28Kk9u7GRg5sjDt","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_WEeoF576iPfWEc6hyGJP","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xhDbhYtiK6YzllpmQ1W5J","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7O6VGAAKjFbtRpPdLSaW0","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2ZB9kVoBJahJOgqeHPGl3","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the current animation frame index.

                          ","params":[],"returns":[{"description":"

                          current animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Bfrw9sNJn6z5PVcvxDT6q","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"q92Y-551NKqUrkoqLQdar","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HuhbCCrYUEzost9Ignefq","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"p7usa4Ev20kLsQIh6Z7Px","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          return true if the specified animation is the current one.

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zM8_gXn8q3rJYbnGg4CtQ","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"F0X-hrF3ENPr31hN3k8zB","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the flickering state of the object

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iR6Fg4rY1dhKGCPpK7CFq","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_i4fnDI2ffgdPM4SgGf1G","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ClkRPfEIfjWZGsizaVPNn","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6Zon1KF3hL0dLvSGKwb7x","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"dgyEgo4APkvGVZNJNWP-I","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UnKQyo0i4Q5GmcspfbQ9c","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NozTst3YwVXnvQ_Ol5Pe9","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"7_wwImxPYSage5nwcdQr2","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"IfweYvjd0TGrlFnG6bcp8","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ohwCA1SfGpDjNnTVwateb","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YJB46rrHdMzlNHWeP4ugC","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          reverse the given or current animation if none is specified

                          ","params":[{"identifier":"name","optional":true,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EcxzOM8eC8B5z6zW7_Bxu","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8adGfxI0SVhD2-D4MqM_8","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JdJBBaZaplDr8OcAQ6c3Y","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DCA1ABsHSiMiG3zwO1JIc","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

                          force the current animation frame index.

                          ","params":[{"identifier":"index","optional":true,"default":"0","description":"

                          animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b2Gn4F6lIc-mRuYpO_ovG","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

                          set the current animation\nthis will always change the animation & set the frame to zero

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

                          animation id to switch to when complete, or callback

                          ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

                          if false will reset the elapsed time counter since last frame

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F5DGAkQn065t2o-tDcASg","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZNIyPJ3LkvMSEumbFWFM4","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

                          change the current texture atlas region for this sprite

                          ","params":[{"identifier":"region","optional":false,"description":"

                          typically returned through me.Texture.getRegion()

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dx70YqNrAL35c9VRr9fJP","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"K1BoYPrbr73fJFgWH6hyZ","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NgWmjRp18Bg8yNVbnsyay","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SGQRJJhhs5WM0-n2GWZkZ","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L2TlR9GR7BmEhunFhCFtg","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UlH2AxAU38CDkh3Yrb2Pd","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nb9uAY_8XkExwMltPgIjn","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pG3SoiT4OSrP7IGKNuwxE","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ePE9UeW9NEwr9jc-umWwW","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wwIyOdxZ6aU73EJ1xnmfw","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cglMhnytwEe5WU6URbu-j","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this srite (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"M-3DQ2wH-MAuDmwvsVKKO","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          update function.
                          \nautomatically called by the game manager {@link game}

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the Sprite is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gpWBT1Go9b7hDsijCDf1P","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"MA3vcwpZ29SgGYr9hla4v","name":"Color","brief":"","type":"ClassDoc","description":"

                          A color manipulation object.

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Mkm940Hr3o8-ofE9SXKA3","name":"alpha","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Alpha Component [0.0 .. 1.0]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hj4iDqqdfWzDAsp6ev6dz","name":"b","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Blue Component [0 .. 255]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PSQDw1TyQQBKWZNgTyQBj","name":"g","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Green Component [0 .. 255]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CFzN-r7UvFTligdqsufna","name":"r","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Red Component [0 .. 255]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Kfcdhu8RvGj5M9W6OSic2","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Blend this color with the given one using addition.

                          ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PBN28KawvlnPcUwKEN9zj","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Create a new copy of this color object.

                          ","params":[],"returns":[{"description":"

                          Reference to the newly cloned object

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zIKpOsQZMdCpGAukJ1K_X","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"r","optional":true,"default":"0","description":"

                          red component [0 .. 255]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":true,"default":"0","description":"

                          green component [0 .. 255]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":true,"default":"0","description":"

                          blue component [0 .. 255]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"alpha","optional":true,"default":"1.0","description":"

                          alpha value [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"s1lYcd3NeIHtiT4pVJAKL","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Copy a color object or CSS color into this one.

                          ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Axt0OP8grrRsIm2HwZGU_","name":"darken","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Darken this color value by 0..1

                          ","params":[{"identifier":"scale","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VX4Ro0tWxEAPnLl-YdiWA","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Return true if the r,g,b,a values of this color are equal with the\ngiven one.

                          ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fd88MXYtS1pAWUnd1oCDx","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Linearly interpolate between this color and the given one.

                          ","params":[{"identifier":"color","optional":false,"dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":false,"description":"

                          with alpha = 0 being this color, and alpha = 1 being the given one.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"J57z2BEXyhm0Is87UChYJ","name":"lighten","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Lighten this color value by 0..1

                          ","params":[{"identifier":"scale","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QplUmnjmE9JXcvUejey35","name":"parseCSS","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Parse a CSS color string and set this color to the corresponding\nr,g,b values

                          ","params":[{"identifier":"cssColor","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1ddRz49TsZd4bNDKGWlvb","name":"parseHex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Parse a Hex color ("#RGB", "#RGBA" or "#RRGGBB", "#RRGGBBAA" format) and set this ...","params":[{"identifier":"hexColor","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"argb ","optional":true,"default":" false","description":"

                          true if format is #ARGB, or #AARRGGBB (as opposed to #RGBA or #RGGBBAA)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d2r9fkyPwwvo9S49WgQ7k","name":"parseRGB","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Parse an RGB or RGBA CSS color string

                          ","params":[{"identifier":"rgbColor","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yLNVsLL55JTxtbwbVW93i","name":"random","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Generate random r,g,b values for this color object

                          ","params":[{"identifier":"min","optional":true,"default":"0","description":"

                          minimum value for the random range

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max","optional":true,"default":"255","description":"

                          maxmium value for the random range

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xGrt8qOZXl8wBiQO6XvW8","name":"setColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Set this color to the specified value.

                          ","params":[{"identifier":"r","optional":false,"description":"

                          red component [0 .. 255]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":false,"description":"

                          green component [0 .. 255]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":false,"description":"

                          blue component [0 .. 255]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"alpha","optional":true,"default":"1.0","description":"

                          alpha value [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aC38XjoyJLwgrVAYYRSo2","name":"setFloat","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set this color to the specified normalized float values

                          ","params":[{"identifier":"r","optional":false,"description":"

                          red component [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":false,"description":"

                          green component [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":false,"description":"

                          blue component [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"alpha","optional":true,"default":"1.0","description":"

                          alpha value [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tR70mlcdO2VE_IWMbRI6W","name":"setHSL","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set this color to the specified HSL value

                          ","params":[{"identifier":"h","optional":false,"description":"

                          hue (a value from 0 to 1)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"s","optional":false,"description":"

                          saturation (a value from 0 to 1)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"l","optional":false,"description":"

                          lightness (a value from 0 to 1)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UExMT7AYc4CVAYoJUhO5P","name":"setHSV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set this color to the specified HSV value

                          ","params":[{"identifier":"h","optional":false,"description":"

                          hue (a value from 0 to 1)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"s","optional":false,"description":"

                          saturation (a value from 0 to 1)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":false,"description":"

                          value (a value from 0 to 1)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kbLR2nK6r2fryGRJDhBLE","name":"toArray","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return an Float Array representation of this object

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"a9yxFNIKiI2z9I4fMvbzo","name":"toHex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the color in "#RRGGBB" format

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"KqKSFLR3ia18amxOm8h_D","name":"toHex8","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Get the color in "#RRGGBBAA" format

                          ","params":[{"identifier":"alpha","optional":false}],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"zf3k5-Ktz5umTowvYk7KD","name":"toRGB","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Get the color in "rgb(R,G,B)" format

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"JbPJyV1ZU-_JeBBgatBem","name":"toRGBA","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Get the color in "rgba(R,G,B,A)" format

                          ","params":[{"identifier":"alpha","optional":true,"default":"1.0","description":"

                          alpha value [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"zQyx_mg8z09JMa8Cq_KbK","name":"toUint32","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Pack this color RGB components into a Uint32 ARGB representation

                          ","params":[{"identifier":"alpha","optional":true,"default":"1.0","description":"

                          alpha value [0.0 .. 1.0]

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"nO6LM7Gntkw6LBjChBT5l","name":"ColorLayer","brief":"","type":"ClassDoc","description":"

                          a generic Color Layer Object. Fills the entire Canvas with the color not just the container the object belongs to.

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"_X1jX5efnfJYL5Kzu17aS","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dh_klT4Oc8u_UE0fNVJlR","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WvlcgsKON32r_0gbYTtVa","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aHuBNFjdYWM1ZHXl0Uh1J","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IK_aW_wgvmovMop4EXtX6","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7F-rnGrJMMdcwWN3_0dRe","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ta-fI801NbIvm7kcIgGmh","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nEJVwf-cr51rEOws4rA_Z","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yGF81baTYD_-HpNEWu9PD","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"315vAvsRlI1tC5SX4DtHu","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dVL7e-XjSAlVDFspPe_qQ","name":"color","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the layer color component

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SNDPhsaLJAvVEJVZDDXSc","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y7DZ_1anuU_xv5rk4K-ST","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M01Uiybp7YioAx_VG3Pcy","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"24XmwQZ0jqZPe8tn04cze","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JHpAWsS-_RWJ6S8msG1Z4","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WRzK6FwS6sxwivd8uYtVH","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G_-eJZ8PqQkYIgsmbDGcg","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"THmW0ilOPvEeYfDnP-Z4K","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ISvfoYATcAoIdo-HsVaKE","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0nR_sMr1DM-AAuCS-lCtZ","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z2NTXwIB27QjGbaa6B50f","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R0xo863NJTgekIZHJWjF4","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0MIRt9ffPfKf6NSt3KYfZ","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S0ab7tFR7DVmJ9CqgDA8o","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ok0BonSj6QVrqwFMtV4K5","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xzls2FFB-LWshRBjHh6FC","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hn8XTapVOVumtlJ05-0R_","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uKlxExMgD5yDCojli2dFl","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qDmtQItKM3ARCCeDpg5W_","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kwk6aDFp3brYPB5aFLQ8U","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EcBMc-MsqhBgNzjfhD2jm","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SKLi-oHrDVa6g7__MWnAB","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o5TVi_0k4Egh9cIZsD2hM","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LYX-GXkMoDQSJ3kEXaAFD","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XrRqjuOMrEZbXvVdvg_rv","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c4q2sCnmqJNrp2vHfOYZu","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"32YQwbrV1g3HbMfS4e8x1","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mBcpnAMTyuHdLiqstSbce","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YGavVDFTT4wG92o0EGlyg","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bAf5rgxxzenL6SZHII43R","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"name","optional":false,"description":"

                          Layer name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"color","optional":false,"description":"

                          CSS color

                          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"z ","optional":true,"default":" 0","description":"

                          z-index position

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JGuFhH5eO9UVMqcgUqdcQ","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"U1OuZ2rEFPWR4q_NDF0nA","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mOWQAa9sQQZ03GbIswMCc","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zoNlyZtlFgGY7SV8J64UW","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"owHIEdslifQEOZJlf14Lc","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OE9kkA5aiSwe_7JgoepZW","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cOBSICnJh6l662dkBwSsp","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3RDCV3Oq2iDlj0tqWeqJr","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"S5jNGXlAXozhV1ebVuEpG","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"cX53YxdJ7GpWcL5WDbp-d","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iatZSPRJGVyB1w-rtj6HU","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5IKiDGOrN1oaRxjc4Prsa","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"myewHLFQiNHwtNwEF6q6b","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7rnUh1lhRDdqNmPMBUPaq","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"MbEv_kVSfKoopAeriISWL","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ac1x2sldO-aqbAHJWfGe3","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"1x62K2cqDXTX7-jznM8lO","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"chYGESxaRxKWWltvMuvBC","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"uZAAn5KSOAcNSrkhGfVa0","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LYPmu5keMDdu-ibNc-C_n","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M362qKu1x3LOOR7X23xxK","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5kwY3FWotI-uLN6C8ZNUk","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6H0GOzR5953WN4eKrTWd6","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pzmy8VJtzhpdqYTQEiqzy","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"CY-iyOrZW_7JMbi1fgZiV","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LZpAmMJfs0YYHlqbJ_f_c","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ydnvlSfSoUPADvhJUCY-K","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"d5QCaWqFHJg0hdG2v2jhX","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RD6Npss-PIZaBLGUf09p-","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5idVcOKt74bRAK_QbRBGI","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rvXkrIN7jlo_HKtHykfr1","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"s4ffjzL6v1ydcTKwBabAy","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mtTVvQFQK24gWTCSADJz0","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l8qz34ARMzizWZhOpm21P","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"c5wqlT5t2T8bTx1lzKmHq","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ioC9SSp_ii7gMNOwrpQZD","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this color layer (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"U3fbkvKyVV_aS1MGgkZUx","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"R4BL5phVLwnX_nDF5bqLN","name":"Compositor","brief":"","type":"ClassDoc","description":"

                          A base Compositor object.

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"rlnXegrTOckckln0Pfm3v","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          an array of vertex attribute properties

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Av9Z_42ceS3fMaSnNOOO9","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the shader currently used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e0skydNcduJWXNvtAj4jK","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the default shader created by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HsYPlF-JeoJVlAXvM81j_","name":"mode","brief":"","defaultValue":"gl.TRIANGLES","scope":"instance","type":"PropertyDoc","description":"

                          primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ry9W-wBi8IrEYWpaYhFVB","name":"vertexByteSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          the size of a single vertex in bytes\n(will automatically be calculated as attributes definitions are added)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hHEIJifHV5Zh2NsQLNQNH","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          the vertex data buffer used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dC-ObBinoVf37z_MJLDU-","name":"vertexSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          the size of a single vertex in floats\n(will automatically be calculated as attributes definitions are added)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ew7_w4iPln1q5Z9l7WXY6","name":"addAttribute","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add vertex attribute property definition to the compositor

                          ","params":[{"identifier":"name","optional":false,"description":"

                          name of the attribute in the vertex shader

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":false,"description":"

                          number of components per vertex attribute. Must be 1, 2, 3, or 4.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"type","optional":false,"description":"

                          data type of each component in the array

                          ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"normalized","optional":false,"description":"

                          whether integer data values should be normalized into a certain range when being cast to a float

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"offset","optional":false,"description":"

                          offset in bytes of the first component in the vertex attribute array

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"OGnkMOBM12eMRu_QeGBYv","name":"bind","brief":"

                          called by the WebGL renderer when a compositor become the current one

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JFdWHXQaGlhWLdOM6J_QY","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"renderer","optional":false,"description":"

                          the current WebGL renderer session

                          ","dataType":{"tokens":[{"value":"WebGLRenderer","kind":"canonical"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          additional settings to initialize this compositors

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.attribute","description":"

                          an array of attributes definition

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.attribute.name","description":"

                          name of the attribute in the vertex shader

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.attribute.size","description":"

                          number of components per vertex attribute. Must be 1, 2, 3, or 4.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.attribute.type","description":"

                          data type of each component in the array

                          ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.attribute.normalized","description":"

                          whether integer data values should be normalized into a certain range when being cast to a float

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"settings.attribute.offset","description":"

                          offset in bytes of the first component in the vertex attribute array

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.shader","description":"

                          an array of attributes definition

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.shader.vertex","description":"

                          a string containing the GLSL source code to set

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.shader.fragment","description":"

                          a string containing the GLSL source code to set

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"hMVN-TP4aoVBx-89JAEb7","name":"flush","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Flush batched vertex data to the GPU

                          ","params":[{"identifier":"mode","optional":true,"default":"gl.TRIANGLES","description":"

                          the GL drawing mode

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"OyrN2LYT90IsyJXzQhhWS","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set/change the current projection matrix

                          ","params":[{"identifier":"matrix","optional":false,"description":"

                          the new projection matrix

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2NoyOyeDC9-kmQ4RCDUFe","name":"useShader","brief":"","scope":"instance","see":["GLShader"],"type":"MethodDoc","description":"

                          Select the shader to use for compositing

                          ","params":[{"identifier":"shader","optional":false,"description":"

                          a reference to a GLShader instance

                          ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"_bbFI4jCNSEU5ksM7vo8g","name":"Container","brief":"","type":"ClassDoc","description":"

                          Container represents a collection of child objects

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"rllQxDxYQ1BSqPkk50AM7","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9mTNEJDlPNPUC0oji_LCy","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_QOtwHriEGCLc1dsYGyoQ","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"02oiQQ2LDnkIx-tdUXfVZ","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EnXUUTcYv4b_qyItNiuvt","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the children z index should automatically be managed by the parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qFYiWQfjfx4eJICQ4qNmA","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the children list should be automatically sorted when adding a new child

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LPNwipC8h63HO8iK4jrW3","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZVF0XZo-ZfOttw07zWWgk","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a background color for this container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AGvFpeu_RinNuWHrxB0xQ","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IXuAsjkWM1-1OiY64Xsxr","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w1FHTwnK6kUcVw9vbVKdQ","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MP2s4ynkkTL-JoZV7s2SV","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"onVo4Pzt-I3gLUra0nqTj","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mRFo-zv2gPdZf2a4eIrns","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the container draw operation should clip his children to its own bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uVoQP3mTfiNUH5OZZD5aH","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xzwm9E_EBa58Qh4c87dxj","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aMVkFrv6jozCQB5ocE0wJ","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F_Pn4pQLwGBAFc-a4twFO","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FjeK0g_zTpzuVyOpqqDqz","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3PoqfqWbvdLXlnreion9Q","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5bjJ4BmzN4moOmNkkR3z1","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U3lAsi4v9r1xIWvW-Iegi","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TNgGciDcbiCl7vS1mP7cY","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gZWSOMa4zpGfrCNb2my_z","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EZSZfO_rWvxvLVBhw61iw","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tdMBPgsD4KqJxwfajRvnU","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"67QEZ3Ae_bgm0OuQMPXsY","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LmqrQu2EA2bg3zX261VOK","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uwr93wXw6xCsWz7Zyde5V","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jwJ0kq-Roh_FmupqgSH75","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m2ghRA7GYsxkTO4J-ZKhv","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E9RIG_5UQZXZzLRovLLWn","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"J4ryJeIL7XldAroX5znFF","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k0YRRHL7KV6NZHW_negay","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dJS__4Z_V38YyzYaMrKWA","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"85NRc1_gpP7TKbUa2LFZT","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          whether the container is the root of the scene

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P7lfEAHBU7uSaRVu75542","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DUkB2vph-TV9vtlLSXh_O","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

                          The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5NM4hP7Z1f0E81j9zgwaj","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Nk1-TGF48QcZGimJ81S1N","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vSkqscUn2TM2ldHoFOYyH","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"42frC4RTn1gn8EnZuT8wc","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NuFQ2mhcE-iyLbeNh4vBg","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UbDb_H0Io2iMTUruItGSt","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Add a child to the container
                          \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

                          forces the z index of the child to the specified value

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          the added child

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TH5ih9ZGzNE4aBbyFwxmN","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Add a child to the container at the specified index
                          \n(the list won't be sorted after insertion)

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

                          The index at which to insert the child

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          the added child

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H4ysCSxyoYlUIpriph1R4","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1vEFIciPeZrw9wdL03KDX","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7mRcJfR5SWpCej_UT5haK","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IcTh6-98wzwj2ls-xisJy","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

                          position of the container (accessible via the inherited pos.x property)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

                          position of the container (accessible via the inherited pos.y property)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":true,"default":"game.viewport.width","description":"

                          width of the container

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":true,"default":"game.viewport.height","description":"

                          height of the container

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3lGaRnhIppSudpMUtTIPM","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"kke3N0Oby6rn69CbNymr8","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rg_1unX5_s33flMHDSoEm","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YmmTVdh_yq3QGOAnqatHQ","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iao7IPhALoG4W1_RHStCM","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JucFH20EYKHhunPNwyEKS","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ntfY3j9WF8dyef3wnZem7","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

                          The forEach() method executes a provided function once per child element.
                          \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

                          fnction to execute on each element

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

                          value to use as this(i.e reference Object) when executing callback.

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"Hg0UIyZOrrzWDOuNUyWeN","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cywRncYzn8vtfnahU_VRY","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aUmZ6gBSzQb7p09L24Dwr","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the Child at the specified index

                          ","params":[{"identifier":"index","optional":false,"description":"

                          The index of the child

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          the child at the specified index

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PIRJdJS8ndSBE_sslaxfe","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the child corresponding to the specified GUID
                          \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

                          child GUID

                          ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                          corresponding child or null

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fGmU-hyuthHE9QBrdnjDD","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the list of childs with the specified name
                          \nas defined in Tiled (Name field of the Object Properties)
                          \nnote ...","params":[{"identifier":"name","optional":false,"description":"

                          child name

                          ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                          Array of children

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"kran_hB_k-rMgOYAo_LIL","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

                          return the child corresponding to the given property and value.
                          \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

                          Property name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                          Value of the property

                          ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                          Array of childs

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"4QcyR2dAuAs46SaEACcx-","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the list of childs with the specified class type

                          ","params":[{"identifier":"classType","optional":false,"description":"

                          Class type

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          Array of children

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"wit2Z39wgST1MTVzPSV0P","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the index of the given Child

                          ","params":[{"identifier":"child","optional":false,"description":"

                          The child object

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                          index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OifvNyKeIpR48C5uaRudw","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return all child in this container

                          ","params":[],"returns":[{"description":"

                          an array of renderable object

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"BvkxZt9uy8PZMniRZEPDk","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"sDub-1qPA7a5JKljjeTfr","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the next child within the container or undefined if none

                          ","params":[{"identifier":"child","optional":false,"description":"

                          The child object

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                          child

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"otaxF4ue3SypBeMm_TLud","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DHWd9Pn_HawvK2AlW0xVh","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the instance of the root container (i.e. the current application World container).

                          ","params":[],"returns":[{"description":"

                          root container

                          ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zS5iG3j0VHp_jGdePycXR","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if contains the specified Child

                          ","params":[{"identifier":"child","optional":false,"description":"

                          The child object

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"czdIAJuIZrKkO4htqhM-f","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Checks if this container is root or if it's attached to the root container.

                          ","params":[],"returns":[{"description":"

                          true if this container is root or if it's attached to the root container

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fk46D2s8TP0jjLRtMbwII","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"UjyP25i-jgytEiM994Jhv","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"geWtjeyau2K5t8WqObl6i","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"myaejMbbHZP6V4r97ABYn","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the child in the group one step backward (z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"rTXUGV2yGflqsEgNROqnq","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the specified child the bottom (z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"sWhO1wNf4r6qlvWFbvMEt","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the specified child to the top(z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"dlCA09Bwd2DseKKErcDsG","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the child in the group one step forward (z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"xJPVZrqIT03Odv-pLHrw8","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

                          a callback to be extended, triggered after a child has been added or removed

                          ","params":[{"identifier":"index","optional":false,"description":"

                          added or removed child index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bIHe2PaZ226X6FT-iQBOK","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"otgsmEawku3ByYT2oD7c3","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"95eK5M_WEVo8fkoJutAPn","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"eNgq5h5Auo1rfZ-GXTM83","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"te9eoPpK433yym0hXslUO","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"DEgeYbu6SRNPTM6iHlS5I","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HGlrnqS1I9osGNr-_sJta","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

                          Child to be removed

                          ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

                          true to prevent calling child.destroy()

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"WwmCJR5-6qqDK4txwQsY-","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Removes (and optionally destroys) a child from the container.
                          \n(removal is immediate and unconditional)
                          \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

                          Child to be removed

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

                          True to prevent calling child.destroy()

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"o2-7LghZEno_AaEq3wgZG","name":"reset","brief":"

                          reset the container, removing all childrens, and reseting transforms.

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sIDi-nlxCngEQRjmNL_q9","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"u-NhEx2dEDsoz-EC4X36W","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RM9btngfh4Uo_O_aZ1BFa","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KrHxpOrxqKzf0c3savBkg","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Rl0YqOqnm4X8leGmPeeK4","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Automatically set the specified property of all childs to the given value

                          ","params":[{"identifier":"prop","optional":false,"description":"

                          property name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                          property value

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

                          recursively apply the value to child containers if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"WRfo-HhhegArqpmh0-bfo","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"HGv865OdGt1jB4AqUMBuP","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZRzI3XTszXjcyyku7O3_z","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LaVR2CofsYwnf7tGIVL58","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"DydlAgtkXOyIWssu-vbSB","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Manually trigger the sort of all the childs in the container

                          ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

                          recursively sort all containers if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"fkzUZtY82ilxVc6yRLw3i","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Swaps the position (z-index) of 2 children

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"7ftVCES4d_LDgcwF6fKMu","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bWs-6Lxgxkm-AQOdoxkKm","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qQQaDIifzTc_WaUKYPMpu","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"O1voZcYW36QwM4H2EXdpV","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"f1Wk9cbHkIXVC7oGfaDSx","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"g9HxrlEgqOe3rt7bWu6-X","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ogY21jZbbHFljCFjC6-mv","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this container.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this container bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Tt4gblJiMiQD1dTvvmwA6","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this renderable (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"0fumJA6BsutTSVJaxfFv_","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          container update function.
                          \nautomatically called by the application update loop {@link Application}

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the Container is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fzOBPhR-Uv6_FXdrDVKXH","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"qSOFHs24uCMnVQ9R2oO1k","name":"Detector","brief":"

                          the Detector class contains methods for detecting collisions between bodies using a broadphase algorithm.

                          ","type":"ClassDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"J3U4tALxO2pdYIpmt8dLx","name":"response","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the default response object used for collisions\n(will be automatically populated by the collides functions)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fXPb4QcTR7OYZLtAqe6EI","name":"collides","brief":"","scope":"instance","type":"MethodDoc","description":"

                          detect collision between two bodies.

                          ","params":[{"identifier":"bodyA","optional":false,"description":"

                          a reference to body A.

                          ","dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}},{"identifier":"bodyB","optional":false,"description":"

                          a reference to body B.

                          ","dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if colliding

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HGdL01ycaEbGH2LN-gHAD","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"world","optional":false,"description":"

                          the physic world this detector is bind to

                          ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"0DLZYns8RW5X-fIU_dA9R","name":"shouldCollide","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determine if two objects should collide (based on both respective objects body collision mask and type).
                          \nyou can redef...","params":[{"identifier":"a","optional":false,"description":"

                          a reference to the object A.

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"b","optional":false,"description":"

                          a reference to the object B.

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if they should collide, false otherwise

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]}]},{"id":"Ij0MzZtt2kJxQ8XvGBa4v","name":"Draggable","brief":"","see":["DropTarget"],"type":"ClassDoc","description":"

                          A Draggable base object

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"yHYxX-WPR7doT98N3UaOg","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I5qCWg8RdxtW9mdkpMwFd","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aEapBdw-lPKM80gPTYUzP","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yGm8r3zDQ2VqMwn6SBgVH","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"olzUpiwjCIA5IQcldeYUm","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wqq88GxBsAn2AmgKTkczl","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JitoXkLowsOMFSzICRbbI","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"13AzRwydf3fpoXKQDmH0e","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G4tAnpYNtMQrLPTJggkIP","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4h0_knoWaTNylGKG6PDhr","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-sVnvR5uDBuolYdTypUO8","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gg_zxk1g1wX6c9pVnCiqW","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KidM2TB4h6bqVzn1DqzDQ","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yWzBtFIvA3yxMcwFPIpLZ","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6U-UqN-Ue8zqy8m7HS1dV","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OwzpMMPKz-tOahIM207tB","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C4x8W0ecezJ9OibBKL_5T","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ATDj_xhltdO_Arh77h6k0","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fIpm7jVjo3NrN3cbUb9xA","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3F6_Mv2WPIa8cBq8idoLC","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4w2Liamz7Dzc1hSL9kmmf","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j4B5UcP1phUyj936ORisl","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pOt5QYXYUolew5uG0_OJw","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bfWDqjlwNpn7V9r28FyQl","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bbzY7edZ4xkwJ-Fv21WJP","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lWihuJksnNRWtifDQ07oN","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7cXtJnBtmzzjgRFi4MURE","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"T8gvl_TTwIMCat3pG0mpV","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pGyVJPZUM-5tyM4BDNFzk","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P1-nKOdQBMB45LoZb34BI","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"10qm1OGCmtxUFrz2ymRcb","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tLQiZ9BwT_8MYpQwUlol1","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TApgs5xy-hi3tK7DWYWAH","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VPAKONWqASslKp-SRYLEW","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z85K51r7SFytBVv8HNhpP","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6A_5WEKNyzLw3tHT5eou4","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qcDBOQs9A2LlnoLeql29k","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MKHxdhj8dxnTTqgst-Ptz","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ldLnaj2GHhwXWALuPZfN3","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WRzHFvefDh3G14UfTD9fC","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the draggable object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the draggable object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                          draggable object width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          draggable object height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"h14qmfVLNQkAgYZllz6N0","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"A-bpuBqzdUygvogQaTt7X","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"psz33xohDP2IbaSx2dkJl","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"D9lV32UVoSznRtWX8DmwF","name":"dragEnd","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Gets called when the user stops dragging the entity

                          ","params":[],"returns":[{"description":"

                          false if the object stopped being dragged

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"vXJXKjyaVHek663KJohaX","name":"dragMove","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Gets called when the user drags this entity around

                          ","params":[{"identifier":"e","optional":false,"description":"

                          the pointer event

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"cmAzfR9cU1nOoW5B63vQk","name":"dragStart","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Gets called when the user starts dragging the entity

                          ","params":[{"identifier":"e","optional":false,"description":"

                          the pointer event

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          false if the object is being dragged

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"bkZWgcBKCtEXjYarS94hI","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"tj-iU8-ZtZUbZWLsjGL2Q","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Oc0yYERc49E3p35O1sTL3","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"onEooiq7zayWlNS6ucOKS","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GfslXa28xD0BVCXik2aWo","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"T4Du_37NhvSix1lp03ruQ","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hzgL0E0Nt6--9z3gbNBCO","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"pyVREKbsKseOisBjnqLDw","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YI69ORCycPxVHrWL7IbAh","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"K3POFm6ed0TSeidyURV0s","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TiYNdltK5GlVTQjf9t0-D","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"W7nNKh3evw_HhsD1JvafR","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"lnep-osUxc9fsRB30vjCy","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XNXQpeTTL_t_7PFPJkx20","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"eeJiWppCih25EWxB5DJRR","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"DTG_RxV9tRVbRRrmcLvnD","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"1tGuqp6t4GHiL737UcljM","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"x26VMCaA5D3SMCDFPzpeA","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"abCzMvkxmYP1g4dHxjYk7","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mmTPqvWuGI3kmqTB-HF8I","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"emFiXhlfVhPRG93hvneae","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mcGLNomcpRmF0cjaIM2jW","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SfWMh1kjHn46IELPTxyTG","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lgMTYRH65hZJ6PLTeSHI_","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QrVxn9vjbaL14EWKppWde","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vtANGTKftIdgzboaRPrmA","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rFLhMV5iqpJNofb1ZTBDf","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lI33wwBI4-sGlYUvWY7hR","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EZ_HRPGYcsdkAQjHY64s-","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bLexl-c7VVYSJg2-w4Fuo","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uQ8Z4qmROrqIDF0_Q6UYo","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DAYCNuuK40nidmBrMAMdD","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"htUFdI7NYAQ3ZarltcZmI","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b8mpBhsSayWpiw07Tx2H_","name":"initEvents","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          Initializes the events the modules needs to listen to\nIt translates the pointer events to me.events\nin order to make them ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U5W8HBDKmaf9BeM-Z3PY2","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"NWmtJX4sCCM04x5xl7XlR","name":"DraggableEntity","brief":"","deprecated":"since 10.5.0","see":["Draggable"],"type":"ClassDoc","description":"

                          Used to make a game entity draggable

                          ","params":[],"returns":[],"extends":["Entity"],"implements":[],"members":[{"id":"X0f-E3bEK-MH1G7ct_-Gh","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          dead/living state of the entity
                          \ndefault value : true

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rB5h_IjyjUplSMg5bSojW","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kuIfI8oUEx4RXwlTlJtxo","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ShSzTgflYsY2noAduLPMG","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cjJm7q_zbtaTcndIhjvhL","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cgOff_aaBrGUwd9z2vW0o","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AiRZOXU9eKjzohM193uqu","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q9DKM1-L5UvY8MdeZMuJC","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the entity body object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zARZvtuln_OXTBup9Y7QU","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qVsQsqErDyus1J4r-PKpK","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3ZF0IOnvCXWH_qXq0loCR","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9solcg4FbONDr3FlL3Lud","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mJwA2igjSPdolJrSw3LLJ","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QkEhJtGl_5amzmeGLGY6e","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o5ov03TTNEeV7sJAbyhpD","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OzEaeS3Zu6F8S4bmBc9ae","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VJ7Co9vo0fC-dcgI_cejj","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object unique ID (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wKRptxyveEwW7i4eeFN9x","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A6x7xvTusutPDHldx6w4A","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mBwEypMgIFVZjeLk8dTi3","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XDSIGr9RRXoqvYun-BSv4","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YoKFMKx9kz3YZ1GloO318","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EHzX1R5QjAeyK6Ksx5qhr","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7rq6FHwwzCXuyAX9Tft_w","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HnRxmAKVwkZLg2cCFheLa","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VE5OR-0mdW9eNfTi0bxlf","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hPefZjdOr-VWTKtmoP0nF","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XPTOT_lijJx9w9S9phaUd","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fA5WiV3bgLUeHCX1j2p-c","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qG3eaqQZhytUA09FcUXQ9","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d83vjRB_CzpEQR0aqFTL6","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G1OjoFi6RukSVFcgrCxhr","name":"renderable","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The entity renderable component (can be any objects deriving from me.Renderable, like me.Sprite for example)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J8kMPpkHoiVAVlrGBytzz","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QPiF2eaEclClpxFcBZezw","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TiaTLUcQavCxo_CLfesMm","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v36xgtzaTpFkDIOi6vaFl","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3J2HNlbbyk0l9UF7X6W7n","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object type (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l7zx80DJW7CshQimElJHq","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tGTIuUcnOGvC__-nxRF5M","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BdzjR_8cylHdCee1BeisH","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"23gJukOA7Lk_1zKLWvg0x","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"guC9drXJovUZAz4-wy2_W","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pLt0Mt6NwoUB9OonhVI6M","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the draggable object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the draggable object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          Entity properties (see {@link Entity})

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"24jUzyosfa60SuqdfBOYB","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"v9bf9AsS_aTBnbhF71h6g","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sb3eiJHaInqpkuwAJ4PtT","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"imdCryTYMnPt98ub8_E1J","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zVle7xHCW_NPfXPZ7rcW9","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HfmXL7Lgs0e5EKqPJGIFy","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jgNJY9EMU0xOvUOGw0Uy3","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iQs43YkiuOak-biAyGRfq","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5Iv2rqdjdzIiqyMZxO9Ir","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"2wMOrYXeMGMC55A3HY8rA","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8q8P7CmnAW1GrYCK-nlYC","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JhOL5YVZjYY1OGtaUntDl","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Vk-GDNSZPOdaQyMIfcdUM","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OBQW9j6ua3hLnmG2eYvCe","name":"onBodyUpdate","brief":"

                          update the bounds when the body is modified

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xoZpUI5kU3k5NL-EuucLN","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"_Y0UQY6KvrnHnsHXUfHgN","name":"onDeactivateEvent","brief":"

                          onDeactivateEvent Notification function

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Cxu7aAclGD9HBMlYrPdxz","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uegicD7FJaDUxUX2vphVc","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"typnExpPdK3CFd0-TazBa","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"4vu0YVeDCVlOOdczxYd5j","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"WEehJERfpUrFLypIjIbfD","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Hzn9NImKU_pXQNQcYeoZn","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8ZtcMvSkl6uUsVZBLDzjO","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wlp_ZRG7pSQIALBggDU3Y","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HNf9-DcbVFUbNFH_SppTl","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HCKisONSVpkI6LyYZ5t0Q","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_iwW8t1684GdhmqXwP6LW","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hirkQDLvmZDJTd7GWJGnQ","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b9NxbsZJcWnMGjQoa-gjK","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"nY4aNHfQ2Mrq6c3K69RQh","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pM59NLyTMangYQkTn-5nr","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Zqt_jzzOHEF7lRH4BuUNQ","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YD_n78VB65ryYj1x3fqXw","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Vx2Uzs8PSFEpfbAKynEGZ","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sZC3Mb5tbsVpTalOme8DU","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FrTD3qOk8sWZGX5Kl17Kr","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Lcy-y69-8v7TzDM1r5ybV","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this entity.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this entity bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ckOxZXF5RRXLqMc253hk9","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this entity (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"-geiKSgQUREhhkAlNTj4z","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"zyyuS_12avGi1P9m7djt4","name":"DropTarget","brief":"","see":["Draggable"],"type":"ClassDoc","description":"

                          a base drop target object

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"LR7QRIAwma0es9XWVjdLx","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZXypN5lC33_kF5OObp6TT","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i2nEV8Pi7ukkagPzQElT9","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uZI34lhVvzPAW4ZqdP1Nz","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CwkO_Y2LuipUCnuImvspS","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8hyOTnjdN2lHIxJ8yPJlE","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a5O_oIRyAwJ2iFvrAwJDG","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N4vfzNTwbtWIFTQlYeWcx","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n6M5M2PKUQ_H_g16i4Awb","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JUc5t5VjzUyq3s4W8xS42","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZLvksZ85OPeavIHHo0Iat","name":"checkMethod","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

                          the checkmethod we want to use

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z6IhL7WD1LvcMICOc6YGX","name":"CHECKMETHOD_CONTAINS","brief":"","access":"public","defaultValue":"\"contains\"","scope":"instance","type":"PropertyDoc","description":"

                          constant for the contains method

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wlKrsLvgi3YZkWk09CUJX","name":"CHECKMETHOD_OVERLAP","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

                          constant for the overlaps method

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C80e0YTj35q7XfFm_vOkV","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yHmsnaBwPf8nq5LPKA86D","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ksKrVLZ9i9Jm74Rr1Vkjj","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OBVrp4RsTFBfNhkZMFrVG","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LGiq0z7Yj_t9Ph_d7VVIQ","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9AEjPEVSDNZJXKyq3EJex","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2rASH3pkss8aYu0kqM178","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q_ehA7p4RbrHNHx3sF0IP","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fbPGc5VdR_t5KvZUG4IQh","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-2VmTc_0cuOtogrxYt5Hc","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s1P27cOyK94BDCgggcdV_","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KoohN96eZYEaEhg_AdJoL","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YIjQKGjrd1Aa2Uf8VHseA","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JftjSkmaNiPYCwSo1KnoS","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qxiXgQRRkr4zDEB2rSMJC","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3BIU6pSM5jd5FAYCgOFK-","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JUATs-P2OvhLettAna7zh","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lSTBIqwpjkRU2lm8A_GGv","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vPc0dB4hNzgyRbqfeCj2h","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BvmnhB4w86wV2pLWHDCvB","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fnZmd9yArN_Za-pNApAzV","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U58lPHdv69GP5cx7lq3Va","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7bP-_eeKvUgsw5TU0HI1K","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YgF1WwRVsVCTERcwgcbth","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PJrKg104TcEFfiQKhs8Rp","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G7XgYlh3m03zLre9DZ-c1","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JqZ0WPQFonKMi08E0VFYh","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IcCiedCkz5aqRaPeeo48H","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l8mtx8K44CfJMrvThk0uK","name":"checkOnMe","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Checks if a dropped entity is dropped on the current entity

                          ","params":[{"identifier":"e","optional":false,"description":"

                          the triggering event

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"draggable","optional":false,"description":"

                          the draggable object that is dropped

                          ","dataType":{"tokens":[{"value":"Draggable","kind":"canonical"},{"value":"Draggable","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9DVQdWiDFKv5jz0xOEigQ","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RbeOMuGE8mujlMoZS7fvu","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the drop target

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the drop target

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                          drop target width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          drop target height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8xB9lGeO-RLZRqDYENvy4","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iHnRhMgMSXXirChD0D0_X","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VgNBbKa1lU6M8Ue2qcrgA","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yFfmynUZ64TJqRhDFY5ob","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1Mh98r2Hh_vKYozk6TRcz","name":"drop","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Gets called when a draggable entity is dropped on the current entity

                          ","params":[{"identifier":"draggable","optional":false,"description":"

                          the draggable object that is dropped

                          ","dataType":{"tokens":[{"value":"Draggable","kind":"canonical"},{"value":"Draggable","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2FmGKnApXzfOY6eLmyRyp","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"E3gdaB_-FpzjFDkCK2phA","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PKg9A3_YmICuZKIipowz7","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VfnZbf6iBGYRyxCkb_2we","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LCz5E8ocSHV98Pw9Sdu83","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UH6z04RlMTrTpx6BjCrSi","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"s7QQYE6YMUWRBBlHYn9VZ","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jCA9Ky-7L5OFL7_f3BER4","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"1YxnqM2UP0H-Pw0_hDQTP","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"UcWMvQGQMQwFb155SRNu3","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Q6qcgpDMQ9hxWoWeX0n3y","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"GLly3wjry-npbbP-xhFdI","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QfE8v4ts5hu6Hk7QsFukB","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"P0In71SRNqTug2DiuSXFC","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"qnIna18pG_NQFkVb5r2_f","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"C3YLuvOi9PXK1LkrXmaD3","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DxyV44WxdGxpq6bBoL7hf","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t9wQv46xaKC_Gb4_4TDR2","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7S4kbDxDtwBfKOmjabatJ","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1JYVnmBCinjAEvpfAwFns","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3hwUdinAVbMaAjASvR3_8","name":"setCheckMethod","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Sets the collision method which is going to be used to check a valid drop

                          ","params":[{"identifier":"checkMethod","optional":false,"description":"

                          the checkmethod (defaults to CHECKMETHOD_OVERLAP)

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"LpUDL6wYjP11W4rCmVMhJ","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1McBkNyWGyfOMWX15a5KT","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"faDuPlHnadee5ErAVn8n5","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7MDAy_tad9jGk0hSFXxTN","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Do-T1PAL6otEgHBa-dp_W","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E2obSBBmEFEl5fH35_-pK","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YoHxFQ5HxiQxaEynrgRvs","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0vwA65hTlX820Z4SB9tO-","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_X5xhHk7-3k64Nfyp22AR","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4PbltIj2siCKgZVltuLtY","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BY0RpjKDj_vulyJm2eSwJ","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TizbS-HEcBfYHtbjbWG-3","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qt81IeX53_XpFliYeXMF1","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"_S9PJwzpEENsqyN4d99PH","name":"DroptargetEntity","brief":"","deprecated":"since 10.5.0","see":["DropTarget"],"type":"ClassDoc","description":"

                          Used to make a game entity a droptarget

                          ","params":[],"returns":[],"extends":["Entity"],"implements":[],"members":[{"id":"z6CzsfNZjQCDKY7vJXQhK","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          dead/living state of the entity
                          \ndefault value : true

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WClI3mT-xf7kKun8-Md_z","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oP9VPqeu6jrBV4bPFVaaP","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bpZKekF6RqN7aOx9v0Dv8","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"60l2U89QCimJuqOW6Vgh6","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ejWB_YVp-kv0d4jujbEXS","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IS15z6VDjpHfgw1N1TUxb","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UFn1_0P5cqbjJ3rTZSQ2G","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the entity body object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PO6sCaVhuXBMMI6IDfQab","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1btXSNLOC7m97pRGUCsS0","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NkN7TPTbMno0pKSllg4ks","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XDWy-xElDDruqqywj2UqX","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sDrLOLCjEbupLLI7_JDdO","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fEVC-kF3GwMItXPlRvyvh","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ki2YLBkg-YcLthhNGwAR_","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tK3E0vKAjhIYULGBSPEOH","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9UtwU_xKbs4XIToeVHRvb","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object unique ID (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rtPIiyHhuZXcH2OIRyUYv","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Recqj5H_rhiCd4dIgUDCM","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jEbNOwMb1gJB_vTHLpwqP","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4g4_V2WDZoSzJb1Y-zKaN","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hrcTOK-HZkiMzF4fMYULE","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V9kDJi7V_ysp9pfteCEoX","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FILSHTP2baOmCBpnKFGHI","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yJylavotEEIVuQZSJurEp","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qQFIYVrGUVEgcFuu9yNhh","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wN-qY7n4KR2G13-CqWqZO","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mg4i1rT_5PMNQ15ga7Yck","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"28q8h8CSUmavez8symN84","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E0cRp13ApnjAxPuYCE0pj","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6FQfBTxSbIxKbfXBnjPsU","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bqda7QRSmHx3i_Yo1w9CV","name":"renderable","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The entity renderable component (can be any objects deriving from me.Renderable, like me.Sprite for example)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JGN2a2dwD_5-0-S-D6BeB","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3Ni39tuwryumWpdikDERT","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cxnnx26_NlScsVc2Q4fIR","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BTYdzAIzsTLqwxIiawd8Z","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ajH5DvT_HKGU9XZfRnALB","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object type (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EUHCw0l5WL-ADZkFh_Mhe","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v_OfQ1vwKFy7iR-7yD1Is","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SC3lw0-qLtG5JZ3z1MEv_","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ng8m_dg_vcTYDGwyMBoz4","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EyV5G5fMKfTv5qjlN22l_","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KoMvTMB2qSdaR0OQ0HvC3","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the draggable object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the draggable object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          Entity properties (see {@link Entity})

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"blLE1BbSpHzDdrlmJERgr","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qFNSwiwM21f1Scp8dwmgM","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CWf-l42iL4ZUd6M2IWsy9","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Co-Oplft0dE_Q6ngNnqBI","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"i_lnmq1XpF_BJzZts2tA0","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"a-DAqURK7QmWoT2I2ij9e","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GAgbfD5Bs0KKFr32NNJSQ","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i0hZNfN24vhZ3I4G-uaEb","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F4VDEd5qoORvlfTsSOMLN","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"4j6OxFnnDqOlkfZd3_TY1","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0F9LyajbTPm8PtnRAtDsg","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"mgw0EfhIwUuqj-P9HeMtw","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"3DxBZj997Xfac9v3h80ZM","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bm-e5OObuHB4dgOwZ64zO","name":"onBodyUpdate","brief":"

                          update the bounds when the body is modified

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b0vCz46KW21Mq9FJMvY6c","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"zZ1ghXYQhxtri_ABVigUD","name":"onDeactivateEvent","brief":"

                          onDeactivateEvent Notification function

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9eRHWILfFqHckx5UzPt57","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UC588UO28xxcBXD1h2NPj","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"RhRuECjGdXfNCkEj0nQ0G","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"2gdlr_dbM8bxjLyeBT8lh","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"kctN8D4sr38nQoo-eM9aw","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GLtTIMSjQTH-L4S4OtRrl","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qUiS8qbG5DC4zjCDPw1m6","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ejbJ132YicImzwHX0I-6Q","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aif5trUck0X1EtyuEOebN","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ugyAI2UojhnJ8FONPpDDU","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"FuN0u7hHpSsb-erBHZhLN","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IkitorPlCKU_DMwMA_Du0","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zjDC-oqBwDvaWmHrWk862","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"shfTsiRcAA-VjOl_2paBU","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"r_aW1asspgvMpZ4QorlLS","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zTKxjSoX4Prlb54-T2cHk","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rTBTs6mbtANgd6-pwQ5ti","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"co2dVJFcliFxlE39Ap9Cu","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nb3q3MR5VeOdxsRLKe7ts","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9ndDTnFdRX9SkXdFL2ffP","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JawdpSgm6YEjdTCS9-QZj","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this entity.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this entity bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i-StHkwH928JDbUWqbRug","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this entity (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4rCptvFcIisMOwxJVy04a","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"jjt0AZ9S7f4aVGNbfQDUl","name":"Ellipse","brief":"","type":"ClassDoc","description":"

                          an ellipse Object

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"zdiO33Gzu6GBoQWGRf5vW","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the center coordinates of the ellipse

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gHXDj0yxJpwap_OR7nemf","name":"radius","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Maximum radius of the ellipse

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8SJ10J8LTxA9bjrUyvpBa","name":"radiusSq","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Radius squared, for pythagorean theorom

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HVaKb1V-20z9jqRQ462Lm","name":"radiusV","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Pre-scaled radius vector for ellipse

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PPM1LHglvMkGe9NHoFgEo","name":"ratio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          x/y scaling ratio for ellipse

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q0G6Wtl3rqDQG7yeN_0G0","name":"type","brief":"","defaultValue":"\"Ellipse\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eGbHAe2SicJdPfdNRCZgh","name":"_bounds","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                          The bounding rectangle for this shape

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TGrg2wvqBnJ0rfKXaDQY6","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this Ellipse

                          ","params":[],"returns":[{"description":"

                          new Ellipse

                          ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_Iosc5HkbQPUBBBI1f-Qc","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the center x coordinate of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the center y coordinate of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width (diameter) of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          height (diameter) of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3rN-MfZIvh9E098wy5doz","name":"contains","brief":"","examples":[{"caption":"","code":"if (circle.contains(10, 10)) {\n // do something\n}\n// or\nif (circle.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          check if this circle/ellipse contains the specified point

                          ","params":[{"identifier":"x","optional":false,"variadic":true,"description":"

                          x coordinate or a vector point to check

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if contains

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"xbJNaKMJz1dNGLM2cnVT7","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Cr-62zzt6U9SvrnMpP-lw","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this Ellipse (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ma_tTY3Ko5C8FX43Iculk","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Ellipse by the specified scalar.

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the scale factor along the x-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          the scale factor along the y-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2lwg3H68K5jy1IcADS6gE","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Ellipse by the specified vector.

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"c9ln4g0Nq6Xfg1_dxpUN9","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the Ellipse shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the center x coordinate of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the center y coordinate of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width (diameter) of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          height (diameter) of the ellipse

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4xM7TfyL5YcicsaqBOfX3","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the given transformation matrix to this ellipse

                          ","params":[{"identifier":"matrix","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y1Rfz9igxSc9bmx3Sif3j","name":"translate","brief":"","examples":[{"caption":"","code":"ellipse.translate(10, 10);\n// or\nellipse.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the circle/ellipse by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this ellipse

                          ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"GCUklxAJPkSco91e99twM","name":"Entity","brief":"","type":"ClassDoc","description":"

                          a Generic Object Entity

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"5R__NFxY72cpQMMt4BYOo","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          dead/living state of the entity
                          \ndefault value : true

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9nEKmixGktJ-FTiaaHSfK","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bfz6EItb6HnLdsSz6lPBT","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jnn2ALMpI3wrcGXTLFZv_","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_oo_SVoxwxgnN0R3j8-ZD","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xn-qae_zdxHGZ-uMQr5rx","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xup7pIkW_YX_oR6xVndE3","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LkK_Y6lLoa8BvqceP1BOi","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the entity body object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2TAeg0xL0uLBtL6XG0BPH","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XnrCPrW_R_F-SM2h8hAQQ","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vK8k7mix0ObanGm1LsSMY","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4sJghEcMymRwNBKrEPI3E","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dHEydSEbyPyco7k7EoNCT","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VQ1a6qEp8_Kw6En4Mi23O","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"unB0Cvn2FQHcXGbX7AVsz","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RDO4K1NEMDSXvy0hQfbik","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iSNn-8P9aQSlqQH5UE4_w","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object unique ID (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gY7ateiNIS6xJcSEDIB1C","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vW9ns0ixaizMSdap8u_NT","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"01KyFrdMLQjJwlDZZqRf0","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G7-kPbHlJnHIKQ3T5HUgi","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wPqHQfq-o0kJm6KuFGlK2","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QP4NoG7SogtH5XoX-IWBE","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YA3YaZGsMj7NO0M5qL4jg","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w--lWw2ai57k4v3_ZrTxy","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r_aTEaY8PlY_aYKP0O1d4","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CIzhDGHatGumdpQk8d3au","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nRjAzCiDp-I3x3-SJTZrf","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hZc7CmuPVwHjAw1Wrmn4c","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6OeoKrlCpZ1JiZSyLs1-7","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Vc7yKAs_OAgG0BLrKb6fw","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CHJvOpsLB4ui3P2tgZdBf","name":"renderable","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The entity renderable component (can be any objects deriving from me.Renderable, like me.Sprite for example)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qU5fZDcAhzKY4awllH17B","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sIWfs8seyM24UXDnJbSUU","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PpcbcbO6C38hjnti7Seei","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JXKPylR0iCIL1fFiJP_Dq","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mjyIi_PWWWMRJdq85TmKC","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object type (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yaRu2isVw5-IBl-7RlK1v","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"htsZ3lHushinOVR6l2_Ll","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VephsQnece7GmmlpvOAYL","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Bd1s18VlpL0zE6yw05jeQ","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UfObQDrndomOn6MN7j95G","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ltCUpbUbKJYXe49aOclin","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the entity object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the entity object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          Entity properties, to be defined through Tiled or when calling the entity constructor\nthe physical width the entity takes up in game

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.height","description":"

                          the physical height the entity takes up in game

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.name","optional":true,"description":"

                          object entity name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.id","optional":true,"description":"

                          object unique IDs

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.image","optional":true,"description":"

                          resource name of a spritesheet to use for the entity renderable component

                          ","dataType":{"tokens":[{"value":"Image | string","kind":"canonical"},{"value":"Image","kind":"canonical"}],"template":"%1 | string"}},{"identifier":"settings.anchorPoint","optional":true,"default":"0.0","description":"

                          Entity anchor point

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"settings.framewidth","optional":true,"default":"settings.width","description":"

                          width of a single frame in the given spritesheet

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.frameheight","optional":true,"default":"settings.width","description":"

                          height of a single frame in the given spritesheet

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.type","optional":true,"description":"

                          object type

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.collisionMask","optional":true,"description":"

                          Mask collision detection for this object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.shapes","optional":true,"description":"

                          the initial list of collision shapes (usually populated through Tiled)

                          ","dataType":{"tokens":[{"value":"Array | Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Line","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1<%2> | %3<%4> | %5<%6> | %7<%8>"}}],"returns":[],"extends":[],"implements":[]},{"id":"Jicd_tcSIzYGxnQHsP9wO","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ywTxF0P-zOfR27kAscGm4","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bGsVq-xgHBEMeYYirEqR4","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3Rh1duFUcmx82Axf97NHN","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5HwwpD6WtmnNZM0E0OZen","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"q2xu_3bxp6JYHhn5EdeDk","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"saZtxHA6Pw3GhY7NRX3ed","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kI_njGmad3AJJmZsTRkhK","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"f8PRDxn83zXOsagydXbVW","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"mcZ8z3qtHlPoSRRKQ2g6f","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SAKyjpwj9zx3wxSgFNYG9","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HFR9wzuiWXrfRkGNZi-PK","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iC8BBz2QgRth_UcB3NqNX","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SdcqIUx3pZuh6mWOwIzda","name":"onBodyUpdate","brief":"

                          update the bounds when the body is modified

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dPw5udQFSY64qvmNCcv7f","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"jbHB3ej4OqSMA4tC7Ofzj","name":"onDeactivateEvent","brief":"

                          onDeactivateEvent Notification function

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WuwtG7BdEzLRy5N-3AVqk","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oUsLsdH7dbnwRrqANjeXA","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"9W6K89xZHHsGIJQ31Kezd","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"T-_S3PFxbh44QrixnSd12","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"rKgN3ffSWGrD_wIUK_6MN","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jZ4lDCNWPtIg4gzEslAVg","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"f-2tc1JI94RinMtdpEKmo","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lks14itaNYlXWDWXozo50","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NKbSLNAVnAWG7AAHkLS-i","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"blxbJjpSZgN32D81yMcBx","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"12lR8sjfSBIQqKM030eOf","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X6DbNkS7Fs_xeFaWFmYml","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Rsg8iXgGHUWC7DnPUHSnY","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"h3ThN9EVwl11J0xAMPkkj","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BRLJMD8VZF8d407DmCdZc","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DG4CwGex2aMTuZTWYhJ4_","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RWDewRro_LePMTQVpiDz7","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"73mW-YKhMxtzaUq3aMTEZ","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P_1YEPE9xNXECBLYAPzQv","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"U6PEESo57VbSQ5QSF6s6g","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"VPl8nCjXHpDjsmX45hkQM","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this entity.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this entity bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Rpa_3FXyyZePHgC5BAnAT","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this entity (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"z6Qhwz22fBOtiIq2HqKAu","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"S_nHr46I8KuCNzQVTiD9M","name":"GLShader","brief":"","type":"ClassDoc","description":"

                          a base GL Shader object

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Zh2b5M41kaShnmFx4Acv1","name":"attributes","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the location attributes of the shader

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AazhvLFK5iyw_Urtf7rFp","name":"fragment","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the fragment shader source code

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FXy64X6vsgJRS43dnOMYO","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the active gl rendering context

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4XD4fgUHDVWkvYT-cdLPG","name":"program","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the shader program (once compiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"475zYEezmHL_Zj1F1qwYU","name":"uniforms","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the uniforms of the shader

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l-7hO-sE-2mHwWOHJVnFe","name":"vertex","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the vertex shader source code

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yghb2XFTcEhDsO1Mzxz0R","name":"bind","brief":"

                          Installs this shader program as part of current rendering state

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lfrMKhufG9LHx2mR1hrPF","name":"constructor","brief":"","examples":[{"caption":"","code":"// create a basic shader\nlet myShader = new me.GLShader(\n // WebGL rendering context\n gl,\n // vertex shader\n [\n \"void main() {\",\n \" gl_Position = doMathToMakeClipspaceCoordinates;\",\n \"}\"\n ].join(\"\\n\"),\n // fragment shader\n [\n \"void main() {\",\n \" gl_FragColor = doMathToMakeAColor;\",\n \"}\"\n ].join(\"\\n\")\n )\n// use the shader\nmyShader.bind();"}],"scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/GLSL_Shaders"],"type":"MethodDoc","params":[{"identifier":"gl","optional":false,"description":"

                          the current WebGL rendering context

                          ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}},{"identifier":"vertex","optional":false,"description":"

                          a string containing the GLSL source code to set

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"fragment","optional":false,"description":"

                          a string containing the GLSL source code to set

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"precision","optional":true,"default":"auto detected","description":"

                          float precision ('lowp', 'mediump' or 'highp').

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"_an2EEp-z2ryFYOqwc9VR","name":"destroy","brief":"

                          destroy this shader objects resources (program, attributes, uniforms)

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2LBlDbpRB21NLYN9-cGU1","name":"getAttribLocation","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the location of an attribute variable in this shader program

                          ","params":[{"identifier":"name","optional":false,"description":"

                          the name of the attribute variable whose location to get.

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          number indicating the location of the variable name if found. Returns -1 otherwise

                          ","dataType":{"tokens":[{"value":"GLint","kind":"canonical"},{"value":"GLint","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xciT840ZZlMNP5wYgT8Rv","name":"setUniform","brief":"","examples":[{"caption":"","code":"myShader.setUniform(\"uProjectionMatrix\", this.projectionMatrix);"}],"scope":"instance","type":"MethodDoc","description":"

                          Set the uniform to the given value

                          ","params":[{"identifier":"name","optional":false,"description":"

                          the uniform name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                          the value to assign to that uniform

                          ","dataType":{"tokens":[{"value":"object | Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"object | %1"}}],"returns":[],"extends":[],"implements":[]},{"id":"r89WjgtaOWSrBbz1lDnay","name":"setVertexAttributes","brief":"","scope":"instance","type":"MethodDoc","description":"

                          activate the given vertex attribute for this shader

                          ","params":[{"identifier":"gl","optional":false,"description":"

                          the current WebGL rendering context

                          ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}},{"identifier":"attributes","optional":false,"description":"

                          an array of vertex attributes

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}},{"identifier":"vertexByteSize","optional":false,"description":"

                          the size of a single vertex in bytes

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"xy7h7gFNhl-qKes420UBs","name":"GUI_Object","brief":"","deprecated":"since 14.0.0","see":["UISpriteElement"],"type":"ClassDoc","description":"

                          A very basic object to manage GUI elements

                          ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"OCTjKV6Dhmnk7UxD89W0_","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KeGilaXlN4Xp8vrfF9T2Z","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FRjEHRQj3v_Zagq8MWXQH","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ymOqaNvza6jBd3Asy7x_F","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sDkgmP5l5wPaoD8JzD877","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nH7X9xpLsGGtvguZbMIK7","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FpgzLCJB89NwiGuRr6KlI","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zG521LLqo9ZPR2sCMAufw","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bGrvijjxqVQhy9yNb3pc9","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fHIY_vH0--Z_nmiJcEcFy","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o_AQjTHmE7LqGfKN2FKUB","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"stRrVIzITU6sZvLeVQl57","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZQOsW4vBBiCnTIat1HmS2","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NaH2SvEeLJMUm1Rt6mJ8R","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GO3z3sEJYbc5M5hOqe33V","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"epOk2ZjkzdQuG3NSIRbwO","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t0ITKB1FT7jWVikq3fuvU","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"758jzM0xlgrX9rZ5i6_xX","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0ZiElb54V6aAQ0UdZCv4H","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CWaKLd6Vx3g48mdyr8--a","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nJhh8ApqkywFFkXtpty73","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rP4oNwdsnFSBsulFNgXyv","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-uG1FtL-dEeva-CdS6AhD","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yhyyFxzvveFwS3uoZHUdS","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XWQDp98c9pCfd-lHKFLMR","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_wc5sJRW3D5tNpYbFhlhh","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"97Hz9FX4oQqIcVouDqbOJ","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I8nufOr6CXjhUuyvTO6HW","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6I6C3w5KaoCXlO71mmoMB","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

                          global offset for the position to draw from on the source image.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"05Duq_3sKroWeEHuY289k","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QdksfsLsoUkB2CsK7FKXo","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"J0FuhJAG2HuX8TnkSLtPv","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IrF8Wu9bIFXyoQU0XfHLk","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SWHvJIlW-zbIrhoeKw47l","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ui8zCM_F_pgbYO_YyBPP1","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1B4GmhDJqjnXtL4ttXDjT","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DLrumSBXbY7G9eBQrZ61n","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yOJAy2ZLd98PbGbwPQYIf","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wY-4irn5RNoLkovUDefxF","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nuE2ed-cGa4AcDysqKPxP","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"flgYttSAb2JmHfvCYdhNU","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hFzpc86z6tJAA9DKvn_ab","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          add an animation
                          \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

                          list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

                          ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

                          cycling speed for animation in ms

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          frame amount of frame added to the animation (delay between each frame).

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PSUTUZKre8E56BeVO1Otb","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nefq3KXV12g8bgq7lMwBy","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TolMiSw01gbuClbpRU_Xd","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L4YrNfcdiSkYmDpiUjOD3","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate of the GUI Object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate of the GUI Object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          See {@link Sprite}

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"kyiJ6qHyCG0_S8N1Le_9Q","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rT1S0MmCrA084GEs0Ob_8","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E-r3IHm7CIjYtc4vkPJeZ","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bA9LoMdgEdXK9Z2AyRiKj","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"eGjH7iVKHf18sNkevz8AW","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                          make the object flicker

                          ","params":[{"identifier":"duration","optional":false,"description":"

                          expressed in milliseconds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

                          Function to call when flickering ends

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"c-k2upp46zvEofbCyBIpc","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oPtpTVdSp2Ws08ZwTnp8D","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sOoO08ZtvvMoWAOUP-NF9","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fwM6zrG0oAarQ4Uwxcire","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2cyjPEHqDhreL7ntOMJUx","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the current animation frame index.

                          ","params":[],"returns":[{"description":"

                          current animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RaljX80xMpD1wW3MiF94N","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"CWAsPFe3-C--GHDDZ97xT","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qft371G4IpqXAtk9hzWFZ","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fGF05bEVaNN4J1bgJdrLN","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          return true if the specified animation is the current one.

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iaBSDvnM6fy_D3l_VLmKZ","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"uAh8CvL7GJXHKCxOEzxv0","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the flickering state of the object

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TJEx7gfW298qmGg8DuPJt","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"O25c80X5lDn15fXil2lqr","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"vNBhyJ6_YaM6KmJ0ETZJu","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GShVyGBLZTw8E3gnLkRDy","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"27e_Oa7pqz9heUWfUozoM","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YQo-dcR3xk2X3qGVFsK47","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZTS_AkqFrrsq19PszZAnH","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"lxqwtslMhmfDpW0Wze5Ru","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"1SKLXX_JtxuLMQEunjVOo","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"faWD36I4HHdrnzh6pXEeT","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E4rw_pqNW9u_ZOk5u8X6H","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          reverse the given or current animation if none is specified

                          ","params":[{"identifier":"name","optional":true,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hWJ3gLE9V-qSrDmk_LkuJ","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_1g7OgvNxNpDDevjpgYOW","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"V5gTLVv7tJ23y5au2nbI_","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OyQMEefloVBTCZJAjctDe","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

                          force the current animation frame index.

                          ","params":[{"identifier":"index","optional":true,"default":"0","description":"

                          animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WMXbh9NjXNO-19HakMxoz","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

                          set the current animation\nthis will always change the animation & set the frame to zero

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

                          animation id to switch to when complete, or callback

                          ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

                          if false will reset the elapsed time counter since last frame

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7S9otkzROGvLIV-LgaPj6","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JwQikn_AyEhof32Q-L92g","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

                          change the current texture atlas region for this sprite

                          ","params":[{"identifier":"region","optional":false,"description":"

                          typically returned through me.Texture.getRegion()

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WTAUekPnywgTnT8t9XJdJ","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ExdzODomRxQ-C5UQ6ttYe","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hRlH79HPLBooAgdnVOHYR","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"s8e11_LeX7DiOHGEEIb2k","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"prcSEOHAtytV41B_PEEz4","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RdxYdPhx4EbtVNUQ2YF2Q","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PUL1ZwjYhRsP8m5BVyuat","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9N0APCA3ebdvsmRT9C_Zk","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FAbQYdMzOGylwCpA6yC9k","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ojiNmbCv-wiiNwjXhUrDg","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6gnSZUZzd5HDbCu9jP6mV","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this srite (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"em2XEy_JAI7XwnXGbh0KD","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          update function.
                          \nautomatically called by the game manager {@link game}

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the Sprite is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"yrOSFeQc7CsNSVFknwpuC","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"6gfcfdYxFgN9nFhB6DwVT","name":"ImageLayer","brief":"","type":"ClassDoc","description":"

                          a generic Image Layer Object

                          ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"EFXo9ovozY51rMt8zR6g4","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XxQ9kSwB3XGrH8tIA-_eS","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"akrKCsAY6c5uqE9hVZeTN","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5yCODTU9zGzxNYhxf3S6N","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GfewFo0tunKg2HgORP1dP","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s9umQ7mTz2j-NeOYyo2K7","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ki5AW0McWUqTFgrJ42Az_","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8T1K6RRYR5WLmtCp9K3NQ","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sHDV5k58N9RHCeMMP9SNm","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uPj6LEak3B1rnp8c22r45","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6XW7MtPy1iU7-hjMcEIR9","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LHqwQyJK7fM-QODROklrI","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e39BS78fvl8W395F74UOa","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K6_ahOAskPR92ITPklj4F","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RYPfW-LGj1DD3-BEmh7C7","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hZCpluRy353nGCdZZ63Tz","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9WsGlyCquqo_ARwrlQsbK","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MrleV58YcMTWJscg7JZVs","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5U4U9Iw57Mic8UyoDAII1","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CbNiMDDkeNksyF3bA9ly7","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qKer9ZbGI_hw4CHsWDmBD","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FBZqmmXJJxeadlPRtqin8","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"es7aTdaoGgTio3t-KHCRs","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DZNjTK7FJFvzBlziUBLyf","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z92Ws1Ve46FLEadcPQMnL","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KEqPnepdfTIJAqxTsy7J1","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NjcTl385bI6RaPE0Dfsh_","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SpOJrbhKzCEZt0GxJ5xnT","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UgBKyAXKbI-35CudZ8lkZ","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

                          global offset for the position to draw from on the source image.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tkME3Hps9gISWFyThlMzs","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Od7P0471WneFUi3hVlILR","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4QNtKY84WuWitZ1sPDyiy","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YAVuzmyqmcbMWkhm67938","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DLSbfB3O4OCmtSMLf7RGO","name":"ratio","brief":"","defaultValue":"<1.0,1.0>","scope":"instance","type":"PropertyDoc","description":"

                          Define the image scrolling ratio
                          \nScrolling speed is defined by multiplying the viewport delta position by the specifie...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cli_3OGnOY-dEtiGmQYuS","name":"repeat","brief":"","defaultValue":"'repeat'","scope":"instance","type":"PropertyDoc","description":"

                          Define if and how an Image Layer should be repeated.
                          \nBy default, an Image Layer is repeated both vertically and horizo...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SPmtEEYuXoGpUiA5O-XRv","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mD58YCFZyvq6BMuYR_DzJ","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nnXCI7jgGiwEtxmjTlUBI","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Soc9KAZDndSQL91mn5e07","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gfdoGmByEJLN4n6KF20Xu","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zx6CejVhHYvz-7vZKNujn","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Eut23WQotWhBZEjCCuy3l","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r00hVKsMoJFwuM48LDur0","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9gs-2RjVkdH94tcK_ncKM","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          add an animation
                          \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

                          list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

                          ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

                          cycling speed for animation in ms

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          frame amount of frame added to the animation (delay between each frame).

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4iAIWUIJ6UsKlDQsp_AIL","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jN5-O3AHyEc8uBqR1GUNF","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"f0tIHxAT-ogzZ4HYf_AXa","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SizAfukPtSiU5eKPxfdBL","name":"constructor","brief":"","examples":[{"caption":"","code":"// create a repetitive background pattern on the X axis using the citycloud image asset\nme.game.world.addChild(new me.ImageLayer(0, 0, {\n image:\"citycloud\",\n repeat :\"repeat-x\"\n}), 1);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          x coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          ImageLayer properties

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.image","description":"

                          Image reference. See {@link loader.getImage}

                          ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | string","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1 | %2 | string"}},{"identifier":"settings.name","optional":true,"default":"\"me.ImageLayer\"","description":"

                          layer name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.z","optional":true,"default":"0","description":"

                          z-index position

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.ratio","optional":true,"default":"1.0","description":"

                          Scrolling ratio to be applied. See {@link ImageLayer#ratio}

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"settings.repeat","optional":true,"default":"\"repeat\"","description":"

                          define if and how an Image Layer should be repeated. See {@link ImageLayer#repeat}

                          ","dataType":{"tokens":[{"value":"\"repeat\" | \"repeat-x\" | \"repeat-y\" | \"no-repeat\"","kind":"canonical"},{"value":"\"repeat\"","kind":"canonical"},{"value":"\"repeat-x\"","kind":"canonical"},{"value":"\"repeat-y\"","kind":"canonical"},{"value":"\"no-repeat\"","kind":"canonical"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"settings.anchorPoint","optional":true,"default":"<0.0,0.0>","description":"

                          Define how the image is anchored to the viewport bound. By default, its upper-left corner is anchored to the viewport boun...","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"K685VdLFNyfA28VcSONCV","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"axwBnxIBjmLsXNHMa8w3E","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qRu78sVeldLIw_hH4X3iG","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7zSPblT19oCftXD0ofj6U","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"oVwMXtcxlDT447THYZPau","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                          make the object flicker

                          ","params":[{"identifier":"duration","optional":false,"description":"

                          expressed in milliseconds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

                          Function to call when flickering ends

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HGT4JGYQbZfE95Ut_G8O7","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Zk7DtRFLrGMJZ2rWWDg2x","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"R1Rphn9UKVVMooAvGAYFE","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FK1JjyjhXVTDl-jfJOj-Z","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9S4uoQd2QA1JVWucOH5xN","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the current animation frame index.

                          ","params":[],"returns":[{"description":"

                          current animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oc6vDHerhyn_huaFCvKGY","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"O971OCydN8gXelCuyopN7","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wMVPJwQZJw_vtYTd3IYnD","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"j8_IbgYlou8rbbr9rfv3U","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          return true if the specified animation is the current one.

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"3SkMub46E56d1YGWuTCyP","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"thrheaD8kD0weaHoz5b3N","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the flickering state of the object

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"suwcnSdOL3hlVDTTi__mr","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CYPekHQKdLNIC7FNLPdrI","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"15OQ7QA8QOuKtj1QuuCbP","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T4bbLQxFiesFYCo3k2uJm","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"M1vaUpn71e6daRJH0eKdU","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2dXxa6EVXxXFwJKY-Zew3","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xa1BuJ3zThNBudAi5mpbW","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"Tmd1-5pH85BMpkEGp2DeH","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"gbUCO6Yr008euvqj9euPB","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fdGeBTHZnO3q6tChDt08n","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the Image Layer to match the given size

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"287hu9yaqihRFGFK7r3uG","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          reverse the given or current animation if none is specified

                          ","params":[{"identifier":"name","optional":true,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pfBOZSANvzbdHEFQgjkuV","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"e-YasRfWtzJFVTb94WY8D","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yoDugl8Iwgw-hGzenACef","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6UsKFDa5waT-YFCNl-_5S","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

                          force the current animation frame index.

                          ","params":[{"identifier":"index","optional":true,"default":"0","description":"

                          animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ylw0Nh0TbHiH1etT5qWWv","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

                          set the current animation\nthis will always change the animation & set the frame to zero

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

                          animation id to switch to when complete, or callback

                          ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

                          if false will reset the elapsed time counter since last frame

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"C896KCGfzP9QEZRjFVbeK","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QWWRX2AJ6eSB09AlzMP-I","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

                          change the current texture atlas region for this sprite

                          ","params":[{"identifier":"region","optional":false,"description":"

                          typically returned through me.Texture.getRegion()

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pzbRTswiyxYYblYObmIbv","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rWh6-4op-VgvZAJd14sA4","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6Vluytps3FY9uKpB__thh","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"aDMY-jyTZ0BMcjUmh5wiI","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vuUnw5Z6klKfjiThVk-nz","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wdGAejeRJz-sfXk8gQ0Wi","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OrtzrHkhFG_WwRoRryRJ0","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0_vb2QaPrVdOtKAblMW4B","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-Bm63BT2arB-JQ072ciIv","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YZV1EFaPUxPIXnA3UndtT","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fO77RvaVSeLUMZx0ANTiW","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this ImageLayer (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"19QcLSEe60tezQc90bQut","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          update function.
                          \nautomatically called by the game manager {@link game}

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the Sprite is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"cr8PDHlKa3DAGApZ3tzF6","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"WdCfry3aitHMGX6pxPheE","name":"Light2d","brief":"","see":["stage.lights"],"type":"ClassDoc","description":"

                          A 2D point light.\nNote: this is a very experimental and work in progress feature, that provides a simple spot light effect...","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"vAORPJgF6rb_34L1cEBtO","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C-nypnvEJb9aI2U8ZDMY4","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FhudbGJ67JoT7lB2KQaW2","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9_VVO6UtsxzIz3VrJLXg9","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wFDNglAIITVwH3Xionw0A","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-pJLcNww9jIo9x458tgXg","name":"blendMode","brief":"","defaultValue":"\"lighter\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the default blend mode to be applied when rendering this light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2f1aWe4j76-CZKKejYMwy","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ufPJUTDBOqm5PkLtboAYL","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yREg4DckaR9ux6bNgxDf2","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oYwuyilvYJxOGwXbl7fZa","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h5LML6G-Lkj44f6lf5e_8","name":"color","brief":"","defaultValue":"\"#FFF\"","scope":"instance","type":"PropertyDoc","description":"

                          the color of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FwflEnUX0PL45KppOm2wH","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AL7hsRsadfAmho06ikWt5","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KGfjdtXETc7s3E6xfVAGV","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lXXDicrxxdqjApbAqVBcl","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GEn69DF0WiGFmdmPQg2gC","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x5eHJAE6hkK3quDJDZm-X","name":"intensity","brief":"","defaultValue":"0.7","scope":"instance","type":"PropertyDoc","description":"

                          The intensity of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"afZjtmNVyNqPC7eGhTcf6","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cKMG842AXWbD69qvOiPEX","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R4UuiyaFsGoUAgy8mlhWl","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZZKNrPgwWnBPnzmILLk6o","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vwhSkmyaxUZJ-e23BYWd_","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Goy1-4J4pUoOAkAzhU7xh","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qSFGy_9_e-hlznECF_HMW","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"On3a26jKauvC2y3u-eRXu","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YnnEGE6E6gJXPVVlsUHcL","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fIRuBqf-CG0_yCoETdRfk","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yh9VFG2MxHRP_delPlNgW","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yyZN-ZEfCdkkPmvbB_cPn","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IU5QlBB9OHsluWrygYVjS","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lpQt-1i0qBeyKw8vJ9iTk","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dY-eRc3nQCjQze2frqNYh","name":"radiusX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The horizontal radius of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WK8ziZbFLwSMOPob9vDE5","name":"radiusY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The vertical radius of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rV1HGoEMg1MKOVdGX13Ed","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0Hw-2muvvMMCGTf1h0ZFm","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eK73ybDRPZsjE8cAfelnb","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3wcio2R_tJg5FC6W02nfP","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N_oerTxtunJ2HqezpaUwC","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7rUfi3gWgD_Zl20Oogmd2","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SDsJsXjxvSWZQSfgT8kuY","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AnmcEAHGbQzwl8oHs4C_7","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L5nPKRoZTfRvgEKL7cj7F","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iAhbDeiTsHf97tePpzzKj","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xZHUKK79Uv27_xfiSNBWX","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          The horizontal position of the light.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          The vertical position of the light.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusX","optional":false,"description":"

                          The horizontal radius of the light.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusY","optional":true,"default":"radiusX","description":"

                          The vertical radius of the light.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"color","optional":true,"default":"\"#FFF\"","description":"

                          the color of the light

                          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"intensity","optional":true,"default":"0.7","description":"

                          The intensity of the light.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"gNW_EJ1EKLoPHNoXrLuUF","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PVHpoUcL2wox7e_AYseo7","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DvLdSteUvC9Cgjia_S2i1","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6lBz_vTapiURxwR4WvGZI","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Rj_mVromTvFVjjiSyp3_o","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"28x8977hsuhwGF785m4V-","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ogdduf7o0RLyOld28MRA2","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kSmotrGp4lfOmn6LT29rh","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gQYhkmyk-BrzEmhsvca3z","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"3KjmF6e_s5YnrdckhW1IE","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NWr_cJDTjfEeiVzc1Ghtm","name":"getVisibleArea","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a geometry representing the visible area of this light

                          ","params":[],"returns":[{"description":"

                          the light visible mask

                          ","dataType":{"tokens":[{"value":"Ellipse","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QU2Dh4dMTxRT2f6ZhTi4d","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"wqxHL_Pm5EOQ6eI6dS8bv","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JBcN6dE7at_qlLaRmW72X","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gNp7naS48n6FgMefTOzcY","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TPwr4OatSrdC-rNO4hiP_","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vmUDfKLX58xMbittFgytv","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Tg-0yTK98ZdRLo-U8zJDh","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"LvmYeBoWh1eLdjZG5d5ls","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"_CxCPLBH9cRd8j8sUFMGb","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rz01OEJCWNtheEmAZZ73s","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9ecUuea0-xUAu7fTQpp2Q","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Pn0dNY3gy8baPz0kdj2il","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Pv3lMKX-0RglruJO-ZS0v","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nBrwgaj7T3rwPxLPgI7S-","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4s0yOH599JkhyjgZo9R6k","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tg_0z00ZvmbqRmWY7I2hi","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Z4mh6IX_wA3iyoZgL_znx","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bSoI0qaalU0pRKtYa8Hf9","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wSNN8mk2Jy0yc7slplYin","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"44vbclHprl-YD4c7w-cw6","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Mh6M63zcH1I0Hui9rtWie","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BuU7iGnIMEIPpgRxOUNaa","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2-H0UUoBra8QYpAbsD02T","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OTPbbB-GFkkW-iBJfoyEW","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"QbdWA-YP1bdb2ri_Jd4Vd","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H3akYjcoW_BKBaH-4gbtI","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this Light2d (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"KV3Ij0JQ97VcXxaGm8R5P","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"jWK_TVM_TTE9QT-3c0BeO","name":"Line","type":"ClassDoc","description":"

                          a line segment Object

                          ","params":[{"identifier":"x","description":"

                          origin point of the Line

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","description":"

                          origin point of the Line

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","description":"

                          array of vectors defining the Line

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[],"extends":["Polygon"],"implements":[],"members":[{"id":"AlZSEFW0hT69sCqZeWYdr","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DTjRWdWHMk6gvskhE-JzJ","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pOXTA7X8noGM78r2Cj5oU","name":"type","brief":"","defaultValue":"\"Polygon\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QJ2u7A4bWfCVSxU5gRv0B","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this line segment

                          ","params":[],"returns":[{"description":"

                          new Line

                          ","dataType":{"tokens":[{"value":"Line","kind":"canonical"},{"value":"Line","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yMHt77uBcfCcuXUxvrJAu","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","description":"

                          origin point of the Line

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","description":"

                          origin point of the Line

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","description":"

                          array of vectors defining the Line

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[]},{"id":"a6XeNNL0lOCBXxgxXfICp","name":"contains","brief":"","examples":[{"caption":"","code":"if (line.contains(10, 10)) {\n // do something\n}\n// or\nif (line.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the Line contains the given point

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to check

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if contains

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"l54xSMZ0bkfzdbO-firxw","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DeCRGFpjdtTzVH86wHgIU","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"iLcCKW4pB7QRmUsI2VsNW","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"nMyBleNJWrLDCUjm9HOft","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision edges and normals.\nThis must be called if the points array...","params":[],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Line","kind":"canonical"},{"value":"Line","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-Ma8qqKP62MOdDaTlE7ow","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_sRDEVpSK4DqkxX-2RX2d","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Polygon by the given scalar.

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qXXrsIfI1qGJeq3n54M0E","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Polygon by the given vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ymKsWjvJzgJg49l5m018H","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the Polygon

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Polygon

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Polygon

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2> | %3<%4>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"v7eOUM6ZN_2bU7k0jIt0y","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8Jk-esl8kXA_JxkBiuCQL","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"h1KgapMUz_jAKSMZHxUZJ","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PQEGebqmAuEfD8p7D7ewc","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"S-a9VorsteKuH5-10lPwh","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the given transformation matrix to this Polygon

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xFSLnKJEreMBY1yCpTbbb","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gajATUx0L55hQOp3hiFYy","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"9Cjffq9kYt-TxeCp8sH7V","name":"Matrix2d","brief":"","type":"ClassDoc","description":"

                          a Matrix2d Object.
                          \nthe identity matrix and parameters position :
                          \n

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"eAO_lcUSvyk8dNWGspKrE","name":"tx","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

                          tx component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"40bGDzRq5RtWVRhfPD5dV","name":"ty","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

                          ty component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RguoXMlPWgdx_MzGCjucR","name":"apply","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the current transform to the given 2d or 3d vector

                          ","params":[{"identifier":"v","optional":false,"description":"

                          the vector object to be transformed

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          result vector object.

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"ANtKZiMwo4pl_Sr6v9ODa","name":"applyInverse","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the inverted current transform to the given 2d vector

                          ","params":[{"identifier":"v","optional":false,"description":"

                          the vector object to be transformed

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          result vector object.

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DbKSxXYXSmejhAcQLRrGV","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Clone the Matrix

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rQFyrCZQVz79RdN77BcCm","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"args","optional":false,"variadic":true,"description":"

                          an instance of me.Matrix2d or me.Matrix3d to copy from, or individual matrix components (See {@link Matrix2d.setTransform}...","dataType":{"tokens":[{"value":"Matrix2d | Matrix3d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"Matrix3d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2 | %3"}}],"returns":[],"extends":[],"implements":[]},{"id":"L7zcZO14Mzr4-VeAK9FkX","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Copies over the values from another me.Matrix2d.

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the matrix object to copy from

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aHH9VgbZD0nPO8wC8jniX","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return true if the two matrices are identical

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the other matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if both are equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"FnXAKDKLZ2quZwG_kjBh9","name":"fromMat3d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Copies over the upper-left 3x3 values from the given me.Matrix3d

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the matrix object to copy from

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CMdOU2o1vunH44VRSUzH4","name":"identity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          reset the transformation matrix to the identity matrix (no transformation).
                          \nthe identity matrix and parameters positio...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b8Un9Q9ig3AqiQmv0cV4r","name":"invert","brief":"","scope":"instance","type":"MethodDoc","description":"

                          invert this matrix, causing it to apply the opposite transformation.

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cDSZLMb2Ug1vehkPhvkXy","name":"isIdentity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns true if the matrix is an identity matrix.

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"e_jPrQUWAej-FuysA6RBv","name":"multiply","brief":"","scope":"instance","type":"MethodDoc","description":"

                          multiply both matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the other matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pcAsZp_s4ZH8jqAOFJ1T1","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          rotate the matrix (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          Rotation angle in radians.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ztf5Aan-578nOYyjpv9qI","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the matrix

                          ","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"B2zJ5hgLKwfm-1BCaQpuM","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          adds a 2D scaling transformation.

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZpVnsRd28JbPkFM4cjjsZ","name":"scaleX","brief":"","scope":"instance","type":"MethodDoc","description":"

                          specifies a 2D scale operation using the [sx, 1] scaling vector

                          ","params":[{"identifier":"x","optional":false,"description":"

                          x scaling vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oXfgEAd_zr32q9u9ZeMgC","name":"scaleY","brief":"","scope":"instance","type":"MethodDoc","description":"

                          specifies a 2D scale operation using the [1,sy] scaling vector

                          ","params":[{"identifier":"y","optional":false,"description":"

                          y scaling vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NWoNKRewSaaeYBotfBy7e","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the matrix to the specified value

                          ","params":[{"identifier":"a","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"g","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"i","optional":true,"default":"1","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y_SkWwSuf0Px3Kd_PxqXO","name":"toArray","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return an array representation of this Matrix

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4aN5wZ73HcZ9iY9ckPMpd","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

                          convert the object to a string representation

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"4Jh_-DuJ_bVSBa42Z646M","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Multiplies the current transformation with the matrix described by the arguments of this method

                          ","params":[{"identifier":"a","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"b","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hkhxbNYlJVmaOm1dN4TDJ","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          translate the matrix position on the horizontal and vertical axis

                          ","params":[{"identifier":"x","description":"

                          the x coordindates or a vector to translate the matrix by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          the y coordindates to translate the matrix by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LnaZyB1fdnRhetOauipQ4","name":"transpose","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Transpose the value of this matrix.

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"zvELaNA0DUKy2Onpwu23Q","name":"Matrix3d","brief":"","type":"ClassDoc","description":"

                          a 4x4 Matrix3d Object

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"bkiGvufaBYXV3toYwSUL6","name":"tx","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          tx component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4FFgtyzuVZq2wl1z9NRd9","name":"ty","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          ty component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LgYh-R9kbO9Jd0_NRDgk6","name":"tz","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          ty component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fBSyPQ_qGzr2Mnmiz1bgt","name":"apply","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the current transform to the given 2d or 3d vector

                          ","params":[{"identifier":"v","optional":false,"description":"

                          the vector object to be transformed

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          result vector object.

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"3dV2ZKLKbzirJUZkLKsAW","name":"applyInverse","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the inverted current transform to the given 2d or 3d vector

                          ","params":[{"identifier":"v","optional":false,"description":"

                          the vector object to be transformed

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          result vector object.

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"2Jkxrg-ge47E95v7KmXdG","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Clone the Matrix

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ejV8DxQYX_64WptaMRhbK","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"args","optional":false,"variadic":true,"description":"

                          An instance of me.Matrix3d to copy from, or individual Matrix components (See {@link Matrix3d.setTransform}). If not argum...","dataType":{"tokens":[{"value":"Matrix3d | number","kind":"canonical"},{"value":"Matrix3d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"Dp9zTNZbVOr6aw-Qfq6Sv","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Copies over the values from another me.Matrix3d.

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the matrix object to copy from

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6vH3CQN9o4PbyjsrE1sFg","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return true if the two matrices are identical

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the other matrix

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if both are equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"juwdn-n1BYnqA8PgpA-E1","name":"fromMat2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Copies over the upper-left 2x2 values from the given me.Matrix2d

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the matrix object to copy from

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8XrARZxoQiiGjBdSjI_Ck","name":"identity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          reset the transformation matrix to the identity matrix (no transformation).
                          \nthe identity matrix and parameters positio...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RoDnrN8mskYcXiD3rXj0M","name":"invert","brief":"","scope":"instance","type":"MethodDoc","description":"

                          invert this matrix, causing it to apply the opposite transformation.

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OPjnF2ABeZSx-Gvi3Lb0V","name":"isIdentity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns true if the matrix is an identity matrix.

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"j7EbiOM_YK9-uriIoCdMQ","name":"multiply","brief":"","scope":"instance","type":"MethodDoc","description":"

                          multiply both matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          Other matrix

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xBLVxezGhOeIN7GHS2paa","name":"ortho","brief":"","scope":"instance","type":"MethodDoc","description":"

                          generate an orthogonal projection matrix, with the result replacing the current matrix\n
                          ...","params":[{"identifier":"left","optional":false,"description":"

                          farthest left on the x-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"right","optional":false,"description":"

                          farthest right on the x-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"bottom","optional":false,"description":"

                          farthest down on the y-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"top","optional":false,"description":"

                          farthest up on the y-axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"near","optional":false,"description":"

                          distance to the near clipping plane along the -Z axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"far","optional":false,"description":"

                          distance to the far clipping plane along the -Z axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fpJb_zzrqzBR_n6q69iJh","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          rotate this matrix (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          Rotation angle in radians.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":false,"description":"

                          the axis to rotate around

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MJhTw9LRkHIDXzdjQ_o2A","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the matrix

                          ","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

                          a number representing the depth vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MWt1zLV4WoZ5AxHE7bVTh","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          adds a 2D scaling transformation.

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5LkMVSUoCr9SYWJes1Jp5","name":"scaleX","brief":"","scope":"instance","type":"MethodDoc","description":"

                          specifies a 2D scale operation using the [sx, 1] scaling vector

                          ","params":[{"identifier":"x","optional":false,"description":"

                          x scaling vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ojxTkJ4RltlGWnIARaGpn","name":"scaleY","brief":"","scope":"instance","type":"MethodDoc","description":"

                          specifies a 2D scale operation using the [1,sy] scaling vector

                          ","params":[{"identifier":"y","optional":false,"description":"

                          y scaling vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ivX71rW4GRwlLTtKt9HiP","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the matrix to the specified value

                          ","params":[{"identifier":"m00","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m01","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m02","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m03","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m10","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m11","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m12","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m13","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m20","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m21","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m22","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m23","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m30","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m31","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m32","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m33","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jCkVzGn7fKSa2pXwLN4jw","name":"toArray","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return an array representation of this Matrix

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ptWSN7tRbF_-YKJrwzDLZ","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

                          convert the object to a string representation

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"QI5xxo6ixm_e6Dg1BxJBC","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          translate the matrix position using the given vector

                          ","params":[{"identifier":"x","description":"

                          a number representing the abscissa of the vector, or a vector object

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Vector3d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          a number representing the ordinate of the vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

                          a number representing the depth of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aLrKjyqF6JoEZdcx9VLKi","name":"transpose","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Transpose the value of this matrix.

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"weQEiwwM5WstU8mhjDPnX","name":"NineSliceSprite","brief":"","see":["https://en.wikipedia.org/wiki/9-slice_scaling"],"type":"ClassDoc","description":"

                          A NineSliceSprite is similar to a Sprite, but it uses 9-slice scaling to strech its inner area to fit the size of the Rend...","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"n9GxHmMESC-2QFd-KB0eI","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9kf6fJepNDaQjPiK3-2T1","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mc99RAz1ZG8z88M8iI-UK","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wSPzjN5ISlaHfxkQ7V3T_","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IyVSn8J6A4rvRAc_sLm4u","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xY8nMnDd8U_DKjbIc1kvt","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2UF-GI4q4hwA9YzVHhLmk","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5HxmvV_ua9Wxqc2FjGjAP","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kasA4RCiU3TLa2vyL3MG0","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y1OHhNGxDm5djb2Kqb3tF","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fDT_TjmjUQHUXxEuCgIDB","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cU2KQSuB5_g4BIqeEbhjN","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QkNYXcfatDRUx8R_cUIkd","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-Wj2iSVY4pr5rnCnIYelC","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cPJQknq8dIJFk3aw2G1aS","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5xyk6oFe6P5kbxqiuTrRn","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JVB19E-J1vaLP6WuWHudt","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the NineSliceSprite

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GuoSS06gFZlUZlECeoRNl","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u3SbtXmQu99gVcDQui3gW","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4mT3lcK8pVvijj_VtbE6p","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mj0QrOj73nbf_ACB2oJ1Z","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MElU0mQ9ylz0u0pGWrRns","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1M59XfM6E85Lhf_4ouPo2","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F0y1dofmRBCU536UuPakB","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"og3e1b-Z9i6V3k2BJlaYl","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M_WX6rnO6O2yf_YLWl__m","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p3mX7W5IB5tbOBaH7Yf87","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WXJZ7r7mysdP65Lg8jDlt","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E-zqr4qMG251PkmSUTasG","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

                          global offset for the position to draw from on the source image.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1z3Jno5yQXLq9wTeqDvIr","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o3aatkJO5VVEZ2fqfWtma","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"G8piTiP7UlW0nxRnPLUNR","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V9rm2tmBt0DcyR1McmD1S","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n6F7Mztc3Kn-f8mbrmZAK","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3rtmBvzO47JzHjo-pEStl","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CSqmWpdTAg8exCVeI9fsT","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ry2DbxVTuVxHwFQ6bqgKI","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RcsdPOu2Na9JwEoTcvI6j","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JGQgZKAeEx49eVhNlubt7","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4xI3h-v7nSVAZjbIkqLPW","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oc1S88ZQfXvVhltjEfpJY","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the NineSliceSprite

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fMI07czGt5Jrb9lMH6_V6","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          add an animation
                          \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

                          list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

                          ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

                          cycling speed for animation in ms

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          frame amount of frame added to the animation (delay between each frame).

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pd6m9zf67ImTZ7OUdgnbL","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F-aBBTuHJASxeZHnJI4DV","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fdMJIMXS2CQFQT0D0-N1q","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fY2UwslGXRMCta-kW_kdQ","name":"constructor","brief":"","examples":[{"caption":"","code":"this.panelSprite = new me.NineSliceSprite(0, 0, {\n image : game.texture,\n region : \"grey_panel\",\n width : this.width,\n height : this.height\n});"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the sprite object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the sprite object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          Configuration parameters for the Sprite object

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.width","description":"

                          the width of the Renderable over which the sprite needs to be stretched

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.height","description":"

                          the height of the Renderable over which the sprite needs to be stretched

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.insetx","optional":true,"description":"

                          the width of a corner over which the sprite is unscaled (default is a quarter of the sprite width)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.insety","optional":true,"description":"

                          the height of a corner over which the sprite is unscaled (default is a quarter of the sprite height)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.image","description":"

                          reference to spritesheet image, a texture atlas or to a texture atlas

                          ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | TextureAtlas | string","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1 | %2 | %3 | string"}},{"identifier":"settings.name","optional":true,"default":"\"\"","description":"

                          name of this object

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.region","optional":true,"description":"

                          region name of a specific region to use when using a texture atlas, see {@link TextureAtlas}

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.framewidth","optional":true,"description":"

                          Width of a single frame within the spritesheet

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.frameheight","optional":true,"description":"

                          Height of a single frame within the spritesheet

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.tint","optional":true,"description":"

                          a tint to be applied to this sprite

                          ","dataType":{"tokens":[{"value":"string | Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.flipX","optional":true,"description":"

                          flip the sprite on the horizontal axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.flipY","optional":true,"description":"

                          flip the sprite on the vertical axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.5, y:0.5}","description":"

                          Anchor point to draw the frame at (defaults to the center of the frame).

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"936neVmZktWl1CmMVExen","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"THewOWgzQPtrnGTNRGkfp","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hdA1LwgUpgNBv8DFSSEnI","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7kmk-jvtF1dCcDkakfZNI","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8wHMDrbtWC_SaHByokeaq","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                          make the object flicker

                          ","params":[{"identifier":"duration","optional":false,"description":"

                          expressed in milliseconds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

                          Function to call when flickering ends

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wpA1O3B0d8nVAupFXHWVf","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DEF7d6e7ljke0SC1-IXTt","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4zNTvCGXkZX23IBV2n9RJ","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qyZZqKERz7ZgGP9rZrgkq","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"96UYLVzhbGpMA4MJdLsog","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the current animation frame index.

                          ","params":[],"returns":[{"description":"

                          current animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YPaikptaCtf_LbFsITguf","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Y7qtMAdw45C4NVSea2FV7","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MD55QxAoTMtgR3sVRc4Yq","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"wTaiVuuFZZzQt8eMulvYU","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          return true if the specified animation is the current one.

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"T3jkSd704jQrQ5KghkiRE","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"855hKxlwfXShHlAYjYvIZ","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the flickering state of the object

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"lZ7UzslyGs_uCmHZP2OE7","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SSxT5epXvldun9KH_uoVg","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fK8ijlnbFisKfIrmeCnJ1","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vENrnCXZ6AYkWm6QVket1","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gf8APSmh3yiOYPlilRbNy","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c_XDDtO0ISxHdWytseOT4","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XCGjvw9Augn9JE1xPF3cE","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"JLLapkAHAwfkdsrq5M6Gu","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"v-6TtNhMClrYs5Oc_rwMb","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d7-dfjPXw_3PxnSHChu9S","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ef6su8EkDIqj9DytujD-k","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          reverse the given or current animation if none is specified

                          ","params":[{"identifier":"name","optional":true,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uoA68qykIdGMa-QLgYWlh","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IH1ryWwigDleY6E7n9GMH","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jShxIPtSXg2sd6ulzriVg","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"N_6cdFNS9vH2_xSFP62wC","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

                          force the current animation frame index.

                          ","params":[{"identifier":"index","optional":true,"default":"0","description":"

                          animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YyXQRKz-2KtktpTf67mpy","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

                          set the current animation\nthis will always change the animation & set the frame to zero

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

                          animation id to switch to when complete, or callback

                          ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

                          if false will reset the elapsed time counter since last frame

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xF9_DBBrqEftT6cYf5buW","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Wo8A5WqlycjG-1k_dJFH5","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

                          change the current texture atlas region for this sprite

                          ","params":[{"identifier":"region","optional":false,"description":"

                          typically returned through me.Texture.getRegion()

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X7UjTuCQP-OBEqmJpds-r","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"opPrXGYE0akxi1x6370Ce","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9PPNHjwnCpnl1sVEq2NqH","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"m6qR4EmSaCkUIW5ebuOFw","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"f2p14PPDUPMv0g3r27VRf","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0YwAIPrEFGsyvIbijTfIx","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"D47BjH5rd396vSJgAm7tt","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HAUe56I1BPsvXC2xdTMun","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zbvr1upO8GFfvgHYayve2","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rMFis2GK-SLNBriwpv4Mw","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xgk-RO8sBTB0RrGXtmaB9","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this srite (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"h5HvTS2j04PqSYjJoJsl-","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          update function.
                          \nautomatically called by the game manager {@link game}

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the Sprite is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hWXDXaSFckiUsHCdGphVN","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"HXKny6FVJyLTekYgg3_pb","name":"ObjectPool","brief":"","see":["{@link pool} the default global instance of ObjectPool"],"type":"ClassDoc","description":"

                          Object pooling - a technique that might speed up your game if used properly.
                          \nIf some of your classes will be instantia...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"R_YFlsSzW8PJ5ab7OKW9w","name":"exists","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Check if an object with the provided name is registered

                          ","params":[{"identifier":"name","optional":false,"description":"

                          of the registered object class

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          true if the classname is registered

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"v-MPhJRZgePj5GfF6lBe2","name":"getInstanceCount","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the amount of object instance currently in the pool

                          ","params":[],"returns":[{"description":"

                          amount of object instance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pcCOyZXzM3LAcRFcNFcTO","name":"poolable","brief":"","examples":[{"caption":"","code":"if (!me.pool.poolable(myCherryEntity)) {\n // object was not properly registered\n}"}],"scope":"instance","see":["register"],"type":"MethodDoc","description":"

                          Check if an object is poolable\n(was properly registered with the recycling feature enable)

                          ","params":[{"identifier":"obj","optional":false,"description":"

                          object to be checked

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          true if the object is poolable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"utmGTGsTC5RBN9OR7gg-E","name":"pull","brief":"","examples":[{"caption":"","code":"me.pool.register(\"bullet\", BulletEntity, true);\nme.pool.register(\"enemy\", EnemyEntity, true);\n// ...\n// when we need to manually create a new bullet:\nlet bullet = me.pool.pull(\"bullet\", x, y, direction);\n// ...\n// params aren't a fixed number\n// when we need new enemy we can add more params, that the object construct requires:\nlet enemy = me.pool.pull(\"enemy\", x, y, direction, speed, power, life);\n// ...\n// when we want to destroy existing object, the remove\n// function will ensure the object can then be reallocated later\nme.game.world.removeChild(enemy);\nme.game.world.removeChild(bullet);"}],"scope":"instance","type":"MethodDoc","description":"

                          Pull a new instance of the requested object (if added into the object pool)

                          ","params":[{"identifier":"name","optional":false,"description":"

                          as used in {@link pool.register}

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"...arguments","optional":true,"variadic":true,"description":"

                          arguments to be passed when instantiating/reinitializing the object

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          the instance of the requested object

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"m9e-rh3KFor7tdfvProY8","name":"purge","brief":"","scope":"instance","type":"MethodDoc","description":"

                          purge the object pool from any inactive object
                          \nObject pooling must be enabled for this function to work
                          \nnote: thi...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2-p-5MdCD-IUFzo4IqTqt","name":"push","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Push back an object instance into the object pool
                          \nObject pooling for the object class must be enabled,\nand object mus...","params":[{"identifier":"obj","optional":false,"description":"

                          instance to be recycled

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"throwOnError","optional":true,"default":"true","description":"

                          throw an exception if the object cannot be recycled

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          true if the object was successfully recycled in the object pool

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"44A0lf9YIQGk06Y_3O76I","name":"register","brief":"","examples":[{"caption":"","code":"// implement CherryEntity\nclass Cherry extends Sprite {\n onResetEvent() {\n // reset object mutable properties\n this.lifeBar = 100;\n }\n};\n// add our users defined entities in the object pool and enable object recycling\nme.pool.register(\"cherrysprite\", Cherry, true);"}],"scope":"instance","type":"MethodDoc","description":"

                          register an object to the pool.
                          \nPooling must be set to true if more than one such objects will be created.
                          \n(Note...","params":[{"identifier":"className","optional":false,"description":"

                          as defined in the Name field of the Object Properties (in Tiled)

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"classObj","optional":false,"description":"

                          corresponding Class to be instantiated

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recycling","optional":true,"default":"false","description":"

                          enables object recycling for the specified class

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"TKdiEfV3hKbBgg1FUTsaa","name":"ObservableVector2d","brief":"","type":"ClassDoc","description":"

                          A Vector2d object that provide notification by executing the given callback when the vector is changed.

                          ","params":[],"returns":[],"extends":["Vector2d"],"implements":[],"members":[{"id":"6JIgn5v58kvbukpr5iP6X","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          x value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BOLKY-cn21IHxJbFDQg_6","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          y value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ppxdzN0MjUxuthRI3K5hY","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Update this vector values to absolute values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vlQKwgv-VKNlN4-dIQGuW","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Add the passed vector to this vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0V-oojk9P-MBgUWBlx6Uq","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle between this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nKykWqEPWXeRhgFIMy-6q","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Ceil the vector values

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector2d

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oUqlNn7yN4bQesnpUyaA9","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Ceil this vector values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KybK3RNufmwTXMB8RRAf0","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Clamp the vector value within the specified value range

                          ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          new me.ObservableVector2d

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pmUX0lT_QIhLM7n8YfqA5","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Clamp this vector value within the specified value range

                          ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7Cur4rFV00r_Q9IuFligH","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return a clone copy of this vector

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector2d

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"odW0XIbRRT1enouzN9H1s","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"default":"0","description":"

                          x value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","description":"

                          y value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          additional required parameters

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.onUpdate","description":"

                          the callback to be executed when the vector is changed

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.scope","optional":true,"description":"

                          the value to use as this when calling onUpdate

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"qd3yqRVq1TaB93zpK9BeN","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Copy the x,y values of the passed vector to this one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cT3Bbnw0h_KUcQWUI1PLv","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the cross product of this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          The cross product.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uUZHGKFalSgYICx8Kde2F","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance between this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3iMBPyKljp5WYqBTl5nqg","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Divide this vector values by the passed value

                          ","params":[{"identifier":"n","optional":false,"description":"

                          the value to divide the vector by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5diKhpLVztNfWA_Y0ClnJ","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the dot product of this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          The dot product.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EnkgIHy91q1MflzoMOMwe","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return true if the two vectors are the same

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ip80ymAlhCZEZshBYoHN_","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Floor the vector values

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector2d

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SkA2x329InYhVMuJzbhen","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Floor this vector values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hxy0xKSFciLlfTdeKdWGm","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the length (magnitude) of this vector

                          ","params":[],"returns":[{"description":"

                          the length of this vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5szR6fmLnAeC28_6-P8ZT","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the square length of this vector

                          ","params":[],"returns":[{"description":"

                          The length^2 of this vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1nzz_xCp9uLvNO-ajBCzr","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Linearly interpolate between this vector and the given one.

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"alpha","optional":false,"description":"

                          distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pYeixpCluB_EkPHq3Fx66","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Update this vector with the maximum value between this and the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MSkqLW_E14YZKyBPy-cpC","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Update this vector with the minimum value between this and the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"k5paiAuxUNIvqrWdmy0FF","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

                          interpolate the position of this vector towards the given one while nsure that the distance never exceeds the given step.

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"step","optional":false,"description":"

                          the maximum step per iteration (Negative values will push the vector away from the target)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H_3mGarU1GraBougqVA41","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Negate the vector values

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector2d

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZGtriSOa0FBsQqlPgBX8O","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Negate this vector values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"U4sBthexkZmkBNRLBEx9K","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          normalize this vector (scale the vector so that its magnitude is 1)

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wf93NEYQzU9witUf8ZKbc","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          change this vector to be perpendicular to what it was before.
                          \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L6HZLZevjGJlzJ0M-LbmK","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

                          project this vector on to another vector.

                          ","params":[{"identifier":"v","optional":false,"description":"

                          The vector to project onto.

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"A2HI6IyuupE_QA2Jy-ZnX","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Project this vector onto a vector of unit length.
                          \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

                          The unit vector to project onto.

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"k9SkSEJkp3lU7qezyeT9m","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this vector (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bCSJWlWRVPgkKEaL8VoPg","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Multiply this vector values by the given scalar

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dEZnziOfDPm8Nc8AAIuqX","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Multiply this vector values by the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5EJA2nUAT235UWhRzePBL","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the Vector x and y properties to the given values

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7GvDXipwZ9FZoDqRGJMTj","name":"setCallback","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the callback to be executed when the vector is changed

                          ","params":[{"identifier":"fn","optional":false,"description":"

                          callback

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"scope","optional":true,"default":"null","description":"

                          scope

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X4lZET1YvE9oHYJmosgUX","name":"setMuted","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vector value without triggering the callback

                          ","params":[{"identifier":"x","optional":false,"description":"

                          x value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          y value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HBxMl1iPcFQ7Bs8u56Yv4","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the Vector x and y properties using the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JLTADRDvMsttzsW7-C0lG","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the Vector x and y properties to 0

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NP8LthBp5owsbHl9sCW0S","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Substract the passed vector to this vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector2d","kind":"canonical"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MpJZWa8DW5zzWc5oiWWz3","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Convert this vector into 2d coordinate space

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8P2hzbfY-0NufrGZP3ZSM","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Convert this vector into isometric coordinate space

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UCy1Tefhi1KVHZvq7pdqg","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

                          convert the object to a string representation

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"c31ZdeftcIObo4gpLg_dV","name":"toVector2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return a me.Vector2d copy of this me.ObservableVector2d object

                          ","params":[],"returns":[{"description":"

                          new me.Vector2d

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"iwsA5uxrg6pQ5Q9wSxp2N","name":"ObservableVector3d","brief":"","type":"ClassDoc","description":"

                          A Vector3d object that provide notification by executing the given callback when the vector is changed.

                          ","params":[],"returns":[],"extends":["Vector3d"],"implements":[],"members":[{"id":"osDe837GxVWIwH7SumUxh","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          x value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J7Q4qkBKlpYLzzlqlR8PK","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          y value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X1Q02hz25ZxOyCWJPk6tX","name":"z","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          z value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EHeqSe3LPca9Wg6WEo_Q7","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Update this vector values to absolute values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Om8oKFsHqM01cwX3A-i1p","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Add the passed vector to this vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H2ifWhhVsXopWGAtnn3EE","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle between this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lcO7tvaS0n9TMGE-hQ28J","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Ceil the vector values

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector3d

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"K5RPYODSc9BtLlxW9QdcB","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Ceil this vector values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"pZKv1aSBFtwyatuV4t4qd","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Clamp the vector value within the specified value range

                          ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          new me.ObservableVector3d

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ognRX870TPZRqvAJazpBw","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Clamp this vector value within the specified value range

                          ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VU7ORD92QNqAWPyYZ2DWb","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return a clone copy of this vector

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector3d

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dys88j6Gan1KmF3HqeKxh","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"default":"0","description":"

                          x value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","description":"

                          y value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":false,"default":"0","description":"

                          z value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          additional required parameters

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.onUpdate","description":"

                          the callback to be executed when the vector is changed

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.scope","optional":true,"description":"

                          the value to use as this when calling onUpdate

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"MAbiGhV5dH0zOKzY8PYzH","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Copy the components of the given vector into this one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0j70b5g0fAGAe6vZm_4Jz","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

                          calculate the cross product of this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d | ObservableVector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EcIWb4rHXbdt_MheZKETC","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance between this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-xhP50byp5Oyq9fPkB02G","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Divide this vector values by the passed value

                          ","params":[{"identifier":"n","optional":false,"description":"

                          the value to divide the vector by

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5GEl43OHmLWSAWXu8x8X4","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the dot product of this vector and the passed one

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

                          The dot product.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Azq_w6ZqmS95heh8qfGt3","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return true if the two vectors are the same

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"-mlalN8fm_nfLOlz7NOu_","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Floor the vector values

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector3d

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NKx-u0d2FmV47AoMw991K","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Floor this vector values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-SyVhzSvWm8tbpq9HzpxQ","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the length (magnitude) of this vector

                          ","params":[],"returns":[{"description":"

                          the length of this vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"T8M-VNrOlcGnKTgM4QNiY","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the square length of this vector

                          ","params":[],"returns":[{"description":"

                          The length^2 of this vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"khonf4dSkjQTMfmwjR1Ph","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Linearly interpolate between this vector and the given one.

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d | ObservableVector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"alpha","optional":false,"description":"

                          distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7_H_HtLAlRcrZ1FG9nXZ9","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Update this vector with the maximum value between this and the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FIL_qhPn8IETJIXx09vqB","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Update this vector with the minimum value between this and the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Qn6cFNyaE-G8gMxyu9wvy","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

                          interpolate the position of this vector on the x and y axis towards the given one while ensure that the distance never exc...","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d | Vector3d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}},{"identifier":"step","optional":false,"description":"

                          the maximum step per iteration (Negative values will push the vector away from the target)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1NlLK3jGFkhdFsVBOBZIF","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Negate the vector values

                          ","params":[],"returns":[{"description":"

                          new me.ObservableVector3d

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"csRdcNFVLTgtumUCtPsLc","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Negate this vector values

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gZVNpCz6va1KIcZcXUT3J","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          normalize this vector (scale the vector so that its magnitude is 1)

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YTED1geFSNYFK-YF4bQNJ","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          change this vector to be perpendicular to what it was before.
                          \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"88MG9OAufDbYz6kwlMi-C","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

                          project this vector on to another vector.

                          ","params":[{"identifier":"v","optional":false,"description":"

                          The vector to project onto.

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dT9gLOg_Fx5-9TXt_PgM1","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Project this vector onto a vector of unit length.
                          \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

                          The unit vector to project onto.

                          ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FbVZ1K6nK7HgEFRrNTvAK","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this vector (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around (on the same z axis)

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"s5pn5LebNpTr1dm2-7UgC","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Multiply this vector values by the given scalar

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"1","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ymVLE4IRQ1JN1O0cZnrCX","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Multiply this vector values by the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M9cnOZdZyakmpEO556xih","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the Vector x and y properties to the given values

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"g8I6Z9Pagr3EuN9BG2Jsz","name":"setCallback","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the callback to be executed when the vector is changed

                          ","params":[{"identifier":"fn","optional":false,"description":"

                          callback

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"scope","optional":true,"default":"null","description":"

                          scope

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NxEg5oELr34dJgg0ZHJxV","name":"setMuted","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vector value without triggering the callback

                          ","params":[{"identifier":"x","optional":false,"description":"

                          x value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          y value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

                          z value of the vector

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"00g6dIZoN3yTMD5bFcQgB","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the Vector x and y properties using the passed vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Aj2OJPClkOD1mow5cUJ2o","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the Vector x and y properties to 0

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CE9Xfmk96IkucKJ7Mt_sZ","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Substract the passed vector to this vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d | ObservableVector2d | ObservableVector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"ObservableVector3d","kind":"canonical"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CVMZAfTDKLTCpMYsFrNRA","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Convert this vector into 2d coordinate space

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UCM2bTG4I2ZXu6tvxyxyV","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Convert this vector into isometric coordinate space

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AA4uWaA_kSKswK6vbQM5k","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

                          convert the object to a string representation

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"IpZtnnkqkqIVaO7TEu_c3","name":"toVector3d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return a me.Vector3d copy of this me.ObservableVector3d object

                          ","params":[],"returns":[{"description":"

                          new me.Vector3d

                          ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"Ye3Qvytb7owpsgN1IVMDA","name":"Particle","brief":"","type":"ClassDoc","description":"

                          Single Particle Object.

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"frhU_3N-qyemP6_hOsJQL","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zcpavLRxGJOH3PQOk043e","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-qZscfJ95jcz5aJ4pTUAx","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AaBB3sZ-9GyJYFdx_pdSF","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_Oo3BsJJ4O-EJHUwPwZPm","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FoNUAQcMXzgvV00mXoqp_","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ETMRnBp8PKf5ONc8JIH7B","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S_aZPqxSqqRuzo5iugyOJ","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zEnWwhLwb5YsfDa7L1z9u","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TKqgjpH839QJFze3RhQBi","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XJSZR__xo3WVGKlxmdtAL","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EfscTqNSWF_rxsU5h6PAX","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"egHJJxkpgpO_FqIOM6v0y","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9ITdVYfeVMl3mzLZ-c3tn","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qg_IFX5yXsDh-sxQxe59s","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hy7cBRt6CnRTGs5A3oE4j","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MViEibmHDGZsbUx8ifFcs","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iDujjk_8oR-uRIAYV_oMH","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XSy-i-xJlKAPkUjObxB4u","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"odkKJt39w6AIVhwGoAYg3","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gfG2QDHdx2xQUdRilqx6o","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xw73JoALXacF1W2cf2bbB","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VcGBO0YRWKO4HJhJi0LB0","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pgqbqj2cG0jAHrUoP7gAA","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B2MzbkljiA75p4Q3e2-iF","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gPEmBawWrL9hIpWalV66V","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9Erju6G1hr3z8PYT1PCzT","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MBKnUypS42llBDkUl6Mbm","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dhXThUFpzY_dyrfxI7Xzs","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"37aLU0QMlvz64P7ZA-BWu","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g0CkGqOudujm7D5RsVbM_","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9AH3UucVmK84Osa4_S7vn","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ajFSvvtgkWuz0nlMsa1Jd","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RnPfLuMBfR-6n_IrWFhHT","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lYZuzPOAPJ9oCR3_aVN3a","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9kRE1ZyHPI5yn1hS-snQc","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ha2BWQ7TA7hRNSIJF7PLZ","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mOdAcRflRgh6yGtcGdwYx","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"w18TxkJqFBtwLYxv40oOk","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"K7jAr6fgoIJ6F7cPTFCs4","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"emitter","optional":false,"description":"

                          the particle emitter

                          ","dataType":{"tokens":[{"value":"ParticleEmitter","kind":"canonical"},{"value":"ParticleEmitter","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"oRzqwNHYHmWRAtkP53XQO","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"AWjM5zCJlnoEd6k9M_sRk","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"p4UpApzLnT-eWNBBHJhoK","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RXKfEYrS1WVsVbitcKbHW","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mjEIsnfX6QPjy_Z9AJC7g","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"HE01J54wUQ_QQgjoTJMNz","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RnlBJ0FNU3SzJIhLILR4J","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FbPl6HXvs5v0aDcYbD1rG","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VXvSY1j1P4QGyxbVCcVDq","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GfzIzkt0ELLgRurSSskmQ","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"J5e2DpbH6Nm0WPUIa-0KN","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9xzVo6jTeVfsiTkryUr1o","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7q2t2UqknMRtNwpEnjd5a","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JGqKODcZdea-zR9VilI1r","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KB2FNgYPDdxDvNNE8ENgu","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"aU9YEZ1u8c_NxxiSc3Clh","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r97HV0lpfJgtLZynx09ax","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"sgHZbYzwyjHqQoQWPfsLu","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"MQO48jPxyhwk-WUEmtX6M","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"hMKY-1OIAstV2yRmLgi1G","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XUe56lSgK4ZWtQV8q5HZ1","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fsvVEg5YNLyHCubvMyIY8","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"A61CWhH5_rmGUrG968J3h","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"B1xSWhKSrKXbI8F2oGXYx","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4xH-FVTLT81zC2YWR3RqB","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"sahBfKRgwOtg-7ZBTS3Vp","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UY_Sm5rXELGwqFlkVz_sz","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Q03Luy1gRoD5Con8tygRV","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"YCD0VAQkqd49SvPmvvajz","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7G9zb_9-w7CabwQMlCA0i","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jCRSghkg1QV1pWXe6_tb0","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AIaOBGVCXY_v4PG1qs_gG","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eIQJfE2zilSHrpoQ2a486","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"559yheu4CfetVRcVydhPU","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hTZ4lo6AtYvNlbYwhufqb","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Hx-FeXQHX0IqRWpgbZgUX","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ulbG9A4LeaqflPYVdRRE1","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"_WCJzQNQILx8VY2Oh-I8y","name":"ParticleEmitter","brief":"","type":"ClassDoc","description":"

                          Particle Emitter Object.

                          ","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"PJbdnvsy-g8X2LcU8CyMB","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F9PgiuF6hsoq8WumuuCyT","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2xHKqeAYQvfAb1EIeTUoC","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xHmo31LE7yF1vrr3Dj0fE","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uf5MCJjv_89NkyckuORXU","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the children z index should automatically be managed by the parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WTAeMh0y_jNiMc9dlJdep","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the children list should be automatically sorted when adding a new child

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oxYZ5lzHgOouQwucLdqjj","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pt3uYotrbL8GSE8TbUDRZ","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a background color for this container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rSJeGGxCJpsM9JLeRqcMW","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3fJSG7mvGzH4TDUeoidoP","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xtAVuWo-J-Vvusa9-Px0c","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sKzZQllX_r4uZj_i2EFZF","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zgUZU2ZODLAdwmsYdrLlK","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mLbsb6fCMi0BTBS7iLqDB","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the container draw operation should clip his children to its own bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wqOiR9AfeVmB-rtQ5-RWG","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f4zMJdEqhcISbszS7eI43","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0voWXZi629wqwfCCLKL_P","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gr8gjRGXUlNrFRGsCcCnY","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qrAG2W1Gh94ENlzscS-m3","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"11ZQFoT5Y19MSsI_U4XG6","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gtJfY-m6ubGZqPP_Y54sz","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ffDDIyXhibGPjuPHzSn0W","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UeG8NQJw9amdRdVuNubhq","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rsp5nHhWLE2sV2grB-0kF","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_qB9tNFvFEpKmM_IP0ojR","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wKvEOI9YyDq8c3fLVE9Kd","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9kBeuB2Dy9AOtuv6RWrqr","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yKFxryxgoAI43gy9aXDA3","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gea_910jhnYBCqsU-l6rb","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z4xyLPQVfokiiqH_UBLXk","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tYzeQknxr3pgWxA89dUo0","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vGBQODj7hYsGD7wggDrkq","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F6T4JWR2pKDFSk3XC_vtw","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yIzKxOV5AlHBjP4AsWzGZ","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LoRc6WmBPxGDX3IYPwVRn","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vVPA9iYo0pzkA2yMQ7Yst","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          whether the container is the root of the scene

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xFj0usfSWdEpdOgDzc-CV","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the current (active) emitter settings

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bOwLoiPbb7p_sjTGKeyVo","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vuFgpoCf8WYH0ZK2wIznd","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

                          The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p4rt05S2qahJiZD4wDAPq","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"roAdab7pwhrP7ciI8hjk-","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FnHLgw74O5_nKoaQK-U3d","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LJqBaafAzBEsLUkBa7Yie","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ABkbe82k8Xu4ecxdGlQgK","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0Xebu0b0HL450PGKbGXnL","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Add a child to the container
                          \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

                          forces the z index of the child to the specified value

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          the added child

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"77SVdZRuXtcXNkLh91n3j","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Add a child to the container at the specified index
                          \n(the list won't be sorted after insertion)

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

                          The index at which to insert the child

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          the added child

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"77PcS1WMVF40rLrxaaWGn","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qgq0y-NzMOcKi4wcVSmIv","name":"burstParticles","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Launch all particles from emitter and stop (e.g. for explosion)

                          ","params":[{"identifier":"total","optional":true,"description":"

                          number of particles to launch

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JpDz-G1myty0b_agDtAqz","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ulbvIjb8pXFuOuRAnGPNT","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RMr6INZs8l09GjBaVryK4","name":"constructor","brief":"","examples":[{"caption":"","code":" // Create a particle emitter at position 100, 100\n let emitter = new ParticleEmitter(100, 100, {\n width: 16,\n height : 16,\n tint: \"#f00\",\n totalParticles: 32,\n angle: 0,\n angleVariation: 6.283185307179586,\n maxLife: 5,\n speed: 3\n });\n\n // Add the emitter to the game world\n me.game.world.addChild(emitter);\n\n // Launch all particles one time and stop, like a explosion\n emitter.burstParticles();\n\n // Launch constantly the particles, like a fountain\n emitter.streamParticles();\n\n // At the end, remove emitter from the game world\n // call this in onDestroyEvent function\n me.game.world.removeChild(emitter);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          x position of the particle emitter

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          y position of the particle emitter

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":true,"default":"ParticleEmitterSettings","description":"

                          the settings for the particle emitter.

                          ","dataType":{"tokens":[{"value":"ParticleEmitterSettings","kind":"canonical"},{"value":"ParticleEmitterSettings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"xzWQeG2WzAmSovJpcGiG7","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5B51jlVlyhui_JMWblEnP","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"t9YLHF3Prdize-PtCBhid","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"a0uZQiVNJNdD1hpXXJ4Sp","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"S5B4DLBXnbdHazO184a_h","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d3Qrtw_JYlPqK1gMjBSXy","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tIprage_7vHdyIw4bEYgn","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

                          The forEach() method executes a provided function once per child element.
                          \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

                          fnction to execute on each element

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

                          value to use as this(i.e reference Object) when executing callback.

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"MI68tfYW8pnNAtmHEnBkX","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xIzFX7_8tTtK6OSJuokMP","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IbiKBuOVnKqzXqkQW2tG6","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the Child at the specified index

                          ","params":[{"identifier":"index","optional":false,"description":"

                          The index of the child

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          the child at the specified index

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5Erm7yQycowTrtlEnCqKt","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the child corresponding to the specified GUID
                          \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

                          child GUID

                          ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                          corresponding child or null

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2axLt8UDGRnMj4hKmEEPv","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the list of childs with the specified name
                          \nas defined in Tiled (Name field of the Object Properties)
                          \nnote ...","params":[{"identifier":"name","optional":false,"description":"

                          child name

                          ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                          Array of children

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"UjqAkin34-50GBJzMVH1I","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

                          return the child corresponding to the given property and value.
                          \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

                          Property name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                          Value of the property

                          ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                          Array of childs

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"7ncMbWZX5mZqE9_IN2WEm","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the list of childs with the specified class type

                          ","params":[{"identifier":"classType","optional":false,"description":"

                          Class type

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          Array of children

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"xcWeb4c8JFMILThwsXvtP","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the index of the given Child

                          ","params":[{"identifier":"child","optional":false,"description":"

                          The child object

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                          index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IRe1IPpiDuWFdpNPKN0kN","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return all child in this container

                          ","params":[],"returns":[{"description":"

                          an array of renderable object

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"8tvfR2ZxT5_xirJEkPIOQ","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"bZkZAey_BbNHp-fVSA5Ny","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the next child within the container or undefined if none

                          ","params":[{"identifier":"child","optional":false,"description":"

                          The child object

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                          child

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZG_tGRMUKYODV__Ai1TIZ","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7-d_l_J1pEFNaUD9t0qOF","name":"getRandomPointX","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a random point on the x axis within the bounds of this emitter

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ea2w28_8tOXY8QqUj8mqI","name":"getRandomPointY","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a random point on the y axis within the bounds this emitter

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"02uSThxX81JS7EHu_Wd_b","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the instance of the root container (i.e. the current application World container).

                          ","params":[],"returns":[{"description":"

                          root container

                          ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7QDDVfWNVyl0dHPRtLvjX","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if contains the specified Child

                          ","params":[{"identifier":"child","optional":false,"description":"

                          The child object

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"U1fpsSV0J11KcoC229J1_","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Checks if this container is root or if it's attached to the root container.

                          ","params":[],"returns":[{"description":"

                          true if this container is root or if it's attached to the root container

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7x7NvBXJipa9W-0Bqhzkx","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2rqZPFFy-z20-Q_Fpl_LZ","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"1l0yTNJWHSpyPNBoPUikQ","name":"isRunning","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Emitter is of type stream and is launching particles

                          ","params":[],"returns":[{"description":"

                          Emitter is Stream and is launching particles

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"jJquwxOcdWc3cj5mTHgmY","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"O5eidim40saCIvHBVycVt","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the child in the group one step backward (z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"5c_F3-N6RS--B55oEH0n4","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the specified child the bottom (z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"YDGZRnzHHRqbkTwZccet0","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the specified child to the top(z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"q1slaVJeHWnD6UAt8xmni","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Move the child in the group one step forward (z depth).

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be moved

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"PiTg4GkXKRgGI-ZZaEfCZ","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

                          a callback to be extended, triggered after a child has been added or removed

                          ","params":[{"identifier":"index","optional":false,"description":"

                          added or removed child index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"MZS-g1xisYEngoJ3-tOxw","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hvc0iKv3YU51v16lXylRN","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gr2O-MhNMbBNzikQYv7H1","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"-0N2u95p205NDL38znIQG","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZYfq_6nbK36QQl0qW7fLa","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"5NXJx3YS8dB3A1mxo10-y","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wzoNNO62mj7fRXOY8SXJl","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

                          Child to be removed

                          ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

                          true to prevent calling child.destroy()

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"lsdWTH1LfphS0Ojeo1DoQ","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Removes (and optionally destroys) a child from the container.
                          \n(removal is immediate and unconditional)
                          \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

                          Child to be removed

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

                          True to prevent calling child.destroy()

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"WTyOOhR1P4Nl9RJJMwurQ","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Reset the emitter with particle emitter settings.

                          ","params":[{"identifier":"settings","optional":false,"description":"

                          [optional] object with emitter settings. See {@link ParticleEmitterSettings}

                          ","dataType":{"tokens":[{"value":"ParticleEmitterSettings","kind":"canonical"},{"value":"ParticleEmitterSettings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rHlQJMnTCMiVSzCgrvNW5","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xm8mAm0D9ADvDhpCZ5AWT","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L190YOo6tuIK9dwk0RfIH","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"C5BQz0E-6OLpS5JlQzWAZ","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vza03dfjLqEH0Jb9S_P7V","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Automatically set the specified property of all childs to the given value

                          ","params":[{"identifier":"prop","optional":false,"description":"

                          property name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                          property value

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

                          recursively apply the value to child containers if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"8NW3nSqMphn1D0gReSiZh","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SUrDxMR9ICk6-yiz4-T_R","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eSR3klun-vPVvh4mjNknU","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"APPZfdA8lFtART8yzhI0Z","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"zzTMcgSecqaf4YVwVDnqA","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Manually trigger the sort of all the childs in the container

                          ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

                          recursively sort all containers if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"w6mSFMHvgJ5U8gtR3f5cM","name":"stopStream","brief":"

                          Stop the emitter from generating new particles (used only if emitter is Stream)

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6TdyOUDB5HdVYWSOz7pDs","name":"streamParticles","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Launch particles from emitter constantly (e.g. for stream)

                          ","params":[{"identifier":"duration","optional":true,"description":"

                          time that the emitter releases particles in ms

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6NWlawaatpZWSOXPgBP0_","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Swaps the position (z-index) of 2 children

                          ","params":[{"identifier":"child","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

                          Child to be added

                          ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"CF-uyqXFokU6BnlWcNteh","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_eA1YzUqgug609aBEZD19","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4SSoLunVSp-5mZ12yShXn","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MbQ6iCxsFwvyXb-RlIXjH","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GZA_vRnsLuvmNQPcUOv85","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6Dg2yymB-wprH3YgueiBe","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xe6yYj9Jwb-uSc6K3ffko","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this container.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this container bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CXsg_1UqJ__0IlsiQmeR1","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this renderable (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"0H8YmvDbjMmE_FWSZ-KQo","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          container update function.
                          \nautomatically called by the application update loop {@link Application}

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the Container is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"RMxRDnrOn_0IYphubkoBT","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"IJPIuByxTThCsn11CB0J3","name":"Path2D","brief":"","type":"ClassDoc","description":"

                          a simplified path2d implementation, supporting only one path

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"h2EgGklAk8ql2krNczpLk","name":"arcResolution","brief":"","defaultValue":"5","scope":"instance","type":"PropertyDoc","description":"

                          space between interpolated points for quadratic and bezier curve approx. in pixels.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eDElHvncuuK0RMVxuOIfC","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the points defining the current path

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZbhybbZxoD3cipa5aHbZr","name":"arc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          adds an arc to the current path which is centered at (x, y) position with the given radius,\nstarting at startAngle and end...","params":[{"identifier":"x","optional":false,"description":"

                          the horizontal coordinate of the arc's center.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the vertical coordinate of the arc's center.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                          the arc's radius. Must be positive.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startAngle","optional":false,"description":"

                          the angle at which the arc starts in radians, measured from the positive x-axis.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endAngle","optional":false,"description":"

                          the angle at which the arc ends in radians, measured from the positive x-axis.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"anticlockwise","optional":true,"default":"false","description":"

                          an optional boolean value. If true, draws the arc counter-clockwise between the start and end angles.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"YWwM5_acdidF2LBVffiiP","name":"arcTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          adds a circular arc to the path with the given control points and radius, connected to the previous point by a straight li...","params":[{"identifier":"x1","optional":false,"description":"

                          the x-axis coordinate of the first control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

                          the y-axis coordinate of the first control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x2","optional":false,"description":"

                          the x-axis coordinate of the second control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y2","optional":false,"description":"

                          the y-axis coordinate of the second control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                          the arc's radius. Must be positive.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ucon8dNp1qqcAb2JoGV0Q","name":"beginPath","brief":"

                          begin a new path

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9pqu_rWvj1ARW2m6-31aM","name":"bezierCurveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Adds a cubic Bézier curve to the path.

                          ","params":[{"identifier":"cp1X","optional":false,"description":"

                          The x-coordinate of the first control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cp1Y","optional":false,"description":"

                          The y-coordinate of the first control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cp2X","optional":false,"description":"

                          The x-coordinate of the second control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cp2Y","optional":false,"description":"

                          The y-coordinate of the second control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                          The x-coordinate of the end point of the curve.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          The y-coordinate of the end point of the curve.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Jat61p7q5vJNw96WXQt4E","name":"closePath","brief":"","scope":"instance","type":"MethodDoc","description":"

                          causes the point of the pen to move back to the start of the current path.\nIt tries to draw a straight line from the curre...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3twJR1PerSGH74uiH5EPq","name":"ellipse","brief":"","scope":"instance","type":"MethodDoc","description":"

                          adds an elliptical arc to the path which is centered at (x, y) position with the radii radiusX and radiusY\nstarting at sta...","params":[{"identifier":"x","optional":false,"description":"

                          the x-axis (horizontal) coordinate of the ellipse's center.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y-axis (vertical) coordinate of the ellipse's center.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusX","optional":false,"description":"

                          the ellipse's major-axis radius. Must be non-negative.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radiusY","optional":false,"description":"

                          the ellipse's minor-axis radius. Must be non-negative.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"rotation","optional":false,"description":"

                          the rotation of the ellipse, expressed in radians.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startAngle","optional":false,"description":"

                          the angle at which the ellipse starts, measured clockwise from the positive x-axis and expressed in radians.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endAngle","optional":false,"description":"

                          the angle at which the ellipse ends, measured clockwise from the positive x-axis and expressed in radians.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"anticlockwise","optional":true,"default":"false","description":"

                          an optional boolean value which, if true, draws the ellipse counterclockwise (anticlockwise).

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"ydsRPe5bvWJjv4KniWXzQ","name":"lineTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          connects the last point in the current path to the (x, y) coordinates with a straight line.

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x-axis coordinate of the line's end point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y-axis coordinate of the line's end point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"W8WGYSQaQN8JWMHaGbOlz","name":"moveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          moves the starting point of the current path to the (x, y) coordinates.

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x-axis (horizontal) coordinate of the point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y-axis (vertical) coordinate of the point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wEc01DKzOc4QeEDo_kBz-","name":"parseSVGPath","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Parses an SVG path string and adds the points to the current path.

                          ","params":[{"identifier":"svgPath","optional":false,"description":"

                          The SVG path string to parse.

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"fLOlFBHryA4yCUTXcLfZa","name":"quadraticCurveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Adds a quadratic Bézier curve to the path.

                          ","params":[{"identifier":"cpX","optional":false,"description":"

                          The x-coordinate of the control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"cpY","optional":false,"description":"

                          The y-coordinate of the control point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                          The x-coordinate of the end point of the curve.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          The y-coordinate of the end point of the curve.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"sHMxIJdCGjVnjti-6h--B","name":"rect","brief":"","scope":"instance","type":"MethodDoc","description":"

                          creates a path for a rectangle at position (x, y) with a size that is determined by width and height.

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x-axis coordinate of the rectangle's starting point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y-axis coordinate of the rectangle's starting point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                          the rectangle's width. Positive values are to the right, and negative to the left.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          the rectangle's height. Positive values are down, and negative are up.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Z7OGDuEp314JJDCK_elyJ","name":"roundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                          adds an rounded rectangle to the current path.

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x-axis coordinate of the rectangle's starting point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y-axis coordinate of the rectangle's starting point.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                          the rectangle's width. Positive values are to the right, and negative to the left.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          the rectangle's height. Positive values are down, and negative are up.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                          the arc's radius to draw the borders. Must be positive.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"f1in_GR5ozWOD6qbFREKC","name":"triangulatePath","brief":"","scope":"instance","type":"MethodDoc","description":"

                          triangulate the shape defined by this path into an array of triangles

                          ","params":[],"returns":[{"description":"

                          an array of vertices representing the triangulated path or shape

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]}]},{"id":"aR2ypQPLhR_nnEUNvLDQH","name":"Point","brief":"","type":"ClassDoc","description":"

                          represents a point in a 2d space

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"IkMPJcQUjFZmT2u5x_G9q","name":"type","brief":"","defaultValue":"\"Point\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4LYK3WrccDyicVQHkRkuv","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          the position of the point on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ozUo3kutqKp-zcK_vOEVe","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          the position of the point on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WXL40P00fcirzl7V4ezcj","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this Point

                          ","params":[],"returns":[{"description":"

                          new Point

                          ","dataType":{"tokens":[{"value":"Point","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qkP8DMfA1mET1phyoiYwQ","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return true if this point is equal to the given point

                          ","params":[{"identifier":"x","optional":false,"variadic":true,"dataType":{"tokens":[{"value":"number | Point | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Point","kind":"link"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"oZs6i7hFj-YL2emck5-Bu","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the Point x and y properties to the given values

                          ","params":[{"identifier":"x","optional":false,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Point","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"By5iTw89owWOVxcwzEiMm","name":"Pointer","brief":"","type":"ClassDoc","description":"

                          a pointer object, representing a single finger on a touch enabled device.

                          ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"v7ElYwUuUrTa0G1SEc4_z","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FBrbzDdbsaXtg-qeGnzB8","name":"button","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button"],"type":"PropertyDoc","description":"

                          the button property indicates which button was pressed on the mouse to trigger the event.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FuRxHBA0m06zH2IJROD-J","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          return the center position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Oo9n8aloX28kerWAmmMf2","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the x axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1m2ZNONL_5woPq9pMhEs7","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the y axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OctMw4qkANtk3XyHUAskX","name":"clientX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX"],"type":"PropertyDoc","description":"

                          the horizontal coordinate within the application's client area at which the event occurred

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_ELDGynRFEgG18TSA__lC","name":"clientY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY"],"type":"PropertyDoc","description":"

                          the vertical coordinate within the application's client area at which the event occurred

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GLHBcd5QmG5cO1t9wmdba","name":"deltaMode","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode"],"type":"PropertyDoc","description":"

                          an unsigned long representing the unit of the delta values scroll amount

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JuyBoTKSaOjS-2QBDggkR","name":"deltaX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaX"],"type":"PropertyDoc","description":"

                          a double representing the horizontal scroll amount in the Wheel Event deltaMode unit.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OVU_TtwHFHOOvjbAVTVVK","name":"deltaY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaY"],"type":"PropertyDoc","description":"

                          a double representing the vertical scroll amount in the Wheel Event deltaMode unit.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1Y25TLhhDhQ8KODfjCi30","name":"deltaZ","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaZ"],"type":"PropertyDoc","description":"

                          a double representing the scroll amount in the z-axis, in the Wheel Event deltaMode unit.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lH_IB6Pnr_PyHB2NURzvF","name":"event","brief":"","access":"public","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent","https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent","https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent"],"type":"PropertyDoc","description":"

                          the originating Event Object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QkNnc89pazhgq7YD9V0Vl","name":"gameLocalX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event X coordinate relative to the holding container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QfPh6RfZtEfMDQH_Lf-vQ","name":"gameLocalY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event Y coordinate relative to the holding container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WeYbLWRXO9bqSgYiO3UQC","name":"gameScreenX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event X coordinate relative to the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SFNDXtmMJRRB_2WoSzgut","name":"gameScreenY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event Y coordinate relative to the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jmAVP7iqwLm2CX713tXdD","name":"gameWorldX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event X coordinate relative to the map

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sDJoKOPjnR6PVJ7RZV2yA","name":"gameWorldY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event Y coordinate relative to the map

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"otfrPRBysXCa3I-ZWDALE","name":"gameX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event normalized X coordinate within the game canvas itself
                          \n

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0dYtu5Z3zHIn4So8dW4A7","name":"gameY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event normalized Y coordinate within the game canvas itself
                          \n

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eoJg_s_J9nC3g5K3WVUfG","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D-YA4tySJYuY6NvtDXyq0","name":"isNormalized","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if not originally a pointer event

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TgD9NtuTYEEThw6d70tK0","name":"isPrimary","brief":"","access":"public","defaultValue":"false","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary"],"type":"PropertyDoc","description":"

                          indicates whether or not the pointer device that created the event is the primary pointer.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M7HgyC1yBNnno-aBKIm7h","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4BxPV386U85PFkPOqLgfV","name":"LEFT","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          constant for left button

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"91RpbSINyRQyPPLy6qeYN","name":"locked","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if the pointer is currently locked

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mBpMXSUOwgvDabVOOjxLg","name":"MIDDLE","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

                          constant for middle button

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M7-2BDo4xNUgtFVWzsYsI","name":"movementX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX"],"type":"PropertyDoc","description":"

                          the difference in the X coordinate of the pointer since the previous move event

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e7-4hWbhvfp3M40DaIx7y","name":"movementY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementY"],"type":"PropertyDoc","description":"

                          the difference in the Y coordinate of the pointer since the previous move event

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x0Qof8IOwnTffVz4Olrr6","name":"pageX","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX"],"type":"PropertyDoc","description":"

                          the horizontal coordinate at which the event occurred, relative to the left edge of the entire document.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cq0qxZuuxVQ5FwoPSAD4E","name":"pageY","brief":"","access":"public","defaultValue":"0","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY"],"type":"PropertyDoc","description":"

                          the vertical coordinate at which the event occurred, relative to the left edge of the entire document.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eCRijwir-7OZyTxKsAQQf","name":"pointerId","brief":"","access":"public","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerId"],"type":"PropertyDoc","description":"

                          The unique identifier of the contact for a touch, mouse or pen

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aYIlln9nGjGICTRxnrHZi","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hz_tr2OpTXCEDZhyG6sxf","name":"RIGHT","brief":"","access":"public","defaultValue":"2","scope":"instance","type":"PropertyDoc","description":"

                          constant for right button

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6QQSvWpCSYRslw1xPMnQA","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"azuXoMU8kQV5hGCduxVP9","name":"type","brief":"","access":"public","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/Event/type"],"type":"PropertyDoc","description":"

                          a string containing the event's type.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y2d2j83RGsnFftCiKcq9L","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0IEy-RzL_XDeyLqmDcSJR","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          x position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iOCJc3npSaFuBebTflir6","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          y position of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6NNUdSdgmDlmILBdmLNuX","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given vertices to the bounds definition.

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          an array of Vector2d or Point

                          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

                          either to reset the bounds before adding the new vertices

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"cQzIcaTNR0hQ0jVfMfedc","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given bounds to the bounds definition.

                          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

                          either to reset the bounds before adding the new vertices

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"3WH8o8xfinqAY_PWobMqE","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given quad coordinates to this bound definition, multiplied by the given matrix

                          ","params":[{"identifier":"x0","optional":false,"description":"

                          left X coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

                          top Y coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

                          right X coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

                          bottom y coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

                          an optional transform to apply to the given frame coordinates

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4w26R3rkXJD0bFnSxwA1Z","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given point to the bounds definition.

                          ","params":[{"identifier":"point","optional":false,"description":"

                          the vector or point to be added to the bounds

                          ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

                          an optional transform to apply to the given point (if the given point is a Vector2d)

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wfwJw3SGwnqACtzvfXFMp","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the bounds position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this bounds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this bounds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4Kg6LP0fbEBTJDEyvooXb","name":"clear","brief":"

                          reset the bound

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6swnr_-v-1f4Q06tmrOf0","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this bounds

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Nucz4pbdPSnX8DRGK2i7T","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the bounds contains the given point.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to check

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the bounds contain the point, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"tk49tfFSCCcCzf_sKzziE","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this bounds are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"7Vax30ZEjYazcpY-OdAKb","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the two bounds intersect.

                          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          True if the bounds overlap, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"9E6hxfc_aMbOqmcCuW26O","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

                          sets the bounds to the given min and max value

                          ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"i5_lMpCI4OQOQP9mi63is","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the bounds to the given x, y position.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"MgtJyyCYarru7emp3rI6V","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this bounds.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this bounds.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xRk2HeO4VeihlgFqqjYhC","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Translates the bounds by the given point

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bnuXsjPNeao356ak_pfsk","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Updates bounds using the given vertices

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          an array of Vector2d or Point

                          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]},{"id":"GXYedrz7GaUhJiJ6F84wa","name":"set","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          initialize the Pointer object using the given Event Object

                          ","params":[{"identifier":"event","optional":false,"description":"

                          the original Event object

                          ","dataType":{"tokens":[{"value":"Event","kind":"canonical"},{"value":"Event","kind":"canonical"}],"template":"%1"}},{"identifier":"pageX","optional":true,"default":"0","description":"

                          the horizontal coordinate at which the event occurred, relative to the left edge of the entire document

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pageY","optional":true,"default":"0","description":"

                          the vertical coordinate at which the event occurred, relative to the left edge of the entire document

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"clientX","optional":true,"default":"0","description":"

                          the horizontal coordinate within the application's client area at which the event occurred

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"clientY","optional":true,"default":"0","description":"

                          the vertical coordinate within the application's client area at which the event occurred

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pointerId","optional":true,"default":"1","description":"

                          the Pointer, Touch or Mouse event Id (1)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"7dlasGXJf3FM0wXDMFBaT","name":"Polygon","brief":"","type":"ClassDoc","description":"

                          a polygon Object.
                          \nPlease do note that melonJS implements a simple Axis-Aligned Boxes collision algorithm, which requir...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"DShNF8P2TH7JSdfFfY1RH","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p-vBu4ShMQOV0tp1vxuti","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"57VERY1gEnNNu-I4WtUpP","name":"type","brief":"","defaultValue":"\"Polygon\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c-UfGXFp24GDATeHVHLfq","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this Polygon

                          ","params":[],"returns":[{"description":"

                          new Polygon

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AZAa-rPfKgVg1GX9RYP5N","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

                          origin point of the Polygon

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

                          origin point of the Polygon

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","optional":false,"description":"

                          array of vector defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[],"extends":[],"implements":[]},{"id":"Q1mZ3_4p3tdgrM8h-X97e","name":"contains","brief":"","examples":[{"caption":"","code":"if (polygon.contains(10, 10)) {\n // do something\n}\n// or\nif (polygon.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the polygon contains the given point.
                          \n(Note: it is highly recommended to first do a hit test on the c...","params":[{"identifier":"x","optional":false,"variadic":true,"description":"

                          x coordinate or a vector point to check

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the polygon contain the point, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"CrMSJGjLt_pN0SHrvz564","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ABNpXSeEKeWnP-WJn8-Cy","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"lJDWXWFNszJ2Vr_pJmcJp","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qbMsx_VwcuIiTBsKK1oUA","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qPaq5xrD3EpwU5tNadAqu","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"e91Id1QCXemsu5yeGh7s6","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Polygon by the given scalar.

                          ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xsq9EndHBJKXRHFGZRl0M","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Polygon by the given vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uVaTbutVhP2MQV3hKJUPq","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the Polygon

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Polygon

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Polygon

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"points","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2> | %3<%4>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rTLr3-TexRZ4XRWjo-RS_","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wIL2cmukQW36Se29vxwwA","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wySRU5wuruQSsykJ6XedR","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"614tMDqA6I6bt9U3aa47E","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NMFzh_cASRvDXwfiqklP2","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the given transformation matrix to this Polygon

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BJeCHbflJ5ZqQGp0LCkb3","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uGUNtbjEhSFU1FYrthOIv","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"UVx18JTuGuxye3G7wBkzL","name":"PrimitiveCompositor","type":"ClassDoc","description":"

                          A WebGL Compositor object. This class handles all of the WebGL state
                          \nPushes texture regions or shape geometry into Web...","params":[],"returns":[],"extends":["Compositor"],"implements":[],"members":[{"id":"8XsTQGwdj66duelRzdLeN","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          an array of vertex attribute properties

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bc5kclrKLQ__k6b9jQPzn","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the shader currently used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r0_qdYNZbO6DO3bf8gyZn","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the default shader created by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ob5isEHINY3EyIFUiVEl_","name":"mode","brief":"","defaultValue":"gl.TRIANGLES","scope":"instance","type":"PropertyDoc","description":"

                          primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Nz_1uWVVxVddHyR-XcpwQ","name":"vertexByteSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          the size of a single vertex in bytes\n(will automatically be calculated as attributes definitions are added)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q6vSYj7rAySbycVZXVSmw","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          the vertex data buffer used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XKxMv2eQXBS3jSFMk8yh8","name":"vertexSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          the size of a single vertex in floats\n(will automatically be calculated as attributes definitions are added)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KZrP9qG4WjYFYl4FkY4n3","name":"addAttribute","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add vertex attribute property definition to the compositor

                          ","params":[{"identifier":"name","optional":false,"description":"

                          name of the attribute in the vertex shader

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":false,"description":"

                          number of components per vertex attribute. Must be 1, 2, 3, or 4.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"type","optional":false,"description":"

                          data type of each component in the array

                          ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"normalized","optional":false,"description":"

                          whether integer data values should be normalized into a certain range when being cast to a float

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"offset","optional":false,"description":"

                          offset in bytes of the first component in the vertex attribute array

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"FiRGZr08VPIoZYApW0Kh9","name":"bind","brief":"

                          called by the WebGL renderer when a compositor become the current one

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-RHVv3r0AehPVfsUGV_sb","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"5WjKJE9y75WAHR64vR7jV","name":"drawVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Draw an array of vertices

                          ","params":[{"identifier":"mode","optional":false,"description":"

                          primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"verts","optional":false,"description":"

                          an array of vertices

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2>"}},{"identifier":"vertexCount","optional":true,"default":"verts.length","description":"

                          amount of points defined in the points array

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"wUwH6ov74yb1mk0mLAwFB","name":"flush","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Flush batched vertex data to the GPU

                          ","params":[{"identifier":"mode","optional":true,"default":"gl.TRIANGLES","description":"

                          the GL drawing mode

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"cQGza92-v0W_MDRYjods2","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set/change the current projection matrix

                          ","params":[{"identifier":"matrix","optional":false,"description":"

                          the new projection matrix

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"MaEUWLgMPZmmaTlQ9GdOJ","name":"useShader","brief":"","scope":"instance","see":["GLShader"],"type":"MethodDoc","description":"

                          Select the shader to use for compositing

                          ","params":[{"identifier":"shader","optional":false,"description":"

                          a reference to a GLShader instance

                          ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"QiBKQChbdhAO3tcfRgg-V","name":"QuadCompositor","type":"ClassDoc","description":"

                          A WebGL Compositor object. This class handles all of the WebGL state
                          \nPushes texture regions or shape geometry into Web...","params":[],"returns":[],"extends":["Compositor"],"implements":[],"members":[{"id":"WVxN24KX49nJg6NaY_iDZ","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          an array of vertex attribute properties

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ylqQM7rF5d4clxKp3nMmO","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the shader currently used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uYVee_Rg2MY5-PMt3eVhC","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the default shader created by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MUQinCsqBbCQiIp0R8vVu","name":"mode","brief":"","defaultValue":"gl.TRIANGLES","scope":"instance","type":"PropertyDoc","description":"

                          primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGL...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aPWNO_c_3L-EbD_dMW-ls","name":"vertexByteSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          the size of a single vertex in bytes\n(will automatically be calculated as attributes definitions are added)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dba0M1aT_nCz_5eiJeB6W","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          the vertex data buffer used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9OHP9okDZHtJmNkqQn5yW","name":"vertexSize","brief":"","defaultValue":"0","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          the size of a single vertex in floats\n(will automatically be calculated as attributes definitions are added)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uL_5n5PbIAPrNx19ltqXB","name":"addAttribute","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add vertex attribute property definition to the compositor

                          ","params":[{"identifier":"name","optional":false,"description":"

                          name of the attribute in the vertex shader

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":false,"description":"

                          number of components per vertex attribute. Must be 1, 2, 3, or 4.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"type","optional":false,"description":"

                          data type of each component in the array

                          ","dataType":{"tokens":[{"value":"GLenum","kind":"canonical"},{"value":"GLenum","kind":"canonical"}],"template":"%1"}},{"identifier":"normalized","optional":false,"description":"

                          whether integer data values should be normalized into a certain range when being cast to a float

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"offset","optional":false,"description":"

                          offset in bytes of the first component in the vertex attribute array

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"j_CiUWa_34E90ec3_GjpJ","name":"addQuad","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Add a textured quad

                          ","params":[{"identifier":"texture","optional":false,"description":"

                          Source texture atlas

                          ","dataType":{"tokens":[{"value":"TextureAtlas","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                          Destination x-coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          Destination y-coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          Destination width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          Destination height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"u0","optional":false,"description":"

                          Texture UV (u0) value.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v0","optional":false,"description":"

                          Texture UV (v0) value.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"u1","optional":false,"description":"

                          Texture UV (u1) value.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v1","optional":false,"description":"

                          Texture UV (v1) value.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tint","optional":false,"description":"

                          tint color to be applied to the texture in UINT32 (argb) format

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"reupload","optional":false,"default":"false","description":"

                          Force the texture to be reuploaded even if already bound

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Urwzrm-C7EutLyeJ7I4Su","name":"bind","brief":"

                          called by the WebGL renderer when a compositor become the current one

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k2FQZn8k61yqpEy6bagr_","name":"bindTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

                          assign the given WebGL texture to the current batch

                          ","params":[{"identifier":"texture","optional":false,"description":"

                          a WebGL texture

                          ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}},{"identifier":"unit","optional":false,"description":"

                          Texture unit to which the given texture is bound

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Rgl6f6O1WJQlhEfIm6jSH","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"w7Y0EEZhu0RG1ITPOO42U","name":"createTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Create a WebGL texture from an image

                          ","params":[{"identifier":"unit","optional":false,"description":"

                          Destination texture unit

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pixels","optional":true,"default":"null","description":"

                          Source image

                          ","dataType":{"tokens":[{"value":"Image | HTMLCanvasElement | ImageData | Array | Array","kind":"canonical"},{"value":"Image","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageData","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Uint8Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1 | %2 | %3 | %4<%5> | %6<%7>"}},{"identifier":"filter","optional":false,"description":"

                          gl.LINEAR or gl.NEAREST

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"repeat","optional":true,"default":"\"no-repeat\"","description":"

                          Image repeat behavior (see {@link ImageLayer#repeat})

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"w","optional":true,"default":"pixels.width","description":"

                          Source image width (Only use with UInt8Array[] or Float32Array[] source image)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":true,"default":"pixels.height","description":"

                          Source image height (Only use with UInt8Array[] or Float32Array[] source image)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"premultipliedAlpha","optional":true,"default":"true","description":"

                          Multiplies the alpha channel into the other color channels

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"mipmap","optional":true,"default":"true","description":"

                          Whether mipmap levels should be generated for this texture

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          a WebGL texture

                          ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dLd63Qf7uRorsNtcQmkqf","name":"deleteTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

                          delete the given WebGL texture

                          ","params":[{"identifier":"texture","optional":true,"description":"

                          a WebGL texture to delete

                          ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"iCrFOYJrr_LGRbvegwbXg","name":"flush","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Flush batched vertex data to the GPU

                          ","params":[{"identifier":"mode","optional":true,"default":"gl.TRIANGLES","description":"

                          the GL drawing mode

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"y3hmKF11uXbuPHIOdiUBi","name":"getTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the WebGL texture associated to the given texture unit

                          ","params":[{"identifier":"unit","optional":false,"description":"

                          Texture unit to which a texture is bound

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          texture a WebGL texture

                          ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"W-HwtEHv8E6kvcGD0gjmy","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set/change the current projection matrix

                          ","params":[{"identifier":"matrix","optional":false,"description":"

                          the new projection matrix

                          ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"S4IveElEkDlSfF5l_po5p","name":"unbindTexture2D","brief":"","scope":"instance","type":"MethodDoc","description":"

                          unbind the given WebGL texture, forcing it to be reuploaded

                          ","params":[{"identifier":"texture","optional":true,"description":"

                          a WebGL texture

                          ","dataType":{"tokens":[{"value":"WebGLTexture","kind":"canonical"},{"value":"WebGLTexture","kind":"canonical"}],"template":"%1"}},{"identifier":"unit","optional":true,"description":"

                          a WebGL texture

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          unit the unit number that was associated with the given texture

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JVhzfWNinYRnvBGpEaVmB","name":"useShader","brief":"","scope":"instance","see":["GLShader"],"type":"MethodDoc","description":"

                          Select the shader to use for compositing

                          ","params":[{"identifier":"shader","optional":false,"description":"

                          a reference to a GLShader instance

                          ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"1OqBX4K2sGHyXnkEnEXhB","name":"QuadTree","brief":"","see":["game.world.broadphase"],"type":"ClassDoc","description":"

                          a QuadTree implementation in JavaScript, a 2d spatial subdivision algorithm.

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"z8a1gIShiYeJm9hBcJAuL","name":"clear","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clear the quadtree

                          ","params":[{"identifier":"bounds","optional":true,"default":"this.bounds","description":"

                          the bounds to be cleared

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JmMmd6jOs2LV5AE4_08z0","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"world","optional":false,"description":"

                          the physic world this QuadTree belongs to

                          ","dataType":{"tokens":[{"value":"World","kind":"canonical"},{"value":"World","kind":"link"}],"template":"%1"}},{"identifier":"bounds","optional":false,"description":"

                          bounds of the node

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"max_objects","optional":true,"default":"4","description":"

                          max objects a node can hold before splitting into 4 subnodes

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"max_levels","optional":true,"default":"4","description":"

                          total max levels inside root Quadtree

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"level","optional":true,"default":"0","description":"

                          deepth level, required for subnodes

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"97LCydHT4dTo93QT8TnW0","name":"hasChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return true if the node has any children

                          ","params":[],"returns":[{"description":"

                          true if the node has any children

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"eerwx8GYucqXgsKo0dajN","name":"insert","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Insert the given object into the node. If the node\nexceeds the capacity, it will split and add all\nobjects to their corres...","params":[{"identifier":"item","optional":false,"description":"

                          object to be added

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"qiZeOA5G8MMbtHoi3nWmk","name":"insertContainer","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Insert the given object container into the node.

                          ","params":[{"identifier":"container","optional":false,"description":"

                          group of objects to be added

                          ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"IuZajiHQV4sxr84OAWeTp","name":"isPrunable","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return true if the node is prunable

                          ","params":[],"returns":[{"description":"

                          true if the node is prunable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"kdoJ_AlA_ElVmHwszspX3","name":"remove","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Remove the given item from the quadtree.\n(this function won't recalculate the impacted node)

                          ","params":[{"identifier":"item","optional":false,"description":"

                          object to be removed

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          true if the item was found and removed.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"tA-_JbTq9WXn145fMZtd4","name":"retrieve","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Return all objects that could collide with the given object

                          ","params":[{"identifier":"item","optional":false,"description":"

                          object to be checked against

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"fn","optional":true,"description":"

                          a sorting function for the returned array

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          array with all detected objects

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"BUfFABuM4yd9UEXhigHWC","name":"Rect","brief":"","type":"ClassDoc","description":"

                          a rectangle Object

                          ","params":[],"returns":[],"extends":["Polygon"],"implements":[],"members":[{"id":"Kh4wDzAFvtQzTBis7Edvg","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jBI0NKkwFoDdLASPiX3Ul","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hast5v9xTlnsl-ks4rSVM","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RCJnlba437lUTcqZPFB2Q","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0iIpqaSyiCD6tKEJOtWug","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7r3XbFY3gIY4IGuPrBP4t","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U1obQTNvOqZgMKE501ukj","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0PMAf-PSRK8DFaye5h193","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6i2zKBrizvgFfkMyewSbe","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bcRQznv2SbsPHwGKsn70S","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S548xI-V9UxGpqvr5Q8bD","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2xxcScX2H3pRYHXw7tj21","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"S7SE8MdzAOTE9lLDp-P5j","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mi1mKKbyLMDqDAXe9oyz0","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"potzNnMqSovhPY4rKYj2m","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"pAAMbTTvkiy5YVuqYbWaD","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9hTzldANTWPf2QfG3xHLR","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"VMjKvbsvoAs4oAsTtUfOg","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UwKuh70UqM6fGfxjBZWN2","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"4J6nxmPuLLvK3fov1N7NQ","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"fpQrWcH4EfbqWrMP089aT","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"aT4eKWZOt5KGK_37a_Kdm","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"XVhOTF-8ELzeBAT97uKmG","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5PB-aZ4qNrIVG1nbFtKjD","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_lw1CP6aoJ-SpjJnOPxA0","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eUMKvYKwsfGmZontiAz4K","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the rectangle

                          ","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y5GRyz3Dq4I3vxdz-3r-R","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Polygon by the given vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0Tl73wxGcRo5Nbo9j6qBo","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H0pQ7TfcM6XV66lIKB0cr","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FN38qy2R9Y9nLNtftZ20u","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"UDQGJWRDUk1bNOgpPdArr","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gaGW1AjmjPlnC1k0U9oDF","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kWG--8xkT1CfGhB8tlCwc","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ExXjS-ryBhkTpO5zqzu0e","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the given transformation matrix to this Polygon

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Wea1Zkev4wHR0dzvdqcP2","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rlkHY3klmnzkHbJ_29hmJ","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5EpucVrhEl7sI7XV3WHJd","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"GQRLbG487C_GvPqNJwPkl","name":"Renderable","brief":"","type":"ClassDoc","description":"

                          A base class for renderable objects.

                          ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"barLi6KwKE3mXqLLrsfjk","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PkLba854_nbfpdAj08d5G","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a98TRaVScOI-M17WVkt1A","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nSECFoDXnPRdVp4mYZ6w4","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EWJqBRxzfM5xRbHTccLF5","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-TC2bG3ND-OGPH6SGXqD6","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aTGTHEI1julOMlMHiXw-M","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qpnu6qOEAFeHQTS2dU7R6","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I3oZR8qXEFzuI0jtTGQOG","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5ZnFj_qY4jJhjae04rncN","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iIgHHvcoa1uhi6DCTJ_Z-","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BoqFShiX5Lda3a2HSS5-F","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H_OLMavlHY4kHm_zdV4Rm","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-KHCT86OPTyJ6Rn2YL1JB","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wJXdzr5WQ0nQiIBOv-o5d","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-7hfN3v0VowFC5_9WUpir","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dd9G6Ty07WLwtSvMlI-2y","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ImGgOADuYwmDDum7hIfw_","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3TnJyQz4UaXDgVthTYpYt","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B1ZJX9t3dSpxV19obbqGc","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZIrseOXzewZM0EIgf6qG1","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0cYncgZ8HuqyleRiLdB1-","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y-XrItK9Ek1ocnY4cJK6z","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w1pjXaMaO7KpxxYpHlSmu","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1ZhNtWKMw07ZdKx_v5ebW","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KJ5uLXybWPR-Wi9B6w0lo","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EBXlScUEYIKahpmTzIGbG","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UaiYZT5EY5h15PpWQu7CY","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0ZSvxWrlHRteJd7CxCgHQ","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nSBui8VbFkjYHKgsNEhy3","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yvRsIsj8FfkX74ojmkkSR","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pTH4eoo4dCH-v-jVeLf48","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wdyUUg1peN-BQ89lbhVpe","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ofudoAu2PVxmvuyfktrR4","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FCDwKriyitt_osy3gscFD","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oBchZDBswjv4TMa8c_BOs","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O3A7nJmhyBZKkSB9SqoeJ","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"21VH8IWgs_XTrx3nFZr24","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jv1qDN80jeH1lh1y36L2U","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GENrxI4IH6SeRUnHUkzY0","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          position of the renderable object (accessible through inherited pos.x property)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the renderable object (accessible through inherited pos.y property)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                          object width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          object height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SV87XvZU5POOnKapgxxx7","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"l4Tc1rkfdADmnxS3cdYsM","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wRXxg_ZRMbQL_luRvpOmy","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7gUDGiPzIRtgGCzESpVw6","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"4IlvkJ2OaC3yfjDDCEAKJ","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"YHAtHN58aEoizrCCi2_3V","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ZvYuVuJid67MDgg2Xjl2C","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YnnFUs1vaTEb9r0COj5N7","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"o4fHUIywma4rnLHdJKoQG","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eM76diuVuZOTpffmA7asW","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"118Ym8MroPjSy4aDW7zs4","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8txTl9Xxl8u-w0l1e7fNC","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"49s2IP6Q3yxx2RlAiqo33","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"YNUgyIVANfkuZk6goPp3f","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1_mB-yptNwN9nlYkrs-MF","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Wy7QwQDHbwgNa1t65M6XZ","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PgWlQOxRYu4cyT5vl0m-4","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"KRTKsQRgIP5SrR4tfBKE4","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"K8dPb6YiL9yFoZvcZ3Mrd","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"EygR_5FrkND6FyVU1CobM","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WY27DADDX01EXeVN874rd","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"77vsu5CwG8BbB3V18bXLq","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UvYqLJKPhfcKX0TBvNiS4","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8LlDFoC2yIN-i0ZU89RhZ","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9GwGE1KshLjE0zde3wst-","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QU-qs9nAoOEPqbwCvxeLa","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0lyYFbJBJzm2ss6AoScot","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XbGvijfDcs5YEpHlgThPR","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bwibIhTT7WxHPjqDRR6hI","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-CgVAH2kUpbNCODMy1yDU","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hQTw12jJHci9ktzOpP3lc","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wmijkYcm5c64xGfav8DUA","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EmiGp8RrERiZxOrV5OON4","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WqmU9MZbiFWTBrknAnCf-","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4ANAKIMV-ak9eEfbra942","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"sQL83yAHFWqpiTTNH07Xr","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kmMDLwC21-x4AzF8XbQh6","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"102TbSVm9NT-U37_ER8Tj","name":"Renderer","brief":"","type":"ClassDoc","description":"

                          a base renderer object

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"dzMrbpfg3LcBJbMN5dxte","name":"getHeight","brief":"","access":"public","deprecated":"since 15.12.0","see":["height"],"type":"ClassDoc","description":"

                          return the height of the system Canvas

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"REfjtH8iNV3vV178-Xgcb","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"FhD7CHDRR4frqxpGmG9I5","name":"getWidth","brief":"","access":"public","deprecated":"since 15.12.0","see":["width"],"type":"ClassDoc","description":"

                          return the width of the system Canvas

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"b1grM9z02jX6JXI2LbEL_","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"aF05-t6SExGPV6DHDn6Wl","name":"Texture","brief":"","access":"public","deprecated":"since 10.4.0","see":["TextureAtlas"],"type":"ClassDoc","description":"

                          Alias of {@link TextureAtlas}

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"0CjiEgoPyz1xl_cFWVrCh","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"wu43lPCLhKfOV0DYVCJII","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

                          the default method to sort object ("sorting", "z-buffer")

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZjAdUyLO2RscmJ8wnYHnn","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the requested video size ratio

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q6qo8qOpEoDeQG1v2n4Rv","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          return the height of the canvas which this renderer draws to

                          ","params":[],"returns":[{"description":"

                          height of the system Canvas

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Dkq6yzNb2DDWRb2FuqFro","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          true if the current rendering context is valid

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lshT6Je5rvxawNNJs5iYX","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The Path2D instance used by the renderer to draw primitives

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-49YUYLIsW5rZwA5K5dYF","name":"scaleRatio","brief":"","defaultValue":"<1,1>","scope":"instance","type":"PropertyDoc","description":"

                          the scaling ratio to be applied to the main canvas

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h9meTPr7OxcATBvn5poRt","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The given constructor options

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hsbj2cv__FYK3NtJ0xlcV","name":"type","brief":"","defaultValue":"\"Generic\"","scope":"instance","type":"PropertyDoc","description":"

                          The renderer type : Canvas, WebGL, etc...\n(override this property with a specific value when implementing a custom rendere...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wgpX93jGN3qeqnZnoa7N4","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          return the width of the canvas which this renderer draws to

                          ","params":[],"returns":[{"description":"

                          width of the system Canvas

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rySV0Cdu48QZbOiq6Dchw","name":"clear","brief":"

                          prepare the framebuffer for drawing a new frame

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7UnXygJOt3SjV_A2RjBI-","name":"clearMask","brief":"","scope":"instance","see":["Renderer#setMask"],"type":"MethodDoc","description":"

                          disable (remove) the rendering mask set through setMask.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5-fgRRFxREq6Iks6XJGrX","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

                          clear the rendering tint set through setTint.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h60Okl7LSQRuuYDAJnaMf","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"options","optional":true,"description":"

                          optional parameters for the renderer

                          ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JReVFSYy9D98CDN9NQH-E","name":"fill","brief":"","scope":"instance","type":"MethodDoc","description":"

                          fill the given shape

                          ","params":[{"identifier":"shape","optional":false,"description":"

                          a shape object to fill

                          ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[],"extends":[],"implements":[]},{"id":"gCY40JrXQhcJyFbC5k6ii","name":"flush","brief":"

                          render the main framebuffer on screen

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_mGpCilnzikNrO2gUp6uw","name":"getBlendMode","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the current blend mode for this renderer

                          ","params":[],"returns":[{"description":"

                          blend mode

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"m9TJGpH6yYSxBQjEnfSjX","name":"getCanvas","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return a reference to the canvas which this renderer draws to

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xo8ams0hewQnLdtoVeE0p","name":"getColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the current fill & stroke style color.

                          ","params":[],"returns":[{"description":"

                          current global color

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XPX80KrWIBOe93OYaMDNi","name":"getContext","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return a reference to this renderer canvas corresponding Context

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D | WebGLRenderingContext","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"xkMpmdTbPE7CroiVSvbYU","name":"getContext2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the 2D Context object of the given Canvas
                          \nAlso configures anti-aliasing and blend modes based on constructor o...","params":[{"identifier":"canvas","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"true","description":"

                          use false to disable transparency

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P8ckmiEJQWEMh3-1ZpwZj","name":"getScreenCanvas","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getCanvas();"],"type":"MethodDoc","description":"

                          return a reference to the screen canvas

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"knylrANs6YPQaTAGt1ekk","name":"getScreenContext","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getContext();"],"type":"MethodDoc","description":"

                          return a reference to the screen canvas corresponding 2d Context
                          \n(will return buffered context if double buffering is ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"flpPyd_VCv2wIcR_EdYTW","name":"globalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the current global alpha

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ul8ScKjVBePfK6J12auxm","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if the given rect or bounds overlaps with the renderer screen coordinates

                          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Rect | Bounds","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"bRI7BrQzsV9yCMB7E48CF","name":"reset","brief":"

                          Reset context state

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Caeha2zsI776YACbQwk8D","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resizes the system canvas

                          ","params":[{"identifier":"width","optional":false,"description":"

                          new width of the canvas

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          new height of the canvas

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"g6C1Ff7tbtD6SwQDl5RPG","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

                          enable/disable image smoothing (scaling interpolation) for the given context

                          ","params":[{"identifier":"context","optional":false,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":true,"default":"false","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"M_ME83tRSbAqLJzQnQA_8","name":"setMask","brief":"","scope":"instance","type":"MethodDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[{"identifier":"mask","optional":true,"description":"

                          the shape defining the mask to be applied

                          ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"invert","optional":true,"default":"false","description":"

                          either the given shape should define what is visible (default) or the opposite

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"299pCiNNtbiYUN98pmgBv","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set/change the current projection matrix (WebGL only)

                          ","params":[{"identifier":"matrix","optional":false,"dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Wppk_cco6yoUCBrVNiifd","name":"setTint","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set a coloring tint for sprite based renderables

                          ","params":[{"identifier":"tint","optional":false,"description":"

                          the tint color

                          ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":true,"description":"

                          an alpha value to be applied to the tint

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"PchUZOp7929oiNot0a11K","name":"stroke","brief":"","scope":"instance","type":"MethodDoc","description":"

                          stroke the given shape

                          ","params":[{"identifier":"shape","optional":false,"description":"

                          a shape object to stroke

                          ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"fill","optional":true,"default":"false","description":"

                          fill the shape with the current color if true

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"6SzNCfARGLrHDytjX0rkW","name":"tint","brief":"","scope":"instance","type":"MethodDoc","description":"

                          tint the given image or canvas using the given color

                          ","params":[{"identifier":"src","optional":false,"description":"

                          the source image to be tinted

                          ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2 | %3"}},{"identifier":"color","optional":false,"description":"

                          the color that will be used to tint the image

                          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"mode","optional":true,"default":"\"multiply\"","description":"

                          the composition mode used to tint the image

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          a new canvas element representing the tinted image

                          ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"t4dzVAm0MyLeiD2nQrbfk","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderer.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

                          creates a Blob object representing the last rendered frame

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning a Blob object representing the last rendered frame

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GrDoedF8nYcL24bmGqJwY","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

                          returns a data URL containing a representation of the last frame rendered

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning a string containing the requested data URL.

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EsUFBCmtfNXzK6L6s-Wyu","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderer.transferToImageBitmap().then((image) => console.log(image));"}],"scope":"instance","type":"MethodDoc","description":"

                          creates an ImageBitmap object of the last frame rendered\n(not supported by standard Canvas)

                          ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                          A string indicating the image format

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                          A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          A Promise returning an ImageBitmap.

                          ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"xu-3cUaJWmnxzYiiSe5JI","name":"ResponseObject","brief":"","access":"public","type":"ClassDoc","description":"

                          An object representing the result of an intersection.

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"_Cgc9pTSfQgyhC_hufBRF","name":"a","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The first object participating in the intersection

                          "},{"id":"56VASVG1BANE6jWCfRtXx","name":"aInB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Whether the first object is entirely inside the second

                          "},{"id":"v1-0k0-BXhqJJy-oQZKgh","name":"b","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The second object participating in the intersection

                          "},{"id":"WqHRVBhw8jkI4hh6OezS-","name":"bInA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Whether the second object is entirely inside the first

                          "},{"id":"eVhxFqXihhIQFwXKNjXqD","name":"indexShapeA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The index of the colliding shape for the object a body

                          "},{"id":"-h3-eTXfXlmVMp8US_zPX","name":"indexShapeB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The index of the colliding shape for the object b body

                          "},{"id":"knL6hlc9c8duuAYzWghXU","name":"overlap","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Magnitude of the overlap on the shortest colliding axis

                          "},{"id":"RtJhiAUZlDe5xWzN9Q1fG","name":"overlapN","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The shortest colliding axis (unit-vector)

                          "},{"id":"JzdKf08PI3AahqoQerGZJ","name":"overlapV","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The overlap vector (i.e. overlapN.scale(overlap, overlap)). If this vector is subtracted from the position of..."},{"id":"m5W9VEkq_QaTYZhRI4V85","name":"clear","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                          Set some values of the response back to their defaults.
                          \nCall this between tests if you are going to reuse a single this object for chaining

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]}]},{"id":"w6bhj_y1mxtutlqasedJe","name":"RoundRect","brief":"","type":"ClassDoc","description":"

                          a rectangle object with rounded corners

                          ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"S-lBf4-1FP7ju4IFZB4dr","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4PXkz65rLRncTHoRq2pjk","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"whPrixm1kv5p5tKtFtk4S","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ouxkwd6S2889oyqTH2MN2","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VLc4Yth3DBhz6I46U1ADA","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-e1uRg5UcIzxPjd3gF5FQ","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DA3Vb-J2fzRaIwd6nBsxY","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m6gQjXQRLv8Ch1TlHrJot","name":"radius","brief":"","defaultValue":"20","scope":"instance","type":"PropertyDoc","description":"

                          the radius of the rounded corner

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5vLFhpfHJv7W1i4JtpAu6","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XGClWmDT73Soa5aIbZs5q","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QLQ8ipwd28j5qIytiRxtZ","name":"type","brief":"","defaultValue":"\"RoundRect\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xWZFQRj68RWpbR5FhTjXg","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l9IBO8jAic2n2g4cZdq5Z","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b6oG2sizZsWwegsqab8Vu","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this RoundRect

                          ","params":[],"returns":[{"description":"

                          new RoundRect

                          ","dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L8Uv-BRSpz-lpJzn3kBX9","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          position of the rounded rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the rounded rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                          the rectangle width

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                          the rectangle height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":true,"default":"20","description":"

                          the radius of the rounded corner

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mnQlZLV3g1SLGKsDmEFQz","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rounded rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a Rect to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rounded rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2sDkIzQBUGDF7ajqsoLTa","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position, size and radius of the given rounded rectangle into this one

                          ","params":[{"identifier":"rrect","optional":false,"description":"

                          source rounded rectangle

                          ","dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8gOq_0pPVrfZP8G0gukuR","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this RoundRect is identical to the specified one

                          ","params":[{"identifier":"rrect","optional":false,"dataType":{"tokens":[{"value":"RoundRect","kind":"canonical"},{"value":"RoundRect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Zdr5ENmtg4hz7s4G0zXy0","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this shape, the smallest Rectangle object completely containing this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WSdLyQeV_aakrxmvd8nZo","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"x46CXQVC89sdhx-E7CsC5","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ThBRRAYhalzKsYVHbeKbA","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qBHWw9H1S9rVz_bGCegfC","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"m_nYnTKN479yBwhiARJAk","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IykH_Tm6ekHYWKFIg7AuT","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X6JC8Sndfzv4zSvnQxLXT","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this Polygon (counter-clockwise) by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ViyfMYx4YxWYPBD6W0tkx","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the rectangle

                          ","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FvqfdwAFf2Bqg6WCy4RDL","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Scale this Polygon by the given vector

                          ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ss3D1TD7qgx2y8C24FOPb","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0B9cicRCv9YtZpLUimdl0","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8B0ySIvTCBl0Z6UGerWav","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"oL8dHHEzWeweOJ4-199at","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WvpEc9HlMOH06ibNz4RPu","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VzFAelZu88VBUX0lyzjOY","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4Dpr5U7eTGvkLTEnVgMkw","name":"transform","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply the given transformation matrix to this Polygon

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4nDpYveFK8fvzKBEddOT_","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7ip3RT7529v7yh8nI0ZAt","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aCbDyeECve-Ne4Q8Gu1OG","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"oZasI-NS2HQ2DKmCvicLs","name":"Sprite","brief":"","type":"ClassDoc","description":"

                          An object to display a fixed or animated sprite on screen.

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"SE-lgl5kVwNYzV2lMni6N","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DwYgAVhy4lJXKpQgMhbeQ","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xOpN-iH-LGn9LfIUdBLOd","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0F3SNzngXk8YloCkYgBQq","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xcSvEsaYS1afIXq9y-P8W","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AkCl9L-0s6mY60bMiqDpn","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y1ZieqPaipefnPLfSWoWy","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W0wUXnL_qt8m-W0LFqa01","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4GI_Tx4oiDXAkuBb1LK-T","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"buJJCbHoqUZDZHBrc7DiQ","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6qca53CSinrhzgfrraRIx","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-avAYigJf6eN6l2y4Yu3h","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9e_2oAm38f8WhudqpoojS","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wu1TnM8NyYYicfqkj_V4h","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tbaA7rb3AcruLqjC5KaL5","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z1RJdZZt7JbffMzcq58zJ","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-Tfu79LYdGVbRlZtxA5_w","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XV-CUDhdaPh8N3Fzaf1cC","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1unEmeKmpUltNW5_o7tL1","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dquhrr37qdtSYQnzIjJmM","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ojSOrn82lnEh4lcCCNwDf","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2_9SvYRqXbntGLTAtvF7n","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T_SC5sEnXrf_I980da7Kf","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2I9iSddAWzD93Llx5_L4w","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uJO3YZKtoSOxA_HEWA0Vr","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5bHu1_NPsfJrQNJG-eFHj","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kiy-g7kdM-ucC692-o08I","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1TvkcOt8NW-FwypgulPys","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OlUdq8kGiQi1c5505fWAo","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

                          global offset for the position to draw from on the source image.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qXca_x9Br5PWMFwOthk5z","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i1Ei7vVaP-u0qoUFRitan","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gAriG4v_mK-YxWIURwr5p","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ce5HLe1scKlChu2QH30sj","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AucAjOGJbsSjl0ZuV1fr-","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F48zxqwLIm4KRVMMuQnuh","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TpZ8-2uBG2ABy_k0Nld8d","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zj7TW0eA-0FVgiaVcdQMc","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jhFvoPuS_ZHgz--eB0n4-","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V1E4nYlIdnMcF5Ir9y6sY","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J0IVai2VcZZffo9qSGZ10","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J_hbak_x4Ba_jWh2UWovo","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UrgB08066ZpSr5t0Uulxw","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          add an animation
                          \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

                          list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

                          ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

                          cycling speed for animation in ms

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          frame amount of frame added to the animation (delay between each frame).

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F80c_uCuMBTRQzo23gDG3","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5-tFOcXSdFGRSQnj3e4SR","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"i8l_GXHXP073QsHGpVoG5","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kplfymi8jnRwwxJDWw46n","name":"constructor","brief":"","examples":[{"caption":"","code":" // create a single sprite from a standalone image, with anchor in the center\n let sprite = new me.Sprite(0, 0, {\n image : \"PlayerTexture\",\n framewidth : 64,\n frameheight : 64,\n anchorPoint : new me.Vector2d(0.5, 0.5)\n });\n\n // create a single sprite from a packed texture\n mytexture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\"),\n me.loader.getImage(\"texture\")\n );\n let sprite = new me.Sprite(0, 0, {\n image : mytexture,\n region : \"npc2.png\",\n });\n\n // create a video sprite\n let videoSprite = new me.Sprite(0, 0, {\n image : me.loader.getVideo(\"bigbunny\"),\n anchorPoint : new me.Vector2d(0.5, 0.5)\n });\n // scale the video sprite\n videoSprite.currentTransform.scale(2);\n // start playing the video (if video is preloaded with `autoplay` set to false)\n videoSprite.play();"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinates of the sprite object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinates of the sprite object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          Configuration parameters for the Sprite object

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.image","description":"

                          reference to spritesheet image, a texture atlas, a video element, or to a texture atlas

                          ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | TextureAtlas | string","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1 | %2 | %3 | %4 | string"}},{"identifier":"settings.name","optional":true,"default":"\"\"","description":"

                          name of this object

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.region","optional":true,"description":"

                          region name of a specific region to use when using a texture atlas, see {@link TextureAtlas}

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.framewidth","optional":true,"description":"

                          Width of a single frame within the spritesheet

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.frameheight","optional":true,"description":"

                          Height of a single frame within the spritesheet

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.tint","optional":true,"description":"

                          a tint to be applied to this sprite

                          ","dataType":{"tokens":[{"value":"string | Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.flipX","optional":true,"description":"

                          flip the sprite on the horizontal axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.flipY","optional":true,"description":"

                          flip the sprite on the vertical axis

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.5, y:0.5}","description":"

                          Anchor point to draw the frame at (defaults to the center of the frame).

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"5dJme0b6haACBmU9PIocC","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"DXyU-NVD087rCcGVoANLi","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5XoHdneXgU_DG8SH5mr2j","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GysUHM0S3MX6w-evl0l05","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"LZav6e2lI-E5nLHpO4agL","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                          make the object flicker

                          ","params":[{"identifier":"duration","optional":false,"description":"

                          expressed in milliseconds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

                          Function to call when flickering ends

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"UrUzNi3RSpV-79eZSuzCK","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GDq7209tljMCSwC2-5pE8","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NbFHgaCNZJkEb8KAIkoRq","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yiDVg3F8-o7JdRzdo-cys","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xnpNHErxPQ4ai_dUtvtmE","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the current animation frame index.

                          ","params":[],"returns":[{"description":"

                          current animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OmZxWLAaCraOAKCGn3S18","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Knp83rc0zDQxG3sIjhHsU","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QrlZdqEkyqRqRPazKfA8O","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"-ac8hXm6bpxNTTDhgVGUC","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          return true if the specified animation is the current one.

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"RnOa4iTjSldKsYiWqseKS","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Q_fNUMVNk21DakDjIF3wX","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the flickering state of the object

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"VK9FbvgmjX2sZytDUP7Oi","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JhTfMLIn6nporjaMlH-s3","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"XxNAal11VjogU1VvyzMC6","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PsrCH-sg32QiVwSmcJeuT","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8kC3LO9qid2HApoPTMvoj","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eB6cFE_So3tBukE60dABE","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lxn4x5DB5wuaW8N221jrS","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"eQ2dNBcWY9DuEHJPuRiad","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"Vtzlct_QZnvS84UkMvram","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8_D7960-cV5YEu1Qbdayo","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GkLgOmfQH8JPAg-dOEAN6","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                          reverse the given or current animation if none is specified

                          ","params":[{"identifier":"name","optional":true,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"an_vDEw7IAkuCVCGjxa02","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"468PGEwd_TKdPz3EiOlTd","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wRnOyubhvmCeqoc7gC7aF","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9jLleT1XPc1Nipvtda2fy","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

                          force the current animation frame index.

                          ","params":[{"identifier":"index","optional":true,"default":"0","description":"

                          animation frame index

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bFckYDwHEhgUFLKfoAW4w","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

                          set the current animation\nthis will always change the animation & set the frame to zero

                          ","params":[{"identifier":"name","optional":false,"description":"

                          animation id

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

                          animation id to switch to when complete, or callback

                          ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

                          if false will reset the elapsed time counter since last frame

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jk7mTWP0b6SXB5wfxOc96","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mQmNXlRI43ZUtGw6CJF1Y","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

                          change the current texture atlas region for this sprite

                          ","params":[{"identifier":"region","optional":false,"description":"

                          typically returned through me.Texture.getRegion()

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tafNEE630A2VRXL4smxKn","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1kydoqrmEYRg3x6bad3j-","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fYV5_fLzM5pjayMVZ7D2c","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"EiiXIDqhUVl5nrgVaW62i","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uHtj-1fY4hJIwQgLnmp2_","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lp4Rclkxl4wf4o88htnKC","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jNKv7y5z8HUuwDvADThyX","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"U_N99QMb9IZjymBZXuAk1","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0wvy7mRvrTgBSnq_X30MT","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5pWOOHGIx1auNenHoKTpn","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"syJoULQ-_qVXSlnLDcc2J","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          draw this srite (automatically called by melonJS)

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                          the viewport to (re)draw

                          ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"n4DuxiDhmtSflb9O3Vj6k","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                          update function.
                          \nautomatically called by the game manager {@link game}

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the Sprite is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"5KaWT7vfvs36vyaVNhPqy","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"2iT-Ox-Im9LYAbuwJDDL7","name":"Stage","brief":"","see":["state"],"type":"ClassDoc","description":"

                          a default "Stage" object.\nevery "stage" object (title screen, credits, ingame, etc...) to be managed\nt...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"8H93miZL6cqGC_CQ4OpxI","name":"ambientLight","brief":"","access":"public","defaultValue":"\"#000000\"","scope":"instance","see":["Light2d"],"type":"PropertyDoc","description":"

                          an ambient light that will be added to the stage rendering

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IU3g2ns4oW2prCG-LWXjV","name":"cameras","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The list of active cameras in this stage.\nCameras will be renderered based on this order defined in this list.\nOnly the &q...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1u0v9FIMzo9KpDU3iozbN","name":"lights","brief":"","access":"public","examples":[{"caption":"","code":"// create a white spot light\nlet whiteLight = new me.Light2d(0, 0, 140, \"#fff\", 0.7);\n// and add the light to this current stage\nthis.lights.set(\"whiteLight\", whiteLight);\n// set a dark ambient light\nthis.ambientLight.parseCSS(\"#1117\");\n// make the light follow the mouse\nme.input.registerPointerEvent(\"pointermove\", me.game.viewport, (event) => {\n whiteLight.centerOn(event.gameX, event.gameY);\n});"}],"scope":"instance","see":["Light2d","Stage.ambientLight"],"type":"PropertyDoc","description":"

                          The list of active lights in this stage.\n(Note: Canvas Renderering mode will only properly support one light per stage)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w1fIhdWvtBgopJyQ7lnTx","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The given constructor options

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HXmjZk3J4LRimbOd8OSr8","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"settings","optional":true,"description":"

                          The stage` parameters

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.cameras","optional":true,"default":"[new me.Camera2d()]","description":"

                          a list of cameras (experimental)

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1<%2>"}},{"identifier":"settings.onResetEvent","optional":true,"description":"

                          called by the state manager when reseting the object

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.onDestroyEvent","optional":true,"description":"

                          called by the state manager before switching to another state

                          ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[],"extends":[],"implements":[]},{"id":"Tqon9vE3dTrqSBAJ1PUa9","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          onDestroyEvent function
                          \ncalled by the state manager before switching to another state

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K1hEp0idaWg_B8344atHn","name":"onResetEvent","brief":"","scope":"instance","see":["state#change"],"type":"MethodDoc","description":"

                          onResetEvent function
                          \ncalled by the state manager when reseting the object\nthis is typically where you will load a lev...","params":[{"identifier":"...arguments","optional":true,"variadic":true,"description":"

                          optional arguments passed when switching state

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"hbXE-EL8SonTg43djqGLK","name":"Text","brief":"","type":"ClassDoc","description":"

                          a generic system font object.

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"h52GjTwXl0BmA7STzLs3l","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                          Define the renderable opacity
                          \nSet to zero if you do not wish an object to be drawn

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NmDbRuTOOmyZCNwcWzZzP","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object will always update, even when outside of the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o9i5aN8eqrtr5vJN-jyAn","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xP6LpFsk3L0iXjvHHFCs5","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                          The anchor point is used for attachment behavior, and/or when applying transformations.
                          \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ub1vLpFQq63vN7dDK7ZwS","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                          When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rwlVTTZUG7vQzeVtXcWdo","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                          the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WTu_lVn03z1BfCh09wpNW","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                          the renderable physic body

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YZotUExjXZvt4AI759EG_","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9T7ntNPKM00kyw_qjzmv-","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VfNOeikT7Z0gv12WMuTOE","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hi_os9BHtILXANxulff_U","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zqpj0kfP-aBiYK0aetrfr","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"opfwtZJpdInydWZp7lYbJ","name":"fillStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

                          defines the color used to draw the font.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qBOicqNcrO9AXcY6mzmVV","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vHUBAhqpVV3bAtaqWIYZ1","name":"fontSize","brief":"","defaultValue":"10","scope":"instance","type":"PropertyDoc","description":"

                          the font size (in px)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ym1esUBScHRCnmbC_FYPA","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          (G)ame (U)nique (Id)entifier"
                          \na GUID will be allocated for any renderable object added
                          \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6-rdK6lJwxGRQRLMv-vGV","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dXwHObsuYt447sUzJOYAh","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether the renderable object is visible and within the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9gcvhYWLtpi8ZlFajf0p5","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          when true the renderable will be redrawn during the next update cycle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wEG5mSZLYUsKaqqELYVIp","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PbwaC2pQBFAOkTErflbVr","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                          returns true if this renderable is flipped on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4OUynV0eeJCJeaViWh9tR","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                          Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_s-ghjtjbJ6jPDfskg6N2","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          If true then physic collision and input events will not impact this renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XkvbmgOQGKstYDl9ynjiq","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iaPDNyWvCYOicnffHwvZl","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JXrgLXlJzgJdlsQ1VlPYp","name":"lineHeight","brief":"","defaultValue":"1.0","scope":"instance","type":"PropertyDoc","description":"

                          Set the line spacing height (when displaying multi-line strings).
                          \nCurrent font height will be multiplied with this va...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HgGhVIF0qHZorXhdzRbmF","name":"lineWidth","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          sets the current line width, in pixels, when drawing stroke

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ddCN37ZmZ_Dnt-6PTN7G-","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                          A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dhxweD7fU2MhzVkdPdusU","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1WFM6GHjLguM7SJCb0vPG","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                          an event handler that is called when the renderable leave or enter a camera viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TWh9yN4rSSShtUsobKoDd","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          returns the parent application (or game) to which this renderable is attached to

                          ","params":[],"returns":[{"description":"

                          the parent application or undefined if not attached to any container/app

                          ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sk-qIEHtH3RaJov6ZKK7x","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Array of points defining the Polygon
                          \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Tyu9HDeRIyTDmYqCHBIfG","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yLQu3ixeARkB0h97apzae","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ARbE60Tyq7yfQ15TpON_i","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pchkKP3N4Gwfp_B5VKlaH","name":"strokeStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

                          defines the color used to draw the font stroke.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9MRap2Q-PS0nFbox3lCES","name":"textAlign","brief":"","defaultValue":"\"left\"","scope":"instance","type":"PropertyDoc","description":"

                          Set the default text alignment (or justification),
                          \npossible values are "left", "right", and "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XwjUbG1bO3eRWpj-ieno3","name":"textBaseline","brief":"","defaultValue":"\"top\"","scope":"instance","type":"PropertyDoc","description":"

                          Set the text baseline (e.g. the Y-coordinate for the draw operation),
                          \npossible values are "top", "hang...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rwYqoipDFRy6JLrj6ou9R","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                          define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FY__4fEvBStcfahVcYE1n","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nps8X2Wn9nxIt9cT6lMSV","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wfzXJ-yUOebryTElCpOoo","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          Whether to update this object when the game is paused.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i1AfKDyEv8xg7ENUiEFVc","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X52F2rj23U1np9S97hdGE","name":"wordWrapWidth","brief":"","defaultValue":"-1","scope":"instance","type":"PropertyDoc","description":"

                          the maximum length in CSS pixel for a single segment of text.\n(use -1 to disable word wrapping)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D1J4oEnmnN8e6pNqLiItI","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                          the text to be displayed

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YvA341M_4KktAcJ0Oagvc","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the angle to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          angle in radians

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7FUXnlBc2hP7i3w6uQqiX","name":"bold","brief":"","scope":"instance","type":"MethodDoc","description":"

                          make the font bold

                          ","params":[],"returns":[{"description":"

                          this object for chaining

                          ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IlhLbvIxcnnmYwPTVjuOl","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the rectangle position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WqZwYTGENF2WiogB4QOX8","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this rectangle

                          ","params":[],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RlyyhUwzDMOKm-JzT4XKC","name":"constructor","brief":"","examples":[{"caption":"","code":"let font = new me.Text(0, 0, {font: \"Arial\", size: 8, fillStyle: this.color});"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                          position of the text object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the text object

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                          the text configuration

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"settings.font","description":"

                          a CSS family font name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.size","description":"

                          size, or size + suffix (px, em, pt)

                          ","dataType":{"tokens":[{"value":"number | string","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | string"}},{"identifier":"settings.fillStyle","optional":true,"default":"\"#000000\"","description":"

                          a CSS color value

                          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"settings.strokeStyle","optional":true,"default":"\"#000000\"","description":"

                          a CSS color value

                          ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"settings.lineWidth","optional":true,"default":"0","description":"

                          line width, in pixels, when drawing stroke

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.textAlign","optional":true,"default":"\"left\"","description":"

                          horizontal text alignment

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textBaseline","optional":true,"default":"\"top\"","description":"

                          the text baseline

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.lineHeight","optional":true,"default":"1.0","description":"

                          line spacing height

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.anchorPoint","optional":true,"default":"{x:0.0, y:0.0}","description":"

                          anchor point to draw the text at

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"settings.wordWrapWidth","optional":true,"description":"

                          the maximum length in CSS pixel for a single segment of text

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.text","optional":true,"default":"\"\"","description":"

                          a string, or an array of strings

                          ","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZWiifXfe81Q2c9TlOScUF","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the rectangle contains the given point or rectangle

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point, or a rectangle to test

                          ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the rectangle contain the given point or rectangle, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"I6AIii3QHUitZimL9dsbh","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                          copy the position and size of the given rectangle into this one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          Source rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          new rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3ULL8hk9NIkMSOfEqm_W1","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the distance to the specified target

                          ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          distance

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LRh0GmJI2SPXh4Ots5Z88","name":"draw","brief":"","scope":"instance","type":"MethodDoc","description":"

                          draw a text at the specified coord

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          Reference to the destination renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":true,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"nm2XXC3tHWTJdUmZV64sP","name":"drawStroke","brief":"","deprecated":"since 15.0.0","scope":"instance","type":"MethodDoc","description":"

                          draw a stroke text at the specified coord, as defined by the lineWidth and fillStroke properties...","params":[{"identifier":"renderer","optional":false,"description":"

                          Reference to the destination renderer instance

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":false,"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"BZ0qkc19mNNALBAtfXVAV","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is identical to the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if equals

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"cXLRHXZ0bnPLJSNBCUrqV","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                          flip the renderable on the horizontal axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lU-L7KLrCMvka7kVVGaFP","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                          flip the renderable on the vertical axis (around the center of the renderable)

                          ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                          true to flip this renderable.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ShyzJlp_ppQT_VW_Jx_pI","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                          return the renderable absolute position in the game world

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gXcjO46vxixoCnIcpBzeI","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns the bounding box for this renderable

                          ","params":[],"returns":[{"description":"

                          bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"D6ecp1fRNs397bTPduLXy","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          returns a list of indices for all triangles defined in this polygon

                          ","params":[],"returns":[{"description":"

                          an array of vertex indices for all triangles forming this polygon.

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Jx8V02sfG_O1iG4S3cERy","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          get the renderable alpha channel value

                          ","params":[],"returns":[{"description":"

                          current opacity value between 0 and 1

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4iT6QrnwhZ9DSLS3HaD2z","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                          ","params":[],"returns":[{"description":"

                          true if the vertices are convex, false if not, null if not computable

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"U8dmAR8srz7djIrMrysSF","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this rectangle are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JMDaWWhDfG2fuLWLxXZdD","name":"italic","brief":"","scope":"instance","type":"MethodDoc","description":"

                          make the font italic

                          ","params":[],"returns":[{"description":"

                          this object for chaining

                          ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Y8z4cOfYpYZwytmeeANVn","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable towards the given target.

                          ","params":[{"identifier":"target","optional":false,"description":"

                          the renderable or position to look at

                          ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"g5JRQpbJpQDvtUe02LNHE","name":"measureText","brief":"","scope":"instance","type":"MethodDoc","description":"

                          measure the given text size in pixels

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          reference to the active renderer

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"text","optional":true,"description":"

                          the text to be measured

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                          a TextMetrics object defining the dimensions of the given piece of text

                          ","dataType":{"tokens":[{"value":"TextMetrics","kind":"canonical"},{"value":"TextMetrics","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TBnZrztxUaa77v2Qc7pZm","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                          onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                          ","params":[{"identifier":"response","optional":false,"description":"

                          the collision response object

                          ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                          the other renderable touching this one (a reference to response.a or response.b)

                          ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                          true if the object should respond to the collision (its position and velocity will be corrected)

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0mSLUOstSciExkHk0dt1l","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nA22WNh75S_V7VVPiCZpe","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          check if this rectangle is intersecting with the specified one

                          ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          true if overlaps

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"H5ZhI7l4-E0EWTGubnIfL","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                          restore the rendering context after drawing (automatically called by melonJS).

                          ","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"u1scPk2ZSDV65SXsM68Sq","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                          Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                          a renderer object

                          ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"gq1kcmCyIVUOTGL0usvpX","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DiUrJaNEN8JW8_VFa-wD9","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                          resize the rectangle

                          ","params":[{"identifier":"w","optional":false,"description":"

                          new width of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                          new height of the rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Xr8DRVx_fToDM0eWVqB8_","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Rotate this renderable by the specified angle (in radians).

                          ","params":[{"identifier":"angle","optional":false,"description":"

                          The angle to rotate (in radians)

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                          an optional point to rotate around

                          ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b9Jt4HKhES-uxR3TOhbod","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                          a number representing the abscissa of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                          a number representing the ordinate of the scaling vector.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wDGsRSLPbDUiPsAqjMMnS","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                          scale the renderable around his anchor point

                          ","params":[{"identifier":"v","optional":false,"description":"

                          scaling vector

                          ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eN7bV2cbgD2sx2LU4pMcj","name":"setFont","brief":"","examples":[{"caption":"","code":"font.setFont(\"Arial\", 20);\nfont.setFont(\"Arial\", \"1.5em\");"}],"scope":"instance","type":"MethodDoc","description":"

                          set the font family and size

                          ","params":[{"identifier":"font","optional":false,"description":"

                          a CSS font name

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"size","optional":true,"default":"10","description":"

                          size in px, or size + suffix (px, em, pt)

                          ","dataType":{"tokens":[{"value":"number | string","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | string"}}],"returns":[{"description":"

                          this object for chaining

                          ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"opdtY2Jv7qrVELnEhPTrD","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the renderable alpha channel value

                          ","params":[{"identifier":"alpha","optional":false,"description":"

                          opacity value between 0.0 and 1.0

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"W8_Yar4tf8oaPJBuu6Z1l","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set new value to the rectangle shape

                          ","params":[{"identifier":"x","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          position of the Rectangle

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                          width of the rectangle, or an array of vector defining the rectangle

                          ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                          height of the rectangle, if a numeral width parameter is specified

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"n08VWMkDNbKDIxh7XUi68","name":"setText","brief":"","scope":"instance","type":"MethodDoc","description":"

                          change the text to be displayed

                          ","params":[{"identifier":"value","optional":false,"default":"\"\"","description":"

                          a string, or an array of strings

                          ","dataType":{"tokens":[{"value":"number | string | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1 | string | %2"}}],"returns":[{"description":"

                          this object for chaining

                          ","dataType":{"tokens":[{"value":"Text","kind":"canonical"},{"value":"Text","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MSt9c5muDNBfaZkcwUuGv","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                          set the vertices defining this Polygon

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          array of vector or vertice defining the Polygon

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                          this instance for objecf chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sB0LjnlMibs1nPqVQV8jm","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the Polygon to the given position vector.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3nb-DvsXr9hlD-v1wZY6w","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply a 2d projection to this shapen

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8Bt-WHOPA4-wldJl-nEZ-","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                          apply an isometric projection to this shape

                          ","params":[],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0pU6cVUZ56-2pZpdIqEfG","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this box.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this rectangle.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dg-Cu0KgNgs_vO9KCVGx5","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                          multiply the renderable currentTransform with the given matrix

                          ","params":[{"identifier":"m","optional":false,"description":"

                          the transformation matrix

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"q5SEONamQZ_gzzobCX-hk","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          translate the Polygon by the specified offset

                          ","params":[{"identifier":"x","description":"

                          x offset or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y offset

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          Reference to this object for method chaining

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"54aZ6F6m7awjtqTEG7uRg","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                          merge this rectangle with another one

                          ","params":[{"identifier":"rect","optional":false,"description":"

                          other rectangle to union with

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                          the union(ed) rectangle

                          ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XPFV7pP4rLzNff6KegmPs","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update function (automatically called by melonJS).

                          ","params":[{"identifier":"dt","optional":false,"description":"

                          time since the last update in milliseconds.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          true if the renderable is dirty

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"X6_T0rCS4cOXGWdfov6oa","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          update the bounding box for this shape.

                          ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                          update the bounds size and position in (world) absolute coordinates

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                          this shape bounding box Rectangle object

                          ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gWiJ18gJZoKIzR6gWxF1F","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                          called when the anchor point value is changed

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the new X value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the new Y value to be set for the anchor

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"r_Nemp_27VOMwfvzphP0u","name":"TextMetrics","brief":"","type":"ClassDoc","description":"

                          a Text Metrics object that contains helper for text manipulation

                          ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"ZiP3ibI6GoCJ3w0kAu4fV","name":"ancestor","brief":"","access":"public","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the parent object that contains this TextMetrics object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eSd0WkPPh6V138Ld3cDEI","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FeepkA6Uj08EXgKxICtcG","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          return the center position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1fa6IB0grnWt90F9qX0eP","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the x axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-HEtnbD-zZeQuFMvgMV8x","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the y axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KiPtXNJOsZAIWWshWzYMR","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5MzQZCwnNBrbiy3WcFWXk","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LalZ_RXvRJC3RJXCbpPyH","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j1AFxW3whu1G7WqZG3kCU","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p8FhJnUHSgrsJcVF3Uhhf","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

                          the object type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HWlDzYuUMD7W53WJxWF3t","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KyXRKU0I-p-IM5iCdDWB4","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          x position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C53P5HophTUiwdu50zyEG","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          y position of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Nley3Z3Hgzzjj_JSImjM2","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given vertices to the bounds definition.

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          an array of Vector2d or Point

                          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

                          either to reset the bounds before adding the new vertices

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Nl94tPMBkC0yMc8iLh6Pl","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given bounds to the bounds definition.

                          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

                          either to reset the bounds before adding the new vertices

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Ajm23xuxOaq9AXnUouMsJ","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given quad coordinates to this bound definition, multiplied by the given matrix

                          ","params":[{"identifier":"x0","optional":false,"description":"

                          left X coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

                          top Y coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

                          right X coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

                          bottom y coordinates of the quad

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

                          an optional transform to apply to the given frame coordinates

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"MOjnWXRm4fSFH86s2tGKr","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                          add the given point to the bounds definition.

                          ","params":[{"identifier":"point","optional":false,"description":"

                          the vector or point to be added to the bounds

                          ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

                          an optional transform to apply to the given point (if the given point is a Vector2d)

                          ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"7oGe2EmkiVeZPt7Z4-Nwp","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                          center the bounds position around the given coordinates

                          ","params":[{"identifier":"x","optional":false,"description":"

                          the x coordinate around which to center this bounds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                          the y coordinate around which to center this bounds

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Q_TzK2DZYvvTFd10qwA20","name":"clear","brief":"

                          reset the bound

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"goor4bA038aW9TQ3Mcyoc","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                          clone this bounds

                          ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ovb9Q8pCqx78-0qbqZt51","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"ancestor","optional":false,"description":"

                          the parent object that contains this TextMetrics object

                          ","dataType":{"tokens":[{"value":"Text | BitmapText","kind":"canonical"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"NtL3NhReO54KOw-ia5SuK","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                          Returns true if the bounds contains the given point.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to check

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                          y coordinate

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          True if the bounds contain the point, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8SWqS--A5W666sf1WsTGl","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                          determines whether all coordinates of this bounds are finite numbers.

                          ","params":[],"returns":[{"description":"

                          false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"rWFVVOEgHgW3LAgBw4v11","name":"lineHeight","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the height of a segment of inline text in CSS pixels.

                          ","params":[],"returns":[{"description":"

                          the height of a segment of inline text in CSS pixels.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Rou6Wk67SDHkIrs_7a-of","name":"lineWidth","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns the width of the given segment of inline text in CSS pixels.

                          ","params":[{"identifier":"text","optional":false,"description":"

                          the text to be measured

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"context","optional":true,"description":"

                          reference to an active 2d context for canvas rendering

                          ","dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          the width of the given segment of inline text in CSS pixels.

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"s_n3yR-rUeK1QpwnDHSJz","name":"measureText","brief":"","scope":"instance","type":"MethodDoc","description":"

                          measure the given text size in CSS pixels

                          ","params":[{"identifier":"text","optional":false,"description":"

                          the text to be measured

                          ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"context","optional":true,"description":"

                          reference to an active 2d context for canvas rendering

                          ","dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          this

                          ","dataType":{"tokens":[{"value":"TextMetrics","kind":"canonical"},{"value":"TextMetrics","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Wl1SG5FpBzKcGwzu4o8nW","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns true if the two bounds intersect.

                          ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                          True if the bounds overlap, otherwise false

                          ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Vo1GLn57TbFfGevFYZiF5","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

                          sets the bounds to the given min and max value

                          ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"-maNc76AC1UQAkigumv25","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Shifts the bounds to the given x, y position.

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to shift to

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bP1FWy6CG6Nrnvw5TB-sJ","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Returns a polygon whose edges are the same as this bounds.

                          ","params":[],"returns":[{"description":"

                          a new Polygon that represents this bounds.

                          ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2_rABw1KWk8HW2tG266-X","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                          Translates the bounds by the given point

                          ","params":[{"identifier":"x","description":"

                          x coordinate or a vector point to translate by

                          ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"e5ZboH1W5FdQEnLUGtE9k","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                          Updates bounds using the given vertices

                          ","params":[{"identifier":"vertices","optional":false,"description":"

                          an array of Vector2d or Point

                          ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]},{"id":"IRhgjNgSyvgQG6SWag6Mr","name":"wordWrap","brief":"","scope":"instance","type":"MethodDoc","description":"

                          wrap the given text based on the given width

                          ","params":[{"identifier":"text","optional":false,"description":"

                          the text to be wrapped

                          ","dataType":{"tokens":[{"value":"string | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"string | %1"}},{"identifier":"width","optional":false,"description":"

                          maximum width of one segment of text in css pixel

                          ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"context","optional":true,"description":"

                          reference to an active 2d context for canvas rendering

                          ","dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                          an array of string representing wrapped text

                          ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"ynxgxK6CkBlzbllJlLXBg","name":"TextureAtlas","brief":"","type":"ClassDoc","description":"

                          A Texture atlas class, currently supports :

                          \n
                            \n
                          • [TexturePacker]{@link http://www.codeandweb.com/texturepacke...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"cKlx_a1p8fyNetWi9W1aw","name":"addRegion","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add a region to the atlas

                            ","params":[{"identifier":"name","optional":false,"description":"

                            region mame

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"x","optional":false,"description":"

                            x origin of the region

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y origin of the region

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            width of the region

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            height of the region

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the created region

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"K4p7I8ahhKjZ2HXNXQicV","name":"addUVs","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add uvs mapping for the given region

                            ","params":[{"identifier":"atlas","optional":false,"description":"

                            the atlas dictionnary where the region is define

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"name","optional":false,"description":"

                            region (or frame) name

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"w","optional":false,"description":"

                            the width of the region

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            the height of the region

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the created region UVs

                            ","dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EKhQgxQhQkmwvOFpxi2uV","name":"constructor","brief":"","examples":[{"caption":"","code":" // create a texture atlas from a JSON Object\n game.texture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\")\n );\n\n // create a texture atlas from a multipack JSON Object\n game.texture = new me.TextureAtlas([\n me.loader.getJSON(\"texture-0\"),\n me.loader.getJSON(\"texture-1\"),\n me.loader.getJSON(\"texture-2\")\n ]);\n\n // create a texture atlas for a spritesheet with an anchorPoint in the center of each frame\n game.texture = new me.TextureAtlas(\n {\n framewidth : 32,\n frameheight : 32,\n anchorPoint : new me.Vector2d(0.5, 0.5)\n },\n me.loader.getImage(\"spritesheet\")"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"atlases","optional":false,"description":"

                            atlas information. See {@link loader.getJSON}

                            ","dataType":{"tokens":[{"value":"object | Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"object | %1"}},{"identifier":"src","optional":true,"default":"atlas.meta.image","description":"

                            Image source

                            ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | string | Array | Array | Array","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1 | %2 | string | %3<%4> | %5<%6> | %7"}},{"identifier":"cache","optional":true,"default":"false","description":"

                            Use true to skip caching this Texture

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"YGllRY1JOLLmsPICGeuBF","name":"createAnimationFromName","brief":"","examples":[{"caption":"","code":" // create a new texture object under the `game` namespace\n game.texture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\"),\n me.loader.getImage(\"texture\")\n );\n\n // create a new Animated Sprite\n let sprite = game.texture.createAnimationFromName([\n \"walk0001.png\", \"walk0002.png\", \"walk0003.png\",\n \"walk0004.png\", \"walk0005.png\", \"walk0006.png\",\n \"walk0007.png\", \"walk0008.png\", \"walk0009.png\",\n \"walk0010.png\", \"walk0011.png\"\n ]);\n\n // define an additional basic walking animation\n sprite.addAnimation (\"simple_walk\", [0,2,1]);\n // you can also use frame name to define your animation\n sprite.addAnimation (\"speed_walk\", [\"walk0007.png\", \"walk0008.png\", \"walk0009.png\", \"walk0010.png\"]);\n // set the default animation\n sprite.setCurrentAnimation(\"simple_walk\");\n // set the renderable position to bottom center\n sprite.anchorPoint.set(0.5, 1.0);"}],"scope":"instance","type":"MethodDoc","description":"

                            Create an animation object using the first region found using all specified names

                            ","params":[{"identifier":"names","optional":false,"description":"

                            list of names for each sprite\n(when manually creating a Texture out of a spritesheet, only numeric values are authorized)

                            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1 | %3<%2>"}},{"identifier":"settings","optional":true,"description":"

                            Additional settings passed to the {@link Sprite} contructor

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Qx4ecfH9W08I3r2G_BhU3","name":"createSpriteFromName","brief":"","examples":[{"caption":"","code":"// create a new texture object under the `game` namespace\ngame.texture = new me.TextureAtlas(\n me.loader.getJSON(\"texture\"),\n me.loader.getImage(\"texture\")\n);\n...\n...\n// create a new \"coin\" sprite\nlet sprite = game.texture.createSpriteFromName(\"coin.png\");\n// set the renderable position to bottom center\nsprite.anchorPoint.set(0.5, 1.0);\n...\n...\n// create a 9-slice sprite\nlet dialogPanel = game.texture.createSpriteFromName(\n \"rpg_dialo.png\",\n // width & height are mandatory for 9-slice sprites\n { width: this.width, height: this.height },\n true\n);"}],"scope":"instance","type":"MethodDoc","description":"

                            Create a sprite object using the first region found using the specified name

                            ","params":[{"identifier":"name","optional":false,"description":"

                            name of the sprite

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings","optional":true,"description":"

                            Additional settings passed to the {@link Sprite} contructor

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"nineSlice","optional":true,"default":"false","description":"

                            if true returns a 9-slice sprite

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"Sprite | NineSliceSprite","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"croPOaWgVywu5TluCQLC0","name":"getAtlas","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the default or specified atlas dictionnary

                            ","params":[{"identifier":"name","optional":true,"description":"

                            atlas name in case of multipack textures

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"ubzW1ax-kCOB0ISZ_gDOX","name":"getFormat","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the format of the atlas dictionnary

                            ","params":[],"returns":[{"description":"

                            will return "texturepacker", or "ShoeBox", or "melonJS", or "Spritesheet (fixed cell si...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"_fJKHAz1i1tjJEpIh0jOn","name":"getRegion","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return a normalized region (or frame) information for the specified sprite name

                            ","params":[{"identifier":"name","optional":false,"description":"

                            name of the sprite

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"atlas","optional":true,"description":"

                            name of a specific atlas where to search for the region

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"zze1NUGVl9VQ_spt8XUqU","name":"getTexture","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the source texture for the given region (or default one if none specified)

                            ","params":[{"identifier":"region","optional":true,"description":"

                            region name in case of multipack textures

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"NGjrz7nPVarIojvvfkViD","name":"getUVs","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the uvs mapping for the given region

                            ","params":[{"identifier":"name","optional":false,"description":"

                            region (or frame) name

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                            region Uvs

                            ","dataType":{"tokens":[{"value":"Float32Array","kind":"canonical"},{"value":"Float32Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"rATX-G7J6K7uRWxMQAU9I","name":"Tile","brief":"","type":"ClassDoc","description":"

                            a basic tile object

                            ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"o-yepnCSPbPevSiz-3mdG","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IkvizAulzsf8twvJbdRZV","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            return the center position of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I-KGjKspDRvfvKFLBqYtp","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            center position of the bound on the x axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vsY9yjI_SozX96prcRrPG","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            center position of the bound on the y axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KXOFxyK3FsvERc2hCLFqJ","name":"flipped","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            Global flag that indicates if the tile is flipped

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d1Gqj7EdS14tmuCWRpRTp","name":"flippedAD","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            True if the tile is flipped anti-diagonally

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RfTExfDYXlNgoupQn3WKj","name":"flippedX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            True if the tile is flipped horizontally

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xkC24-pKEoeCsGz6E8X4l","name":"flippedY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            True if the tile is flipped vertically

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SX6AJpeiC335xdWxYbsPu","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"azVq3IS8Exl1WgklH423B","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vrRFtXN-KtP-GaPsXC8XW","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mOPX5hzkK9dvzxHXOnUS9","name":"tileId","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            tileId

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O8-4e8L3DyeGEs4v20pRr","name":"tileset","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            tileset

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o9SXs5aIIqX85AYuLsfGy","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tLfbkEnVTlNygfqegvRo5","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

                            the object type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Zc2TdjuEUlLv-iQoQ-h49","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FNMFUGLnQBQMpb5Cs3XyX","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            x position of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Djmyhp0j_pvRDWhKIvjh9","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            y position of the bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aJALtIl7jagbAVJOkhf5T","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add the given vertices to the bounds definition.

                            ","params":[{"identifier":"vertices","optional":false,"description":"

                            an array of Vector2d or Point

                            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}},{"identifier":"clear","optional":true,"default":"false","description":"

                            either to reset the bounds before adding the new vertices

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"EC8YCYXoawngMJaIufV_N","name":"addBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add the given bounds to the bounds definition.

                            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}},{"identifier":"clear","optional":true,"default":"false","description":"

                            either to reset the bounds before adding the new vertices

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"-QP16vNusn4CwfHAzg6HZ","name":"addFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add the given quad coordinates to this bound definition, multiplied by the given matrix

                            ","params":[{"identifier":"x0","optional":false,"description":"

                            left X coordinates of the quad

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y0","optional":false,"description":"

                            top Y coordinates of the quad

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x1","optional":false,"description":"

                            right X coordinates of the quad

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y1","optional":false,"description":"

                            bottom y coordinates of the quad

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"m","optional":true,"description":"

                            an optional transform to apply to the given frame coordinates

                            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3wdOfWeYOil3EvR60doie","name":"addPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add the given point to the bounds definition.

                            ","params":[{"identifier":"point","optional":false,"description":"

                            the vector or point to be added to the bounds

                            ","dataType":{"tokens":[{"value":"Vector2d | Point","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Point","kind":"link"}],"template":"%1 | %2"}},{"identifier":"m","optional":true,"description":"

                            an optional transform to apply to the given point (if the given point is a Vector2d)

                            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Uuw913DJLfrsVvkResGaa","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                            center the bounds position around the given coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinate around which to center this bounds

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinate around which to center this bounds

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"PSp00MDTxXx7chcwLMiHl","name":"clear","brief":"

                            reset the bound

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E8a4XdqPbZa-TMXvNjmFI","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            clone this bounds

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9hZhcnt72tqoO56OK8aa1","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                            x index of the Tile in the map

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y index of the Tile in the map

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"gid","optional":false,"description":"

                            tile gid

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tileset","optional":false,"description":"

                            the corresponding tileset object

                            ","dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QdV3gAmqYx3iN1IA4et4U","name":"contains","brief":"","examples":[{"caption":"","code":"if (bounds.contains(10, 10)) {\n // do something\n}\n// or\nif (bounds.contains(myVector2d)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                            Returns true if the bounds contains the given point.

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to check

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                            y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            True if the bounds contain the point, otherwise false

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"lNzYraLyOpF7wm2peju9l","name":"getRenderable","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return a renderable object for this Tile object

                            ","params":[{"identifier":"settings","optional":true,"description":"

                            see {@link Sprite}

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                            a me.Sprite object

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JUB4BUTn-KEUpr9td2xI1","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                            determines whether all coordinates of this bounds are finite numbers.

                            ","params":[],"returns":[{"description":"

                            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Rldj5uuxNN-sz7j9GXzMF","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if the two bounds intersect.

                            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Bounds | Rect","kind":"canonical"},{"value":"Bounds","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            True if the bounds overlap, otherwise false

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"K1mPYU1dtd9k3Iru6Ep7i","name":"setMinMax","brief":"","scope":"instance","type":"MethodDoc","description":"

                            sets the bounds to the given min and max value

                            ","params":[{"identifier":"minX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"minY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxX","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"maxY","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"A_edmteaHpvInCmTcbhft","name":"shift","brief":"","examples":[{"caption":"","code":"bounds.shift(10, 10);\n// or\nbounds.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            Shifts the bounds to the given x, y position.

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to shift to

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"U1y0q9kY9qfMsNP0iXFkf","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns a polygon whose edges are the same as this bounds.

                            ","params":[],"returns":[{"description":"

                            a new Polygon that represents this bounds.

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jgzrTmBI5BszMRObU5U-U","name":"translate","brief":"","examples":[{"caption":"","code":"bounds.translate(10, 10);\n// or\nbounds.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            Translates the bounds by the given point

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to translate by

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"7ym0nAWgZw3fYacpf-EvB","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Updates bounds using the given vertices

                            ","params":[{"identifier":"vertices","optional":false,"description":"

                            an array of Vector2d or Point

                            ","dataType":{"tokens":[{"value":"Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Point","kind":"link"}],"template":"%1<%2> | %3<%4>"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"WjpWB7AijFcy8o3mTp7tj","name":"Timer","brief":"","see":["{@link timer} the default global timer instance"],"type":"ClassDoc","description":"

                            a Timer class to manage timing related function (FPS, Game Tick, Time...)

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"_VNk-CNtL_B89KtE4vtPm","name":"fps","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            Last measured fps rate.
                            \nThis feature is disabled by default, unless the debugPanel is enabled/visible.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-CX2qTOWcgv_qvztnrHk-","name":"interpolation","brief":"","defaultValue":"false","scope":"instance","see":["tick"],"type":"PropertyDoc","description":"

                            Enable/disable frame interpolation

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ttYyOkM5XjZwifVBECIbn","name":"maxfps","brief":"","access":"public","defaultValue":"60","scope":"instance","see":["tick"],"type":"PropertyDoc","description":"

                            Set the maximum target display frame per second

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"maYf1Bwaz-lD0PN-Jvj0Q","name":"tick","brief":"","access":"public","defaultValue":"1","scope":"instance","see":["interpolation"],"type":"PropertyDoc","description":"

                            Last game tick value.
                            \nUse this value to scale velocities during frame drops due to slow hardware or when setting an F...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mj7L1QwI9_nQRpssdhygN","name":"clearInterval","brief":"","scope":"instance","type":"MethodDoc","description":"

                            cancels the timed, repeating action which was previously established by a call to setInterval().

                            ","params":[{"identifier":"intervalID","optional":false,"description":"

                            ID of the interval to be cleared

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"m1Fgsp5hu0e7AF0P28hfG","name":"clearTimeout","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Cancels a timeout previously established by calling setTimeout().

                            ","params":[{"identifier":"timeoutID","optional":false,"description":"

                            ID of the timeout to be cancelled

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"VkvCcenTs12F4EA7dlVcy","name":"getDelta","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Return elapsed time in milliseconds since the last update

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-e3Y6NW7QF9tIpeupZgWh","name":"getTime","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Return the current timestamp in milliseconds
                            \nsince the game has started or since linux epoch (based on browser suppor...","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"G3Fs90S0bM5LEfHzSk8aj","name":"setInterval","brief":"","examples":[{"caption":"","code":"// set a timer to call \"myFunction\" every 1000ms\nme.timer.setInterval(myFunction, 1000);\n// set a timer to call \"myFunction\" every 1000ms (respecting the pause state) and passing param1 and param2\nme.timer.setInterval(myFunction, 1000, true, param1, param2);"}],"scope":"instance","type":"MethodDoc","description":"

                            Calls a function continously at the specified interval. See setTimeout to call function a single time.

                            ","params":[{"identifier":"fn","optional":false,"description":"

                            the function to execute

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"delay","optional":false,"description":"

                            the number of milliseconds (thousandths of a second) on how often to execute the function

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pauseable","optional":true,"default":"true","description":"

                            respects the pause state of the engine.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"args","optional":false,"variadic":true,"description":"

                            optional parameters which are passed through to the function specified by fn once the timer expires.

                            ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

                            a numeric, non-zero value which identifies the timer created by the call to setInterval(), which can be used later with me...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KoYd2f4eFNqZMC4Lt8y4_","name":"setTimeout","brief":"","examples":[{"caption":"","code":"// set a timer to call \"myFunction\" after 1000ms\nme.timer.setTimeout(myFunction, 1000);\n// set a timer to call \"myFunction\" after 1000ms (respecting the pause state) and passing param1 and param2\nme.timer.setTimeout(myFunction, 1000, true, param1, param2);"}],"scope":"instance","type":"MethodDoc","description":"

                            Calls a function once after a specified delay. See me.timer.setInterval to repeativly call a function.

                            ","params":[{"identifier":"fn","optional":false,"description":"

                            the function you want to execute after delay milliseconds.

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"delay","optional":false,"description":"

                            the number of milliseconds (thousandths of a second) that the function call should be delayed by.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"pauseable","optional":true,"default":"true","description":"

                            respects the pause state of the engine.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"args","optional":false,"variadic":true,"description":"

                            optional parameters which are passed through to the function specified by fn once the timer expires.

                            ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[{"description":"

                            a positive integer value which identifies the timer created by the call to setTimeout(), which can be used later with me.t...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"228GbfMGrYzGhm1ydr6DI","name":"TMXHexagonalRenderer","brief":"","type":"ClassDoc","description":"

                            an Hexagonal Map Renderder

                            ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"c-1VyrwoGFOs6teVNaD6W","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if the renderer can render the specified map or layer

                            ","params":[{"identifier":"component","optional":false,"description":"

                            TMX Map or Layer

                            ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"1QjG3_VUYc4wQNoNjznt5","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

                            the TMX map

                            ","dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9yZDvEwfFpQcT09HzfDMM","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given tile at the specified layer

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

                            X coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

                            the tile object to draw

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"m5CmyK4YwDaxtuuq4Dp9y","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given TMX Layer for the given area

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

                            a TMX Layer object

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

                            the area of the layer to draw

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6kiXKgRTZGs-UFzoMVnf7","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the bounding rect for this map renderer

                            ","params":[{"identifier":"layer","optional":true,"description":"

                            calculate the bounding rect for a specific layer (will return a new bounds object)

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"aVyAsfbUfFuxA-Y0XTXSX","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tile position corresponding to the specified pixel

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VFEJq6vW9NyImbUDcT7kL","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the pixel position corresponding of the specified tile

                            ","params":[{"identifier":"col","optional":false,"description":"

                            tile horizontal position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

                            tile vertical position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"lA0LEhIqPPVBEL-kqZZQ4","name":"TMXIsometricRenderer","brief":"","type":"ClassDoc","description":"

                            an Isometric Map Renderder

                            ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"aAQ9fqlGo88Ztro4niqPk","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if the renderer can render the specified map or layer

                            ","params":[{"identifier":"component","optional":false,"description":"

                            TMX Map or Layer

                            ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"YbC2dlGGnoWZ8CGa4R_Xk","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

                            the TMX map

                            ","dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SOqlGj5F7GQ5nfWe49oGP","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given tile at the specified layer

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

                            X coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

                            the tile object to draw

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"3l5nlfua17Y5G-PzQK1Bi","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given TMX Layer for the given area

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

                            a TMX Layer object

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

                            the area of the layer to draw

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2NVyXpQEoHJ_x_xoThAJL","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the bounding rect for this map renderer

                            ","params":[{"identifier":"layer","optional":true,"description":"

                            calculate the bounding rect for a specific layer (will return a new bounds object)

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dKhc31nRx_ogMvhUyaQE5","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tile position corresponding to the specified pixel

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8C1bhYXI3Ybu9nLt66MQT","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the pixel position corresponding of the specified tile

                            ","params":[{"identifier":"col","optional":false,"description":"

                            tile horizontal position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

                            tile vertical position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"Dbuivm1bvXJCIuNDetlSe","name":"TMXLayer","brief":"","type":"ClassDoc","description":"

                            a TMX Tile Layer Object\nTiled QT 0.7.x format

                            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"ZCk1bL3xHuJqnaYKn1BWM","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                            Define the renderable opacity
                            \nSet to zero if you do not wish an object to be drawn

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GWwmRop0uSzrEENFmHVm_","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object will always update, even when outside of the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yDRAJvJVZPEdRi8gQwaSh","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            a reference to the parent object that contains this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2LP0BzoInra2XGJpOT25d","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                            The anchor point is used for attachment behavior, and/or when applying transformations.
                            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dn4fJv_uLNeJIK0jpcxZw","name":"animatedTilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            All animated tilesets in this layer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qdTyD1QCoFJ5Ycg5QTtk1","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NNbBLAyeioWzIdotbAAg-","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QS66o7AnCcVN56RUAANWQ","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                            the renderable physic body

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LoOuq2cOKtQN4L2Uz0rzv","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pIQlsSnBUOYDlWMXAT3_Q","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"opTQHz3arLwOnXarx0x8C","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oPvJcWbh1eF1KYpd2m0J1","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the layer class

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pb33Z2bNyCxXz-QN0MrDP","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mvzzR0nqvadAzsgUcgHz9","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XCIrn7kYdaCJeojLhLqdk","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"46nK7GE06HjqgZKdgNkNV","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            (G)ame (U)nique (Id)entifier"
                            \na GUID will be allocated for any renderable object added
                            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wtnJLxxgndV8GoLQXijlA","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VqZqVptJUQlzt30UPlXlm","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object is visible and within the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QBhRxcElJltT8MU8H5RCI","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Layer contains tileset animations

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YakphWxaiCKtjYn4eMCBM","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            when true the renderable will be redrawn during the next update cycle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_mnZk71VcT-HfRAAJoC4b","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gL4WvRywIghhIaCUmlLi1","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x1cRQmvirdSZCQfQemV1G","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7ptFDgEqaTPUh5EoaR1dS","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            If true then physic collision and input events will not impact this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K-gqfNVpxIoobQXSkJX3t","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"etmMJ2ZnPTpM2OJDIn5xp","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gAazrFBGhYbPGatxWlseo","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8wskHnHtPOosoK4iuFj4d","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NIsZim_ES6aGRndaM7Vm4","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                            an event handler that is called when the renderable leave or enter a camera viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1X8tU4sXvgFT_PWS92_-S","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            returns the parent application (or game) to which this renderable is attached to

                            ","params":[],"returns":[{"description":"

                            the parent application or undefined if not attached to any container/app

                            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"94Qqmx11fXy8B0PcUq6O8","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            Array of points defining the Polygon
                            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pg2vPPwBRwrJJX2-SQfRy","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9Wt43tyGuR5eIxtEwDOIC","name":"renderorder","brief":"","defaultValue":"\"right-down\"","scope":"instance","type":"PropertyDoc","description":"

                            the order in which tiles on orthogonal tile layers are rendered.\n(valid values are "left-down", "left-up&qu...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5xObOPU4H6Ac5kDx-3Hsq","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DnWpW0ygPvrfYbqUTmrcF","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oV67AabynLpeEsBDP8jx4","name":"tilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The Layer corresponding Tilesets

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4laT2wgrxH18ZqcGv0cnM","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YFjkvL-cSPbzureHAyt_K","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hy-zfO_iMj-w1I8PTKxs4","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"60S1hJcSJWGDZmzAv-W0h","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether to update this object when the game is paused.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0bnJtYDGvVFkYirmfnGsJ","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0avXZvPBNTagiXJaFVvvw","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            Horizontal layer offset in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NU_9yYiQn6LTR3wDtzhJc","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            Vertical layer offset in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GimHYfEuIFNRAYeNVFDDU","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the angle to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"n2mF5KW4YEuqxATamhngA","name":"cellAt","brief":"","examples":[{"caption":"","code":"// return the first tile at offset 0, 0\nlet tile = layer.cellAt(0, 0);"}],"scope":"instance","type":"MethodDoc","description":"

                            Return the Tile object at the specified tile coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            x position of the tile (in Tile unit)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            x position of the tile (in Tile unit)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"boundsCheck","optional":true,"default":"true","description":"

                            check first if within the layer bounds

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            corresponding tile or null if there is no defined tile at the position or if outside of the layer bounds

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"opEGLmobLIdFeCTB42jDf","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                            center the rectangle position around the given coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wqB08pEIhbij-9p5BMpRs","name":"clearTile","brief":"","examples":[{"caption":"","code":"me.game.world.getChildByType(me.TMXLayer).forEach(function(layer) {\n // clear all tiles at the given x,y coordinates\n layer.clearTile(x, y);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                            clear the tile at the specified position

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate (in map coordinates: row/column)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate (in map coordinates: row/column)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8S11ud97hni52js4mrY9C","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            clone this rectangle

                            ","params":[],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lDiRmHo2avtpisqlCLVX1","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

                            layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"data","optional":false,"description":"

                            layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"tilewidth","optional":false,"description":"

                            width of each tile in pixels

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tileheight","optional":false,"description":"

                            height of each tile in pixels

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"orientation","optional":false,"description":"

                            "isometric" or "orthogonal"

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"tilesets","optional":false,"description":"

                            tileset as defined in Tiled

                            ","dataType":{"tokens":[{"value":"TMXTilesetGroup","kind":"canonical"},{"value":"TMXTilesetGroup","kind":"link"}],"template":"%1"}},{"identifier":"z","optional":false,"description":"

                            z-index position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"OdYNU9nmS2GoekapIwuwI","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                            Returns true if the rectangle contains the given point or rectangle

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point, or a rectangle to test

                            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                            y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            True if the rectangle contain the given point or rectangle, otherwise false

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"PfnPU_gJErY0K0eGjcTLb","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                            copy the position and size of the given rectangle into this one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            Source rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"R169UXd0Cwnpn6ejK3BG2","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the distance to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            distance

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NHlF8JWg7-qqasg5Tksq8","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

                            Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer instance

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                            the viewport to (re)draw

                            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"8e4v7fRpWQZOjpAoSOgmc","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is identical to the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if equals

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"lahjEpRcxNAWyrJ23ctzz","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                            flip the renderable on the horizontal axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hoqzgHRebFonWTaHRf4ih","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                            flip the renderable on the vertical axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"olqEmo-CxZ1CMNgOPq5to","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the renderable absolute position in the game world

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SOvaZRMj-zY5H21qlhLWv","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the bounding box for this renderable

                            ","params":[],"returns":[{"description":"

                            bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GyInd6--AqjvYR91M2FdF","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns a list of indices for all triangles defined in this polygon

                            ","params":[],"returns":[{"description":"

                            an array of vertex indices for all triangles forming this polygon.

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"I1zc6JgBxFl85FUYb3Qka","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            get the renderable alpha channel value

                            ","params":[],"returns":[{"description":"

                            current opacity value between 0 and 1

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9UO-NJ52Q-YMNKSI6VQGu","name":"getRenderer","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Return the layer current renderer object

                            ","params":[],"returns":[{"description":"

                            renderer

                            ","dataType":{"tokens":[{"value":"TMXRenderer","kind":"canonical"},{"value":"TMXRenderer","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Pw1mf0xdcm7HZk0s4d76N","name":"getTile","brief":"","examples":[{"caption":"","code":"// get the TMX Map Layer called \"Front layer\"\nlet layer = me.game.world.getChildByName(\"Front Layer\")[0];\n// get the tile object corresponding to the latest pointer position\nlet tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);"}],"scope":"instance","type":"MethodDoc","description":"

                            Return the Tile object at the specified position

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gj8qBCjR0p-2bVCpS5_AD","name":"getTileById","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return a new the Tile object corresponding to the given tile id

                            ","params":[{"identifier":"tileId","optional":false,"description":"

                            tileId

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                            X coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the tile object

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X0nqgngFzam2Ks3oO9eVN","name":"getTileId","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Return the TileId of the Tile at the specified position

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            TileId or null if there is no Tile at the given position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rfaD-BhvqClJDw46fS2Rv","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                            ","params":[],"returns":[{"description":"

                            true if the vertices are convex, false if not, null if not computable

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"cOmice9PBkOMRoD4riyH1","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                            determines whether all coordinates of this rectangle are finite numbers.

                            ","params":[],"returns":[{"description":"

                            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"JdQ1w1Ed_FLtqh-Yslurt","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable towards the given target.

                            ","params":[{"identifier":"target","optional":false,"description":"

                            the renderable or position to look at

                            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H6FmyjjZOUlrxGuzq_BKZ","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                            ","params":[{"identifier":"response","optional":false,"description":"

                            the collision response object

                            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                            the other renderable touching this one (a reference to response.a or response.b)

                            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                            true if the object should respond to the collision (its position and velocity will be corrected)

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qPPG8uxShlukqb2IHQGC8","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BQ5PcUlCnANmUM51v8P7j","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is intersecting with the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if overlaps

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"IUkTrOv2pTw9yeEvoD38-","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                            restore the rendering context after drawing (automatically called by melonJS).

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"8V8qXik2WsleiZ6j681RN","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"tNw5oFjnduN86_v4xyGyv","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iZ5KHdbyf5iGVKz-x-86M","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            resize the rectangle

                            ","params":[{"identifier":"w","optional":false,"description":"

                            new width of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            new height of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3PQRseIFpnipP8gew0lFD","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable by the specified angle (in radians).

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            The angle to rotate (in radians)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional point to rotate around

                            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7bNH_Gwtc6ZRumYukn10-","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                            a number representing the abscissa of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                            a number representing the ordinate of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rYcq6fZPbs4yl9MlHQYKM","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point

                            ","params":[{"identifier":"v","optional":false,"description":"

                            scaling vector

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"b7Bj0zZmp99UmlmZa0yHL","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the renderable alpha channel value

                            ","params":[{"identifier":"alpha","optional":false,"description":"

                            opacity value between 0.0 and 1.0

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2UJQiIvPxGgltk9eolzWX","name":"setRenderer","brief":"","examples":[{"caption":"","code":"// use the parent map default renderer\nlet layer = new me.TMXLayer(...);\nlayer.setRenderer(map.getRenderer());"}],"scope":"instance","type":"MethodDoc","description":"

                            Set the TMX renderer for this layer object

                            ","params":[{"identifier":"renderer","optional":false,"dataType":{"tokens":[{"value":"TMXRenderer","kind":"canonical"},{"value":"TMXRenderer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6KY3Dg6RDGHvu_XLc6xyf","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set new value to the rectangle shape

                            ","params":[{"identifier":"x","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            width of the rectangle, or an array of vector defining the rectangle

                            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                            height of the rectangle, if a numeral width parameter is specified

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RnuI_q9-42HMhU3uY1MnU","name":"setTile","brief":"","scope":"instance","type":"MethodDoc","description":"

                            assign the given Tile object to the specified position

                            ","params":[{"identifier":"tile","optional":false,"description":"

                            the tile object to be assigned

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                            x coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y coordinate (in world/pixels coordinates)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the tile object

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iZmj2MeZ3hGBDr02pdhgs","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the vertices defining this Polygon

                            ","params":[{"identifier":"vertices","optional":false,"description":"

                            array of vector or vertice defining the Polygon

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                            this instance for objecf chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"u60p4zSMOZlMimU9o4iXI","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            Shifts the Polygon to the given position vector.

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to shift to

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"NYxKvQX2oU8ObTRzQm6uP","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply a 2d projection to this shapen

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Bveylho2T0UX2gkluZyw3","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply an isometric projection to this shape

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NNZxaQvPC0kXYPNIbw4p4","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns a polygon whose edges are the same as this box.

                            ","params":[],"returns":[{"description":"

                            a new Polygon that represents this rectangle.

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TYykM2J5v6OM0Nlw9LqCm","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                            multiply the renderable currentTransform with the given matrix

                            ","params":[{"identifier":"m","optional":false,"description":"

                            the transformation matrix

                            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OWHpmwvk8FFHtafcR6GTO","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            translate the Polygon by the specified offset

                            ","params":[{"identifier":"x","description":"

                            x offset or a vector point to translate by

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                            y offset

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XqFvUNz_bt702jeY4cOKc","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                            merge this rectangle with another one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            other rectangle to union with

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            the union(ed) rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"J2OOhXqcerMS94C-lJQ1R","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                            update function (automatically called by melonJS).

                            ","params":[{"identifier":"dt","optional":false,"description":"

                            time since the last update in milliseconds.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            true if the renderable is dirty

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"F6D4-Q-sFlEBlNGffT32z","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            update the bounding box for this shape.

                            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                            update the bounds size and position in (world) absolute coordinates

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            this shape bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KpbP7aif0oyUoQ6yjBQxo","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                            called when the anchor point value is changed

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the new X value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the new Y value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"nbJAVLGESh7aNzTdYgpRm","name":"TMXOrthogonalRenderer","brief":"","type":"ClassDoc","description":"

                            an Orthogonal Map Renderder

                            ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"c_Ij-USh2hQVdQfu_cGLw","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if the renderer can render the specified map or layer

                            ","params":[{"identifier":"component","optional":false,"description":"

                            TMX Map or Layer

                            ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"G7lHNReqFJ9hGFwt8m1HC","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"map","optional":false,"description":"

                            the TMX map

                            ","dataType":{"tokens":[{"value":"TMXTileMap","kind":"canonical"},{"value":"TMXTileMap","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"KryFTRcGsll-dXWZw8A5K","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given tile at the specified layer

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

                            X coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

                            the tile object to draw

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"xbGTDKqyVPOPgtvgsF8YZ","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given TMX Layer for the given area

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

                            a TMX Layer object

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

                            the area of the layer to draw

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LqiNYeIWAcYp833Fw6eJ8","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the bounding rect for this map renderer

                            ","params":[{"identifier":"layer","optional":true,"description":"

                            calculate the bounding rect for a specific layer (will return a new bounds object)

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1bGlPWr-Ru9Nn9UeClgvq","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tile position corresponding to the specified pixel

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"amGXYFWcoOjDxRMQSixcM","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the pixel position corresponding of the specified tile

                            ","params":[{"identifier":"col","optional":false,"description":"

                            tile horizontal position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

                            tile vertical position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"t55hnsTyZHiJAjypBtg6T","name":"TMXRenderer","brief":"","type":"ClassDoc","description":"

                            The map renderer base class

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"shC_CyuZw-KZhDIYxotOO","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if the renderer can render the specified map or layer

                            ","params":[{"identifier":"component","optional":false,"description":"

                            TMX Map or Layer

                            ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"CdD3gpJa0GI8i1i1m7d0o","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"cols","optional":false,"description":"

                            width of the tilemap in tiles

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"rows","optional":false,"description":"

                            height of the tilemap in tiles

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tilewidth","optional":false,"description":"

                            width of each tile in pixels

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tileheight","optional":false,"description":"

                            height of each tile in pixels

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"E8BXsMuj7CPF68AHoV4QU","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given tile at the specified layer

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

                            X coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

                            the tile object to draw

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"frMVdku7SErw3QIThAi_A","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given TMX Layer for the given area

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

                            a TMX Layer object

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

                            the area of the layer to draw

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"uIAoyqyELJvJwzz8K-ULG","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the bounding rect for this map renderer

                            ","params":[{"identifier":"layer","optional":true,"description":"

                            calculate the bounding rect for a specific layer (will return a new bounds object)

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fALaHVpkQW_Owspr3ZyVg","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tile position corresponding to the specified pixel

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CxbKjR1JiL1K2b4MECcGc","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the pixel position corresponding of the specified tile

                            ","params":[{"identifier":"col","optional":false,"description":"

                            tile horizontal position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

                            tile vertical position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"cJcwvXknNgWVxfdoQFNCD","name":"TMXStaggeredRenderer","type":"ClassDoc","description":"

                            a Staggered Map Renderder

                            ","params":[],"returns":[],"extends":["TMXHexagonalRenderer"],"implements":[],"members":[{"id":"uMLoLzX7OK7lyffsjC-JZ","name":"canRender","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if the renderer can render the specified map or layer

                            ","params":[{"identifier":"component","optional":false,"description":"

                            TMX Map or Layer

                            ","dataType":{"tokens":[{"value":"TMXTileMap | TMXLayer","kind":"canonical"},{"value":"TMXTileMap","kind":"link"},{"value":"TMXLayer","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ylRyZjb98LGmTTMHqpVeb","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"dQXM8tcJV3gPK0tsDCNYw","name":"drawTile","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given tile at the specified layer

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"x","optional":false,"description":"

                            X coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate where to draw the tile

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"tile","optional":false,"description":"

                            the tile object to draw

                            ","dataType":{"tokens":[{"value":"Tile","kind":"canonical"},{"value":"Tile","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"o5PJt6GXG4nD3KWI5Rs4q","name":"drawTileLayer","brief":"","scope":"instance","type":"MethodDoc","description":"

                            draw the given TMX Layer for the given area

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"layer","optional":false,"description":"

                            a TMX Layer object

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}},{"identifier":"rect","optional":false,"description":"

                            the area of the layer to draw

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ijP8TH-AhJz7yO9wYBBC1","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the bounding rect for this map renderer

                            ","params":[{"identifier":"layer","optional":true,"description":"

                            calculate the bounding rect for a specific layer (will return a new bounds object)

                            ","dataType":{"tokens":[{"value":"TMXLayer","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NhzY75Te-U2uhPDRThy0X","name":"pixelToTileCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tile position corresponding to the specified pixel

                            ","params":[{"identifier":"x","optional":false,"description":"

                            X coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"klp6oM4JHBzu68At1KV88","name":"tileToPixelCoords","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the pixel position corresponding of the specified tile

                            ","params":[{"identifier":"col","optional":false,"description":"

                            tile horizontal position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"row","optional":false,"description":"

                            tile vertical position

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional vector object where to put the return values

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"KGtL_JMWjQqqMBjkFu4Xq","name":"TMXTileMap","brief":"","type":"ClassDoc","description":"

                            a TMX Tile Map Object\nTiled QT +0.7.x format

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Tm5rzNG_H60ZNvxbAOU3H","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The map class.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U_TL1oZm7H5KMI6IQoYvF","name":"cols","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            width of the tilemap in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BHACvwuD9OORP8JVBfbqS","name":"infinite","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            is the map an infinite map

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"id09RH0CJxmqtPx5WS9-t","name":"name","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            name of the tilemap

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dFw0Qx4kz63w6O4M8MoJS","name":"orientation","brief":"","defaultValue":"\"orthogonal\"","scope":"instance","type":"PropertyDoc","description":"

                            the map orientation type. melonJS supports “orthogonal”, “isometric”, “staggered” and “hexagonal”.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yi0r2ZzOZ7EwQ_SOOdCJm","name":"renderorder","brief":"","defaultValue":"\"right-down\"","scope":"instance","type":"PropertyDoc","description":"

                            the order in which tiles on orthogonal tile layers are rendered.\n(valid values are "left-down", "left-up&qu...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yVRvc_5s-84ihShaGl6Uk","name":"rows","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            height of the tilemap in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qH6tj_58j4Zu8QFckrI1r","name":"tiledversion","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The Tiled version used to save the file (since Tiled 1.0.1).

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TOBeAAS2TdnnPWsDpwhw9","name":"tileheight","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            Tile height

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zepQLt5-dpPjWOq6DSPDw","name":"tilewidth","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            Tile width

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PxjUnU6AS9wUcjg5AgFsN","name":"version","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the TMX format version

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XtbRwyq0yWVJvOBSy04br","name":"addTo","brief":"","examples":[{"caption":"","code":"// create a new level object based on the TMX JSON object\nlet level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));\n// add the level to the game world container\nlevel.addTo(me.game.world, true, true);"}],"scope":"instance","type":"MethodDoc","description":"

                            add all the map layers and objects to the given container.\nnote : this will not automatically update the camera viewport

                            ","params":[{"identifier":"container","optional":false,"description":"

                            target container

                            ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}},{"identifier":"flatten","optional":true,"default":"true","description":"

                            if true, flatten all objects into the given container, else a me.Container object will be created for each co...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"setViewportBounds","optional":true,"default":"false","description":"

                            if true, set the viewport bounds to the map size, this should be set to true especially if adding a level to the game worl...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"mGX_T_L9tayO8KztS9mHQ","name":"constructor","brief":"","examples":[{"caption":"","code":"// create a new level object based on the TMX JSON object\nlet level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));\n// add the level to the game world container\nlevel.addTo(me.game.world, true);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"levelId","optional":false,"description":"

                            name of TMX map

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"data","optional":false,"description":"

                            TMX map in JSON format

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"fvCM5p14JyI8VGFcsYgY2","name":"destroy","brief":"

                            destroy function, clean all allocated objects

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IG_UPfcWja5Qf5MhJQcjq","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the map bounding rect

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mSS0vq53bUNsr0JMWv4sz","name":"getLayers","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return all the existing layers

                            ","params":[],"returns":[{"description":"

                            Array of Layers

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"TMXLayer","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"bzywexmX_LQkDpgfO1ADJ","name":"getObjects","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return an Array of instantiated objects, based on the map object definition

                            ","params":[{"identifier":"flatten","optional":true,"default":"true","description":"

                            if true, flatten all objects into the returned array.\nwhen false, a me.Container object will be created for e...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Array of Objects

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"sBOMrdC0mqzX4041vCq20","name":"getRenderer","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Return the map default renderer

                            ","params":[],"returns":[{"description":"

                            a TMX renderer

                            ","dataType":{"tokens":[{"value":"TMXRenderer","kind":"canonical"},{"value":"TMXRenderer","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"kgSoWKpoVec9NVtr1iwFr","name":"TMXTileset","brief":"","type":"ClassDoc","description":"

                            a TMX Tile Set Object

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"8liw1fqHUa3sd7pG9JJ44","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the tileset class

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hyyWqp9YzQ0sfsshlBZhn","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Tileset contains animated tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LdgJBVqaiyilka8GuAPfR","name":"isCollection","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if the tileset is a "Collection of Image" Tileset

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"16AjW1hVa5c8l6RZp08En","name":"_lastUpdate","brief":"","access":"private","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            Remember the last update timestamp to prevent too many animation updates

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mI38XmK7slGi5iVJI6km4","name":"animations","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                            Tileset animations

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4YJGIcd0QoVLBPFF0OA1h","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"tileset","optional":false,"description":"

                            tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"U_5h9m0_81TeRSjMelXo9","name":"contains","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if the gid belongs to the tileset

                            ","params":[{"identifier":"gid","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"se_xnT-z5NXAcYTrW72Tb","name":"getTileImage","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tile image from a "Collection of Image" tileset

                            ","params":[{"identifier":"gid","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            corresponding image or undefined

                            ","dataType":{"tokens":[{"value":"Image","kind":"canonical"},{"value":"Image","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"c4aWLn_I-qgjjhQBI-uai","name":"getTileProperties","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the properties of the specified tile

                            ","params":[{"identifier":"tileId","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"_Hn53wj3KaJ1CxETrz9DK","name":"getViewTileId","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Get the view (local) tile ID from a GID, with animations applied

                            ","params":[{"identifier":"gid","optional":false,"description":"

                            Global tile ID

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            View tile ID

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"ehhvJHeknOokmQnzFBDXw","name":"TMXTilesetGroup","brief":"","type":"ClassDoc","description":"

                            an object containing all tileset

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"ftEcqGJ8f8QBmfHWFpwXi","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add a tileset to the tileset group

                            ","params":[{"identifier":"tileset","optional":false,"dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"9plU2gd6tW-71h5VQKQH4","name":"getTilesetByGid","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tileset corresponding to the specified id
                            \nwill throw an exception if no matching tileset is found

                            ","params":[{"identifier":"gid","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            corresponding tileset

                            ","dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"P0fbxoAR4HkSJPtAE3nxl","name":"getTilesetByIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the tileset at the specified index

                            ","params":[{"identifier":"i","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            corresponding tileset

                            ","dataType":{"tokens":[{"value":"TMXTileset","kind":"canonical"},{"value":"TMXTileset","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"GG8O9Njr1I6JK5QTx6BCT","name":"Trigger","brief":"","type":"ClassDoc","description":"

                            trigger an event when colliding with another object

                            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"spiaBtpSCHLdArzWAWk9s","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                            Define the renderable opacity
                            \nSet to zero if you do not wish an object to be drawn

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xjzBst-_1hnKbI5R2HEj0","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object will always update, even when outside of the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"brRBSy1wzJPLUg-EhgjUv","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            a reference to the parent object that contains this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4g8SNArWQF7iLY_w6Bz31","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                            The anchor point is used for attachment behavior, and/or when applying transformations.
                            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QXGMvgQCnG6XEkMl5KDlZ","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k8lWznAuYRHh_4MQfjwvB","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eS4NIAkzchUybUcftctYw","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                            the renderable physic body

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r5Ks3NOChXIQAUp16muDm","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nUW7wjF1HrUQG0ub3U6tB","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_xVRMVoPLSwvPhIKBUUGT","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zpJo4bxZitO9kDb09Rakj","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tSN2iyENeST2l9yTOt6SM","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZZXkY1eaYFkf3A4PMObEr","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zO3PiEsXmunJM0DVuPOOR","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            (G)ame (U)nique (Id)entifier"
                            \na GUID will be allocated for any renderable object added
                            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NdbVn1pG8zPBPM4Warn9r","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fvbn5afsPkKBI4vwgQLBX","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object is visible and within the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-i9tnZ9SpWOR7oxZ-HFVj","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            when true the renderable will be redrawn during the next update cycle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sEvEQ0FWjAM-7JmQ3C2AA","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c0QXlnDFsxzCqHmC3XXGc","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cl53hZLZ8CKOKc2QjCKcq","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dfu8K7AAaCd6rUZyEPg-c","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            If true then physic collision and input events will not impact this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lrbzFXDjx_-AGulxbAYsT","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sXaNH4MGBk_psoyMmGyk9","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2ygRI6aFCsW2gMGpoUr3V","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LG56WG1XhHY21GuE1b92j","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6-jP8gdYtCcC9oPHFFGsv","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                            an event handler that is called when the renderable leave or enter a camera viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zY2CPYzbqNnutY4frEPgq","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            returns the parent application (or game) to which this renderable is attached to

                            ","params":[],"returns":[{"description":"

                            the parent application or undefined if not attached to any container/app

                            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IXHZkJ3_gLjvOWmObL8Pq","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            Array of points defining the Polygon
                            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q2jxURYRXD6rtKCXHi0tW","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"idYqJhIIPC6gVK7tLH1yL","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QBawFezpl3NotH_GQ71Fr","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jod_Ra29QcxNh30ma-5j6","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eNrJvySs0kNRyUi8Y8thP","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mn8Vm_hllzHk1IZOnyFUm","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"USUPwA6aIpS76uMUIVqe3","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether to update this object when the game is paused.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gV_uF1KwikdJpOhXZrtrT","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lE-1KZdqsiANjyjFLyksN","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the angle to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cX-3Dv418866autK1HxmL","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                            center the rectangle position around the given coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lFejBSCYOTTXRKd9qjIoh","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            clone this rectangle

                            ","params":[],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"23uJrKDttGDB7jRNtqdxb","name":"constructor","brief":"","examples":[{"caption":"","code":"world.addChild(new me.Trigger(\n x, y, {\n shapes: [new me.Rect(0, 0, 100, 100)],\n \"duration\" : 250,\n \"color\" : \"#000\",\n \"to\" : \"mymap2\"\n }\n));"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinates of the trigger area

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinates of the trigger area

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.width","optional":true,"description":"

                            width of the trigger area

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.height","optional":true,"description":"

                            height of the trigger area

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.shapes","optional":true,"description":"

                            collision shape(s) that will trigger the event

                            ","dataType":{"tokens":[{"value":"Array | Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Polygon","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Line","kind":"link"},{"value":"Array","kind":"canonical"},{"value":"Ellipse","kind":"link"}],"template":"%1<%2> | %3<%4> | %5<%6> | %7<%8>"}},{"identifier":"settings.duration","optional":true,"description":"

                            Fade duration (in ms)

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.color","optional":true,"description":"

                            Fade color

                            ","dataType":{"tokens":[{"value":"string | Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.event","optional":true,"default":"\"level\"","description":"

                            the type of event to trigger (only "level" supported for now)

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.to","optional":true,"description":"

                            level to load if level trigger

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.container","optional":true,"description":"

                            Target container. See {@link level.load}

                            ","dataType":{"tokens":[{"value":"string | Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"string | %1"}},{"identifier":"settings.onLoaded","optional":true,"description":"

                            Level loaded callback. See {@link level.load}

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"settings.flatten","optional":true,"description":"

                            Flatten all objects into the target container. See {@link level.load}

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"settings.setViewportBounds","optional":true,"description":"

                            Resize the viewport to match the level. See {@link level.load}

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"5M0JA6GByUVxSpMWIIAv1","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                            Returns true if the rectangle contains the given point or rectangle

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point, or a rectangle to test

                            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                            y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            True if the rectangle contain the given point or rectangle, otherwise false

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"QCvxPhoUTBiJojrI-Wxvf","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                            copy the position and size of the given rectangle into this one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            Source rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QbK75bZ65tk6XJk8k4ACe","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the distance to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            distance

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sl3vmpfBRuoQZH646lPSm","name":"draw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#postDraw"],"type":"MethodDoc","description":"

                            Draw this renderable (automatically called by melonJS).\nAll draw operations for renderable are made respectively\nto the po...","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer instance

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                            the viewport to (re)draw

                            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rO9rNxv56vzeGCBlo5q1Q","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is identical to the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if equals

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"biGM-y39d9tWMZxm7GD_A","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                            flip the renderable on the horizontal axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lo9Gfd_frrN9W1q1EuFhO","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                            flip the renderable on the vertical axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2BVuwHyelPBOZ7WfqomfX","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the renderable absolute position in the game world

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fZwUUylAJ1ipiUcJF0Ibg","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the bounding box for this renderable

                            ","params":[],"returns":[{"description":"

                            bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8NJQkyA0t0vds5XIT9bXe","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns a list of indices for all triangles defined in this polygon

                            ","params":[],"returns":[{"description":"

                            an array of vertex indices for all triangles forming this polygon.

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"o0_ptsPw5MuXfaV8p9GQK","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            get the renderable alpha channel value

                            ","params":[],"returns":[{"description":"

                            current opacity value between 0 and 1

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FjLr_bOD9MM7_jM9FRHa1","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                            ","params":[],"returns":[{"description":"

                            true if the vertices are convex, false if not, null if not computable

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"gsXqAGKI5aZ-DEGzSjI1c","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                            determines whether all coordinates of this rectangle are finite numbers.

                            ","params":[],"returns":[{"description":"

                            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2_P5SrpR4zYTm-pG3Y3qF","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable towards the given target.

                            ","params":[{"identifier":"target","optional":false,"description":"

                            the renderable or position to look at

                            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"41q63iq1fqczkE71_L4lZ","name":"onCollision","brief":"","scope":"instance","type":"MethodDoc","description":"

                            onCollision callback, triggered in case of collision with this trigger

                            ","params":[{"identifier":"response","optional":false,"description":"

                            the collision response object

                            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                            the other renderable touching this one (a reference to response.a or response.b)

                            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                            true if the object should respond to the collision (its position and velocity will be corrected)

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qPjsNdflm2fq4ivElPfSM","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nbH65T9YYH31pAxpyYzHH","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is intersecting with the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if overlaps

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"OKN-EIR9zMtZ7eD8hCYbt","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                            restore the rendering context after drawing (automatically called by melonJS).

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"ju6Vj9JsfosctkNwmCtnZ","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"ra21Z5ybBcUcIi7tAM0xp","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"prKGaTPSFktUCIRRzR-u0","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            resize the rectangle

                            ","params":[{"identifier":"w","optional":false,"description":"

                            new width of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            new height of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"G7FLQWI1HxHX5oFOGlVEz","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable by the specified angle (in radians).

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            The angle to rotate (in radians)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional point to rotate around

                            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OsD_tapoz36PjH0mboXUJ","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                            a number representing the abscissa of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                            a number representing the ordinate of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lb-fNdq1iVl0NSEfQr42v","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point

                            ","params":[{"identifier":"v","optional":false,"description":"

                            scaling vector

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4doOps7n2_NHvvQWyK1R5","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the renderable alpha channel value

                            ","params":[{"identifier":"alpha","optional":false,"description":"

                            opacity value between 0.0 and 1.0

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"t1qBAQXGrnO1M2FldnFGP","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set new value to the rectangle shape

                            ","params":[{"identifier":"x","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            width of the rectangle, or an array of vector defining the rectangle

                            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                            height of the rectangle, if a numeral width parameter is specified

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"N1i9j7BskjecBsX1ta_2M","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the vertices defining this Polygon

                            ","params":[{"identifier":"vertices","optional":false,"description":"

                            array of vector or vertice defining the Polygon

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                            this instance for objecf chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kCIvWwZT2bbwLIPRrMgr1","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            Shifts the Polygon to the given position vector.

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to shift to

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XiCLSYIZHswCgj4IfSg26","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply a 2d projection to this shapen

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qjQnqluMNg53ifuTW86iZ","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply an isometric projection to this shape

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1LXrhbKv9e6ZJHWKIn3lg","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns a polygon whose edges are the same as this box.

                            ","params":[],"returns":[{"description":"

                            a new Polygon that represents this rectangle.

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"G1z3v6qwAf2-HHAomILT_","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                            multiply the renderable currentTransform with the given matrix

                            ","params":[{"identifier":"m","optional":false,"description":"

                            the transformation matrix

                            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wJerqnHiMaFT-gU_IognX","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            translate the Polygon by the specified offset

                            ","params":[{"identifier":"x","description":"

                            x offset or a vector point to translate by

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                            y offset

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"gN70hrs-Bf505BTe1yDYR","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                            merge this rectangle with another one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            other rectangle to union with

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            the union(ed) rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VBAbe4Cxq4SEKwne1LEiy","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                            update function (automatically called by melonJS).

                            ","params":[{"identifier":"dt","optional":false,"description":"

                            time since the last update in milliseconds.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            true if the renderable is dirty

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"I4c92K4gEsjgy75OWJLVR","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            update the bounding box for this shape.

                            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                            update the bounds size and position in (world) absolute coordinates

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            this shape bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ds0zE6rAsfXjICWfX7Kt8","name":"triggerEvent","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            trigger this event

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6LXdr7z_dZt78EFhYLeVr","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                            called when the anchor point value is changed

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the new X value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the new Y value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"vlnVazGzT9SsWX6fmxeuc","name":"Tween","brief":"","type":"ClassDoc","description":"

                            Javascript Tweening Engine

                            \nSuper simple, fast and easy to use tweening engine which incorporates optimised Robert Penne...","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"urlYAitmtSD9SJieWRicL","name":"Easing","brief":"","access":"public","type":"EnumDoc","description":"

                            Easing Function :

                            \n

                            \n Easing.Linear.None
                            \n Easing.Quadratic.In
                            \n Easing.Quadratic.Out
                            \n Easing.Quadrati...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oVVB2tVBBn_ySYYbXxjKx","name":"Interpolation","brief":"","access":"public","type":"EnumDoc","description":"

                            Interpolation Function :

                            \n

                            \n Interpolation.Linear
                            \n Interpolation.Bezier
                            \n Interpolation.CatmullRom\n

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TTku4Eq4Gz-jzllYHU4VP","name":"chain","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            chain the tween

                            ","params":[{"identifier":"chainedTween","description":"

                            Tween(s) to be chained

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KPVDbnkYpu7fnUJNhShfH","name":"constructor","brief":"","examples":[{"caption":"","code":"// add a tween to change the object pos.x and pos.y variable to 200 in 3 seconds\ntween = new me.Tween(myObject.pos).to({\n x: 200,\n y: 200,\n }, {\n duration: 3000,\n easing: me.Tween.Easing.Bounce.Out,\n autoStart : true\n}).onComplete(myFunc);"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"object","optional":false,"description":"

                            object on which to apply the tween

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"Uu4-kSmLJ07RwFbNOlwK6","name":"delay","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            delay the tween

                            ","params":[{"identifier":"amount","optional":false,"description":"

                            delay amount expressed in milliseconds

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Im9Y-N46ZPn0DVsYaE1W7","name":"easing","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            set the easing function

                            ","params":[{"identifier":"easing","optional":false,"description":"

                            easing function

                            ","dataType":{"tokens":[{"value":"Tween.Easing","kind":"canonical"},{"value":"Easing","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Ue7Pv7Tg8U7KoejiVJlO9","name":"interpolation","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            set the interpolation function

                            ","params":[{"identifier":"interpolation","optional":false,"description":"

                            interpolation function

                            ","dataType":{"tokens":[{"value":"Tween.Interpolation","kind":"canonical"},{"value":"Interpolation","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FwfevooJx0R-o6V_0ksLW","name":"onComplete","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            onComplete callback

                            ","params":[{"identifier":"onCompleteCallback","optional":false,"description":"

                            callback

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IOMcDG3fWalmAmj4ymynN","name":"onStart","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            onStart callback

                            ","params":[{"identifier":"onStartCallback","optional":false,"description":"

                            callback

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6PnDKyyCWfPzCrC2f2xgd","name":"onUpdate","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            onUpdate callback

                            ","params":[{"identifier":"onUpdateCallback","optional":false,"description":"

                            callback

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OVko2s_xTS6tUR_yrCotG","name":"repeat","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            Repeat the tween

                            ","params":[{"identifier":"times","optional":false,"description":"

                            amount of times the tween should be repeated

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l6n1NUr64yt_ecyz_9MpV","name":"start","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            start the tween

                            ","params":[{"identifier":"time","optional":true,"description":"

                            the current time when the tween was started

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QlkV0bSeuI-EvV8Dwscdk","name":"stop","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            stop the tween

                            ","params":[],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F4-6iNES0A2COwn4IqCKr","name":"to","brief":"","access":"public","scope":"instance","type":"MethodDoc","description":"

                            object properties to be updated and duration

                            ","params":[{"identifier":"properties","optional":false,"description":"

                            hash of properties

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"options","optional":true,"description":"

                            object of tween properties, or a duration if a numeric value is passed

                            ","dataType":{"tokens":[{"value":"object | number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"object | %1"}},{"identifier":"options.duration","optional":true,"description":"

                            tween duration

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.easing","optional":true,"description":"

                            easing function

                            ","dataType":{"tokens":[{"value":"Tween.Easing","kind":"canonical"},{"value":"Easing","kind":"link"}],"template":"%1"}},{"identifier":"options.delay","optional":true,"description":"

                            delay amount expressed in milliseconds

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.yoyo","optional":true,"description":"

                            allows the tween to bounce back to their original value when finished. To be used together with repeat to create endless l...","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"options.repeat","optional":true,"description":"

                            amount of times the tween should be repeated

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"options.interpolation","optional":true,"description":"

                            interpolation function

                            ","dataType":{"tokens":[{"value":"Tween.Interpolation","kind":"canonical"},{"value":"Interpolation","kind":"link"}],"template":"%1"}},{"identifier":"options.autoStart","optional":true,"description":"

                            allow this tween to start automatically. Otherwise call me.Tween.start().

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5Uft9BUpdCNINNheztDr1","name":"yoyo","brief":"","access":"public","scope":"instance","see":["Tween#repeat"],"type":"MethodDoc","description":"

                            Allows the tween to bounce back to their original value when finished.\nTo be used together with repeat to create endless l...","params":[{"identifier":"yoyo","optional":false,"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            this instance for object chaining

                            ","dataType":{"tokens":[{"value":"Tween","kind":"canonical"},{"value":"Tween","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]}]},{"id":"5rIUWUorq-YVzmk-tzJeH","name":"UIBaseElement","brief":"","type":"ClassDoc","description":"

                            This is a basic clickable and draggable container which you can use in your game UI.\nUse this for example if you want to d...","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"dpHRIH2MSD89zQR5k0a8L","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                            Define the renderable opacity
                            \nSet to zero if you do not wish an object to be drawn

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qqyuTj5bGSahM5c-Pa77e","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object will always update, even when outside of the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yPTi89xf-8VWAVITI1H6l","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            a reference to the parent object that contains this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2Y96gQ2HodbL4eArE1z8W","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                            The anchor point is used for attachment behavior, and/or when applying transformations.
                            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0SjWLAprV4bZkUp4cxrq-","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the children z index should automatically be managed by the parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6jvm4N6ZXGAZL1DPTV1Ov","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the children list should be automatically sorted when adding a new child

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k_m0TV5Jweb6lxTIdYjQv","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yTvjfyd0xSMA6VBq7c9h1","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

                            define a background color for this container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nKIJJ-7nsaV1tXIX9JS49","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"INEdrOEK1ACDegxbOPZ4S","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                            the renderable physic body

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iFVWOKIlFDDiREpkXwtGW","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sZVRa1cW32S7q24cdk0Du","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t4w2VSL2Pn4kDdbUfeQDU","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9YZ5yoveZxLNU7ktT9K_3","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the container draw operation should clip his children to its own bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zlTgPwOqFPCSKhp77ZHjk","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wvGTCwn1tp1hl4l_TeLJI","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hoy7iulYZaIBgyTeuu71-","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4HW5nDKsP8_NCh59fRU2k","name":"floating","brief":"","defaultValue":"true","scope":"instance","see":["Renderable.floating"],"type":"PropertyDoc","description":"

                            UI base elements use screen coordinates by default\n(Note: any child elements added to a UIBaseElement should have their fl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TgKn8dZjFteSFjP-g1NjQ","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            (G)ame (U)nique (Id)entifier"
                            \na GUID will be allocated for any renderable object added
                            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tcqy9gjNIxbw34FE0I_J1","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NPB1nv9QRRLvcdTxebQDr","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

                            Tap and hold threshold timeout in ms

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0lct07Pmztl0lkiumAtf2","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if the pointer is over the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PalyyaOZwliKC1lScCA7X","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object is visible and within the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IscRcCSgFR5qoZbNd5u2A","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f4RpEsNjCsSPbnp0ymjK3","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            when true the renderable will be redrawn during the next update cycle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZAk-iKVXo4D6oFSECIZ7t","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8FYWOJzhwd6g7UN7B87A0","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pk-q2dX0pVzHwYSDejsU7","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P_O_I3YwzwA4z1dqaEVE4","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QvZpKLEcx4onLwCf6CtYV","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be tap and hold

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HrEdg4FmjBWZiUToVHsIJ","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            If true then physic collision and input events will not impact this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7cgDEE5pPXkwATkDWDlEE","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vsJrhLa4Bflv4iNuJLNBf","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FySFgBq-cN7_GWGjvhEOG","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uAoyLWcDhQkqx7XeX7FJi","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FTkjUGxFdPmWyL4o52pay","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                            an event handler that is called when the renderable leave or enter a camera viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BGWAw24Uy3N4MSNs1_mhL","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            returns the parent application (or game) to which this renderable is attached to

                            ","params":[],"returns":[{"description":"

                            the parent application or undefined if not attached to any container/app

                            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yYQlgNzXUCYjI6TgBC8YT","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            Array of points defining the Polygon
                            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RM8iKCn5o_JgQY2DEGqs_","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XyBXzGXkJQFN8Hmf_LybX","name":"released","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            false if the pointer is down, or true when the pointer status is up

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7xaT2EOBp06z3YjPOSPVx","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nu-G1_g-xYq2BlBjogZpC","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            whether the container is the root of the scene

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-9RzVqEog4_-9YB6sv6tR","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J8OHPmjejA_tg44Y-JkFY","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

                            The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E4FGQbxHNODropddpbSco","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1PZR4yp5XJEuipu2cUZCb","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Axc5BaKhmOtKTo45qitdc","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I4Cumi4ZVlRQheL3qz-fA","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether to update this object when the game is paused.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pjT6o7Hbob7KHc-K8GlJ2","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6sDJ2BsXhNA0IXEk_r5ly","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Add a child to the container
                            \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

                            forces the z index of the child to the specified value

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the added child

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"-qvhCagJo9VvHcr99CN_Y","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Add a child to the container at the specified index
                            \n(the list won't be sorted after insertion)

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

                            The index at which to insert the child

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the added child

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Gz5FsJ2ItvZC3WL8gfn3D","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the angle to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FgbyUs9222RqCMqw60H0l","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                            center the rectangle position around the given coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DK-hz4sjha_yc9OvcnTXr","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            clone this rectangle

                            ","params":[],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qEpIwxZVtfEDtdvggBSAm","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                            The x position of the container

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            The y position of the container

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            width of the container

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            height of the container

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"m6GieZ4x7DOT8-R4dzoMU","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                            Returns true if the rectangle contains the given point or rectangle

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point, or a rectangle to test

                            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                            y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            True if the rectangle contain the given point or rectangle, otherwise false

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"cTcrRHdPLfFqbmn1MyI0h","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                            copy the position and size of the given rectangle into this one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            Source rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TBZLVZVKOJld8MzYUUGz-","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the distance to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            distance

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2wJLXWqOBMt8x-ym11t6Q","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is identical to the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if equals

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"NDy89T-4bT4aKqVVbgnho","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                            flip the renderable on the horizontal axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"GhS3OZIg5es_tUGhUhTJa","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                            flip the renderable on the vertical axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"VkcNZpx9VmjQEjX0hygdU","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

                            The forEach() method executes a provided function once per child element.
                            \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

                            fnction to execute on each element

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

                            value to use as this(i.e reference Object) when executing callback.

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"F1Ix72HO39PqZom2PKBiq","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the renderable absolute position in the game world

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"I6daXwBVW4ZEYtnibDHR4","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the bounding box for this renderable

                            ","params":[],"returns":[{"description":"

                            bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"X2Z9Xdl4Mh4CWijwK0ZkZ","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the Child at the specified index

                            ","params":[{"identifier":"index","optional":false,"description":"

                            The index of the child

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the child at the specified index

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wbUEdknnidHJPEq3r_Ad7","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the child corresponding to the specified GUID
                            \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

                            child GUID

                            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                            corresponding child or null

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"e8ZlRoUCRPTDR6bKFlB_t","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the list of childs with the specified name
                            \nas defined in Tiled (Name field of the Object Properties)
                            \nnote ...","params":[{"identifier":"name","optional":false,"description":"

                            child name

                            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                            Array of children

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"-oqhCcFXT0X3OJHOiR4PI","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

                            return the child corresponding to the given property and value.
                            \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

                            Property name

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                            Value of the property

                            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                            Array of childs

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"QuwASOu_j89Nb3WdoF0uE","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the list of childs with the specified class type

                            ","params":[{"identifier":"classType","optional":false,"description":"

                            Class type

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                            Array of children

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"n1ANz1PMKJcPiwGmq1_z6","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the index of the given Child

                            ","params":[{"identifier":"child","optional":false,"description":"

                            The child object

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                            index

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cyYQCLd-zrJIKtrWvFeUo","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return all child in this container

                            ","params":[],"returns":[{"description":"

                            an array of renderable object

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"9dXtUCwrIqGV-zrrRih6F","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns a list of indices for all triangles defined in this polygon

                            ","params":[],"returns":[{"description":"

                            an array of vertex indices for all triangles forming this polygon.

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"00wbQvDH4VVdxMZ5dsvi6","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the next child within the container or undefined if none

                            ","params":[{"identifier":"child","optional":false,"description":"

                            The child object

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                            child

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HOr0Oem7hZRx1VMG47i7M","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            get the renderable alpha channel value

                            ","params":[],"returns":[{"description":"

                            current opacity value between 0 and 1

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0GCdBNtsh7piEma8D1OWy","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the instance of the root container (i.e. the current application World container).

                            ","params":[],"returns":[{"description":"

                            root container

                            ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"WDQeRxw_p0Y09xZvESA3P","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if contains the specified Child

                            ","params":[{"identifier":"child","optional":false,"description":"

                            The child object

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Ne3KgaW4N14pPpbDGe-OS","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Checks if this container is root or if it's attached to the root container.

                            ","params":[],"returns":[{"description":"

                            true if this container is root or if it's attached to the root container

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"sLHJmp3PoyQVop-jW138Q","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                            ","params":[],"returns":[{"description":"

                            true if the vertices are convex, false if not, null if not computable

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"S0n3b_pwIrc-PMhP7W0Ps","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                            determines whether all coordinates of this rectangle are finite numbers.

                            ","params":[],"returns":[{"description":"

                            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"c9HaR1GVylCl-ATdAfszv","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable towards the given target.

                            ","params":[{"identifier":"target","optional":false,"description":"

                            the renderable or position to look at

                            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"B4c6Qczui0LJjnZzujAc5","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the child in the group one step backward (z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"C2pKBi8fxsVCm9FfrM3PZ","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the specified child the bottom (z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"EtTZYo00KhMMS9eY2ET4r","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the specified child to the top(z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"Xr4XkEYGc6s4i1cEP3_GH","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the child in the group one step forward (z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"Un1FdXDAvbM8jgdvql-ov","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

                            a callback to be extended, triggered after a child has been added or removed

                            ","params":[{"identifier":"index","optional":false,"description":"

                            added or removed child index

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"UOv5SZsFkMqo3WRYgD6Rh","name":"onClick","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed (to be extended)

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            return false if we need to stop propagating the event

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"o5ogj1mJxiVTbeVtaxz6j","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                            ","params":[{"identifier":"response","optional":false,"description":"

                            the collision response object

                            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                            the other renderable touching this one (a reference to response.a or response.b)

                            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                            true if the object should respond to the collision (its position and velocity will be corrected)

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"9YrwSVmiv3xYckI2E437C","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vIxnBqS5ns7A7vPEGC9Xy","name":"onHold","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed and held
                            \nto be extended

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"udAqcBU905BlNI8vOQTsi","name":"onMove","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is moved over the object

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"y4RE4iu0XZGuirvSSnm6n","name":"onOut","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is leaving the object area

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"uLwBh-UZfg1MC_xU0XYjZ","name":"onOver","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is over the object

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"VWWXgRkJaIYIxTfonG7CC","name":"onRelease","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed and released (to be extended)

                            ","params":[],"returns":[{"description":"

                            return false if we need to stop propagating the event

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"2DhKk3TOagV2Lh3-BjxWM","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is intersecting with the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if overlaps

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8glPP1rxzbLPbdiCvilwa","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                            restore the rendering context after drawing (automatically called by melonJS).

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"uxoDiGygiap3J9f8iVdkr","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"6kL5KiNNWN1KuCXJeCBpj","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LGDqzjVbu70GfZaySaiWO","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

                            Child to be removed

                            ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

                            true to prevent calling child.destroy()

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"1-13JgjmurrXLGNi-cftm","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Removes (and optionally destroys) a child from the container.
                            \n(removal is immediate and unconditional)
                            \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

                            Child to be removed

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

                            True to prevent calling child.destroy()

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"TANTF50ENBvXWBhCTwv1k","name":"reset","brief":"

                            reset the container, removing all childrens, and reseting transforms.

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XJdYw4OqUtJ88ztXa8ckD","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            resize the rectangle

                            ","params":[{"identifier":"w","optional":false,"description":"

                            new width of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            new height of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CdL_qM4IK_UUNJeM2gJ5w","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable by the specified angle (in radians).

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            The angle to rotate (in radians)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional point to rotate around

                            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nbu8pM3ldbPLwUKPGbZSw","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                            a number representing the abscissa of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                            a number representing the ordinate of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KEv5zcIRix-4fhwfcgAdM","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point

                            ","params":[{"identifier":"v","optional":false,"description":"

                            scaling vector

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dji9pa9AsVtUn6rGasfVk","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Automatically set the specified property of all childs to the given value

                            ","params":[{"identifier":"prop","optional":false,"description":"

                            property name

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                            property value

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

                            recursively apply the value to child containers if true

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Hay6bXpje1ApJlK7HCFWT","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the renderable alpha channel value

                            ","params":[{"identifier":"alpha","optional":false,"description":"

                            opacity value between 0.0 and 1.0

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"kKZ_pYTNCYpgtvkh8LkBI","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set new value to the rectangle shape

                            ","params":[{"identifier":"x","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            width of the rectangle, or an array of vector defining the rectangle

                            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                            height of the rectangle, if a numeral width parameter is specified

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rACzKwro_laIWvGh5QMc3","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the vertices defining this Polygon

                            ","params":[{"identifier":"vertices","optional":false,"description":"

                            array of vector or vertice defining the Polygon

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                            this instance for objecf chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CMQgcvtnMAHbcSQaa9mZg","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            Shifts the Polygon to the given position vector.

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to shift to

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QqGymOjfY8N4xOvMnZxYN","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Manually trigger the sort of all the childs in the container

                            ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

                            recursively sort all containers if true

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"Y7gPpLVHjI849oFx3Wlp-","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Swaps the position (z-index) of 2 children

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"huZujo3I8_DZE7P2Ld0Bn","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply a 2d projection to this shapen

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SyQq1lGMYoY9UwwRsxzlf","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply an isometric projection to this shape

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dFLyM_PojcmFz0HrSO2jC","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns a polygon whose edges are the same as this box.

                            ","params":[],"returns":[{"description":"

                            a new Polygon that represents this rectangle.

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7LuFlzRaNXUH5u3FknnLR","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                            multiply the renderable currentTransform with the given matrix

                            ","params":[{"identifier":"m","optional":false,"description":"

                            the transformation matrix

                            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"A8sDExuPr58_v9GNHajUd","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            translate the Polygon by the specified offset

                            ","params":[{"identifier":"x","description":"

                            x offset or a vector point to translate by

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                            y offset

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5h_5YQHJbtodYh6wAbK28","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                            merge this rectangle with another one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            other rectangle to union with

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            the union(ed) rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8hC0mjgwP4z6FZW_pGDSE","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            update the bounding box for this container.

                            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                            update the bounds size and position in (world) absolute coordinates

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            this container bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FrqGm8lTgJJuO8wm6kW2i","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            draw this renderable (automatically called by melonJS)

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer instance

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                            the viewport to (re)draw

                            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"1os5wa4NRmQJ6ZXGjrhy-","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            container update function.
                            \nautomatically called by the application update loop {@link Application}

                            ","params":[{"identifier":"dt","optional":false,"description":"

                            time since the last update in milliseconds.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            true if the Container is dirty

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"hCmVa509AL_oGMiT_SEJk","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                            called when the anchor point value is changed

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the new X value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the new Y value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"YLAX7khvdP5P2TafF0jjq","name":"UISpriteElement","brief":"","type":"ClassDoc","description":"

                            This is a basic sprite based button which you can use in your Game UI.

                            ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"9Q7ChgNaGG27k4Jdo6sTP","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                            Define the renderable opacity
                            \nSet to zero if you do not wish an object to be drawn

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jCUcwMmHiQ3zhTtzBSchu","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object will always update, even when outside of the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RZ7puVYfhaM8a6QhqJkF8","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            a reference to the parent object that contains this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"76cupgvbFvDmfqBFJj3RR","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                            The anchor point is used for attachment behavior, and/or when applying transformations.
                            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K2vb3N2fENQnQqoy-qYgE","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VApfQYJotn0o8EsvJBXXw","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                            animation cycling speed (delay between frame in ms)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C3H1eTZaN56FCDuyAqEDS","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BzQ_Ul3lT6VYCe7k3vjR9","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qikuK5j9gYyVqFc-iZMgP","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                            the renderable physic body

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tqsjn-4vTP3dmlBXGjK62","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vKBNrUMIUGSNGZEZq8Xfi","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XCWx9aLO-MhnGvKZxS2uZ","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7WZ6AYmTJgL3N1ORvJmPx","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wv69FLslu_wxQCPkcnNuG","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qGJZaq0HsnhcfH94-Mx1q","name":"floating","brief":"","defaultValue":"true","scope":"instance","see":["Renderable.floating"],"type":"PropertyDoc","description":"

                            if this UISpriteElement should use screen coordinates or local coordinates\n(Note: any UISpriteElement elements added to a ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GM5wih0hWnMZwIgZ6U10G","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            (G)ame (U)nique (Id)entifier"
                            \na GUID will be allocated for any renderable object added
                            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hT36vJiMZ1fQctQ9YBFp5","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BEIVEBD8eVWtpbUCyzYiZ","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

                            Tap and hold threshold timeout in ms

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w5IpviihosQ8vU2h-iWNO","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if the pointer is over the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a4p4l8xNwgRWX6dLBvm1B","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object is visible and within the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ckwgk_F-GMpvjfsNwi-s9","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JwpLLTkFX86M_lz4oMAoj","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            when true the renderable will be redrawn during the next update cycle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"utYdTikf2S-i0iZvsycru","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ic52SMpDDa44PCyTjCSmL","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s4GEodnkaAtGJ4FbCm2i_","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XjRJhYXrJ-13oQN9bmKvW","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be tap and hold

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gBy2QA-kUWcipJNg5nFWD","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            If true then physic collision and input events will not impact this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"loQOUIdlUODWKgp7ydu-x","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pijfTycZpbYNYOacY5iL8","name":"isVideo","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if this is a video sprite (e.g. a HTMLVideoElement was passed as as source)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mQ3omwfKdWsxrb8gVozhW","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BXxw5Sphmf2dUtkdkbVzE","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LjAaqaPoZ2Z3w7ZcuJk5L","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GsHEqNpkE078d3jMVn7X9","name":"offset","brief":"","defaultValue":"<0.0,0.0>","scope":"instance","type":"PropertyDoc","description":"

                            global offset for the position to draw from on the source image.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LlqKAuqtcGrJNULyOdPja","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                            an event handler that is called when the renderable leave or enter a camera viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wurdk5pGdSo4gx4gDH0XK","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            returns the parent application (or game) to which this renderable is attached to

                            ","params":[],"returns":[{"description":"

                            the parent application or undefined if not attached to any container/app

                            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dOJrLolL3u_DPEYdrulBk","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            Array of points defining the Polygon
                            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1cDFWeMsy34_X4uS0LbzN","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ihHq3E7Tb1xj8AOEqHwxX","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C5v15n89SRlK_jKmAXDOi","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H0CfTZ3Ja1yK8xwkg5Dzv","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            The source texture object this sprite object is using

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LH5JmWzu5CHRQHeFzXiMt","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BAWQo6Ja-csHHg18ZsFzp","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2cCiMwQjXaz68Nb67QXFx","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6uQn-tt8zP8yOAe_e9Vh8","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether to update this object when the game is paused.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bhfuRkE4cnEG3vXEoU7ka","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gCTo2RGIKJjUv_Odii83f","name":"addAnimation","brief":"","examples":[{"caption":"","code":"// walking animation\nthis.addAnimation(\"walk\", [ 0, 1, 2, 3, 4, 5 ]);\n// standing animation\nthis.addAnimation(\"stand\", [ 11, 12 ]);\n// eating animation\nthis.addAnimation(\"eat\", [ 6, 6 ]);\n// rolling animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ]);\n// slower animation\nthis.addAnimation(\"roll\", [ 7, 8, 9, 10 ], 200);\n// or get more specific with delay for each frame. Good solution instead of repeating:\nthis.addAnimation(\"turn\", [{ name: 0, delay: 200 }, { name: 1, delay: 100 }])\n// can do this with atlas values as well:\nthis.addAnimation(\"turn\", [{ name: \"turnone\", delay: 200 }, { name: \"turntwo\", delay: 100 }])\n// define an dying animation that stop on the last frame\nthis.addAnimation(\"die\", [{ name: 3, delay: 200 }, { name: 4, delay: 100 }, { name: 5, delay: Infinity }])\n// set the standing animation as default\nthis.setCurrentAnimation(\"stand\");"}],"scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                            add an animation
                            \nFor fixed-sized cell sprite sheet, the index list must follow the\nlogic as per the following example...","params":[{"identifier":"name","optional":false,"description":"

                            animation id

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"index","optional":false,"description":"

                            list of sprite index or name defining the animation. Can also use objects to specify delay for each frame, see below

                            ","dataType":{"tokens":[{"value":"Array | Array | Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1<%2> | %3 | %4"}},{"identifier":"animationspeed","optional":true,"description":"

                            cycling speed for animation in ms

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            frame amount of frame added to the animation (delay between each frame).

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4Xi-nFP6uqvOWMOD1DkLS","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the angle to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_Ry6zP8_19A7aLi9iSldf","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                            center the rectangle position around the given coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9DzVDtGkHhgt2298bgTOE","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            clone this rectangle

                            ","params":[],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7ILga3pUHTg5WjvXmso54","name":"constructor","brief":"","examples":[{"caption":"","code":" // create a basic GUI Object\n class myButton extends UISpriteElement {\n constructor(x, y) {\n // call the UISpriteElement parent constructor\n super(x, y, {\n image: \"button\",\n framewidth: 100,\n frameheight: 50\n });\n }\n\n // output something in the console\n // when the object is clicked\n onClick(event) {\n console.log(\"clicked!\");\n // don't propagate the event\n return false;\n }\n });\n\n // add the object at pos (10,10)\n world.addChild(new myButton(10,10));"}],"scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinate of the UISpriteElement Object

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinate of the UISpriteElement Object

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings","optional":false,"description":"

                            See {@link Sprite}

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"IjDbxTZakZMEjX06wWPoc","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                            Returns true if the rectangle contains the given point or rectangle

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point, or a rectangle to test

                            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                            y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            True if the rectangle contain the given point or rectangle, otherwise false

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"R3chRrLc4EBHK5nNDKJcR","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                            copy the position and size of the given rectangle into this one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            Source rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"73h2NZob4svzbLwv_MJte","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the distance to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            distance

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"moAieApT60A5WTZhiLQf6","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is identical to the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if equals

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"FdyoicyVC7VhlMsUQYml-","name":"flicker","brief":"","examples":[{"caption":"","code":"// make the object flicker for 1 second\n// and then remove it\nthis.flicker(1000, function () {\n world.removeChild(this);\n});"}],"scope":"instance","type":"MethodDoc","description":"

                            make the object flicker

                            ","params":[{"identifier":"duration","optional":false,"description":"

                            expressed in milliseconds

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"callback","optional":false,"description":"

                            Function to call when flickering ends

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_noFvbVZyoBruTdfnbqqG","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                            flip the renderable on the horizontal axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4PJGBkEd0d89mMBgN9WZE","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                            flip the renderable on the vertical axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DsakWggRzI-7LRVPq2hC4","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the renderable absolute position in the game world

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d0xFVRvXMkEq6JnAxfiSh","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the bounding box for this renderable

                            ","params":[],"returns":[{"description":"

                            bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rjgVpV0QZ1b0PzoxJ8HqL","name":"getCurrentAnimationFrame","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the current animation frame index.

                            ","params":[],"returns":[{"description":"

                            current animation frame index

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"MhKeFsCB__SveENCw8BhS","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns a list of indices for all triangles defined in this polygon

                            ","params":[],"returns":[{"description":"

                            an array of vertex indices for all triangles forming this polygon.

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"zfGLTdw2It_fh6kw9PSsi","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            get the renderable alpha channel value

                            ","params":[],"returns":[{"description":"

                            current opacity value between 0 and 1

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dG__zVndUjL-Bo0APY8Ul","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                            ","params":[],"returns":[{"description":"

                            true if the vertices are convex, false if not, null if not computable

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"tURmKHkVvLD-EXI-bOZCx","name":"isCurrentAnimation","brief":"","examples":[{"caption":"","code":"if (!this.isCurrentAnimation(\"walk\")) {\n // do something funny...\n}"}],"scope":"instance","type":"MethodDoc","description":"

                            return true if the specified animation is the current one.

                            ","params":[{"identifier":"name","optional":false,"description":"

                            animation id

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"4HksPCtP6XpW9NmqTsqJD","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                            determines whether all coordinates of this rectangle are finite numbers.

                            ","params":[],"returns":[{"description":"

                            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"oxOvEfmgB9EpumxiWB4eE","name":"isFlickering","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the flickering state of the object

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"FaSKzuBBimMhepKRJJ2dy","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable towards the given target.

                            ","params":[{"identifier":"target","optional":false,"description":"

                            the renderable or position to look at

                            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LmGWsDDi12rabwsKtuHtx","name":"onClick","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed (to be extended)

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            return false if we need to stop propagating the event

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qKhTqrf1_dKciPlci42mE","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                            ","params":[{"identifier":"response","optional":false,"description":"

                            the collision response object

                            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                            the other renderable touching this one (a reference to response.a or response.b)

                            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                            true if the object should respond to the collision (its position and velocity will be corrected)

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"K44v4DgRAtOQ1joYPtjmf","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"faE2XKAgbFMw6D14d-KUR","name":"onHold","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed and held
                            \nto be extended

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTl3gQIYM1iK5oZzXiZUC","name":"onOut","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is leaving the object area

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"TnlIctoaTRDtVr-nT6kIZ","name":"onOver","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is over the object

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vL_y93jhT1S7Lo_xSISFQ","name":"onRelease","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed and released (to be extended)

                            ","params":[],"returns":[{"description":"

                            return false if we need to stop propagating the event

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"J0feIEMI2QToLZs1QrfzM","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is intersecting with the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if overlaps

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"itqfM5wsZdTxOrUZbOdGa","name":"pause","brief":"

                            play or resume the current animation or video

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zx2U1on1pZTwkyIXejwyZ","name":"play","brief":"

                            play or resume the current animation or video

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-ouG4ClU_FjTrnyGnYEpI","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                            restore the rendering context after drawing (automatically called by melonJS).

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"SLoOz3sGzBs5z2HWuokEW","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"SVbA9FR5gpTfOgGuO8Bcn","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XBXtD4mgfCe1rdMMAScmw","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            resize the rectangle

                            ","params":[{"identifier":"w","optional":false,"description":"

                            new width of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            new height of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"j4QGilwr3ybQ3gEDpugBY","name":"reverseAnimation","brief":"","scope":"instance","see":["Sprite#animationspeed"],"type":"MethodDoc","description":"

                            reverse the given or current animation if none is specified

                            ","params":[{"identifier":"name","optional":true,"description":"

                            animation id

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"AqbCopyTwQJC_QhLmTuXN","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable by the specified angle (in radians).

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            The angle to rotate (in radians)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional point to rotate around

                            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yd_fAizz64DaoMqtpeweB","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                            a number representing the abscissa of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                            a number representing the ordinate of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6965uX0d6NzLbAQ4dPHs5","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point

                            ","params":[{"identifier":"v","optional":false,"description":"

                            scaling vector

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"T7rEaLw6NrCQ17-bpf15I","name":"setAnimationFrame","brief":"","examples":[{"caption":"","code":"// reset the current animation to the first frame\nthis.setAnimationFrame();"}],"scope":"instance","type":"MethodDoc","description":"

                            force the current animation frame index.

                            ","params":[{"identifier":"index","optional":true,"default":"0","description":"

                            animation frame index

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"vx5rU1x52dkNUcnC9Ck22","name":"setCurrentAnimation","brief":"","examples":[{"caption":"","code":" // set \"walk\" animation\n this.setCurrentAnimation(\"walk\");\n\n // set \"walk\" animation if it is not the current animation\n if (this.isCurrentAnimation(\"walk\")) {\n this.setCurrentAnimation(\"walk\");\n }\n\n // set \"eat\" animation, and switch to \"walk\" when complete\n this.setCurrentAnimation(\"eat\", \"walk\");\n\n // set \"die\" animation, and remove the object when finished\n this.setCurrentAnimation(\"die\", () => {\n world.removeChild(this);\n return false; // do not reset to first frame\n });\n\n // set \"attack\" animation, and pause for a short duration\n this.setCurrentAnimation(\"die\", () => {\n this.animationpause = true;\n\n // back to \"standing\" animation after 1 second\n setTimeout(function () {\n this.setCurrentAnimation(\"standing\");\n }, 1000);\n\n return false; // do not reset to first frame\n });"}],"scope":"instance","type":"MethodDoc","description":"

                            set the current animation\nthis will always change the animation & set the frame to zero

                            ","params":[{"identifier":"name","optional":false,"description":"

                            animation id

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"resetAnim","optional":true,"description":"

                            animation id to switch to when complete, or callback

                            ","dataType":{"tokens":[{"value":"string | Function","kind":"canonical"}],"template":"string | Function"}},{"identifier":"preserve_dt","optional":true,"default":"false","description":"

                            if false will reset the elapsed time counter since last frame

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"s6yrS5RwJCzzXuzgWEIl8","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the renderable alpha channel value

                            ","params":[{"identifier":"alpha","optional":false,"description":"

                            opacity value between 0.0 and 1.0

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"G140sdZ-DMMxf-H88a7Vh","name":"setRegion","brief":"","examples":[{"caption":"","code":"// change the sprite to \"shadedDark13.png\";\nmySprite.setRegion(mytexture.getRegion(\"shadedDark13.png\"));"}],"scope":"instance","see":["Texture.getRegion"],"type":"MethodDoc","description":"

                            change the current texture atlas region for this sprite

                            ","params":[{"identifier":"region","optional":false,"description":"

                            typically returned through me.Texture.getRegion()

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Sprite","kind":"canonical"},{"value":"Sprite","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"a02vNJtqAuhZZnajDzlAj","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set new value to the rectangle shape

                            ","params":[{"identifier":"x","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            width of the rectangle, or an array of vector defining the rectangle

                            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                            height of the rectangle, if a numeral width parameter is specified

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"D8e55BKdt0Kkf7mqD32Nw","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the vertices defining this Polygon

                            ","params":[{"identifier":"vertices","optional":false,"description":"

                            array of vector or vertice defining the Polygon

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                            this instance for objecf chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zMvcKhSdVazoBnrMviJe0","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            Shifts the Polygon to the given position vector.

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to shift to

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"vxxm92QUdyD2N21r1LfL4","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply a 2d projection to this shapen

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"d1fV9Hnz9lLUujmFW-bA4","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply an isometric projection to this shape

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"raktJDPRmtmnmSLdyva17","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns a polygon whose edges are the same as this box.

                            ","params":[],"returns":[{"description":"

                            a new Polygon that represents this rectangle.

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Sn69xAQJ2PYHI-hD3fpQw","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                            multiply the renderable currentTransform with the given matrix

                            ","params":[{"identifier":"m","optional":false,"description":"

                            the transformation matrix

                            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Hzbion4Sr6OEaAJ-9mFIO","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            translate the Polygon by the specified offset

                            ","params":[{"identifier":"x","description":"

                            x offset or a vector point to translate by

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                            y offset

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LfAsR-NGGL1b_RYXttg1_","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                            merge this rectangle with another one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            other rectangle to union with

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            the union(ed) rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Be0bmKESwLLgWKXowhKqo","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            update the bounding box for this shape.

                            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                            update the bounds size and position in (world) absolute coordinates

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            this shape bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"L-D6OcBkH5GaY0WpdB7rt","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            draw this srite (automatically called by melonJS)

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer instance

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                            the viewport to (re)draw

                            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"VRsSf82mfW0FDhx9S3v7b","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            update function.
                            \nautomatically called by the game manager {@link game}

                            ","params":[{"identifier":"dt","optional":false,"description":"

                            time since the last update in milliseconds.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            true if the Sprite is dirty

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"blJOgkjknywFVRs2QGS04","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                            called when the anchor point value is changed

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the new X value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the new Y value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"g7mHOanVmCgnRgcRFVf_F","name":"UITextButton","brief":"","type":"ClassDoc","description":"

                            This is a basic base text button which you can use in your Game UI.

                            ","params":[],"returns":[],"extends":["UIBaseElement"],"implements":[],"members":[{"id":"WqnGR_ByM3Y4Uf1eLsRl5","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                            Define the renderable opacity
                            \nSet to zero if you do not wish an object to be drawn

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-WasFQWd4kfp6mFIXO_NK","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object will always update, even when outside of the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2hkNZppedRnIMnqTA0Ty7","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            a reference to the parent object that contains this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G41btlZrO5bFWn036aBA8","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                            The anchor point is used for attachment behavior, and/or when applying transformations.
                            \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mjMxIoAuUHuH2S_BHEM9V","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the children z index should automatically be managed by the parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2R20jyAIi__LI7cPd50YQ","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the children list should be automatically sorted when adding a new child

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"THm3RuWSIt_FRNlMr9uO5","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                            When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nhoMv208dfc0FhfegPMSS","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

                            define a background color for this container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rSa1vFtD74DViWnncqQi6","name":"bindKey","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The key to bind the action to

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q2QzANniDVqurRu-vOKkq","name":"bitmapText","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the bitmapText used by the UITextButton class

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTbcbCIxWwDanvFKnwvH-","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                            the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tJ6l8k3wC7AuHTq-SL5BN","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                            the renderable physic body

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9gd4TvnFcfHxtSFFMoGv0","name":"borderStrokeColor","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The css value of a color to be used to draw the border

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XDfwhvq3QZTyDwPhsJRLM","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U6dxbyXAWIeDzvodr4STj","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NX_fLEaxpH2GU-34bJhlk","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r1Ald9w5uy5XFgWUDs16g","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the container draw operation should clip his children to its own bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2BzD3VqG-8au_DCRNwTUH","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wIjejs_304gAN0ysbV1OV","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"viwZpTwwSXc1r6NqMdtPa","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d6tVDJoPAIUHBqvX-s2vh","name":"floating","brief":"","defaultValue":"true","scope":"instance","see":["Renderable.floating"],"type":"PropertyDoc","description":"

                            UI base elements use screen coordinates by default\n(Note: any child elements added to a UIBaseElement should have their fl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0vAv5hNCtDMDaTXBG6aNT","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            (G)ame (U)nique (Id)entifier"
                            \na GUID will be allocated for any renderable object added
                            \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7bU6BnqR1REsSBomGlw2M","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4v_oA4HCTG2XFgz_-peBM","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

                            Tap and hold threshold timeout in ms

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HB_tjXlxX0PxqHPrLKfHO","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if the pointer is over the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s5P3-ey5DU-pM3sDFP2IW","name":"hoverOffColor","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The css value of a color to be used if the pointer is nothovering over the button

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w_NVcdOjgUUlULbJXPSr4","name":"hoverOnColor","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The css value of a color to be used if the pointer hovers over the button

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"warOcRXiAdIxq9OlWkgt-","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether the renderable object is visible and within the viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AOmYbIVDEfWOiTHADQIBY","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aD8qUZB6eKJEXxIclU22i","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            when true the renderable will be redrawn during the next update cycle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gn8r-lDr3mVwWZEqiIrFZ","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ln6dQZmLuwrnOhrjH1Ldk","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MP7DAvZE8KyC-BU6X66f4","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                            returns true if this renderable is flipped on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e1JXBNR0SkXmvuCTpPLD5","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                            Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WoWWb6HIcqgkzy6q5eMLc","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be tap and hold

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C6oaBpyY_y52-ckIKNZ88","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            If true then physic collision and input events will not impact this renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HCqxtQUtBn6Eh8uZGi_vD","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QA8XaWNScHMGepHjyQmi-","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xld8OXX60vPBsJv4Ko1Kc","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                            A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5-9ACJe4yzPDadrazdgPy","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gbxxhnQoeaZrFi7mTG-7E","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                            an event handler that is called when the renderable leave or enter a camera viewport

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JAXsR8wEl95VOcGRKl9a8","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            returns the parent application (or game) to which this renderable is attached to

                            ","params":[],"returns":[{"description":"

                            the parent application or undefined if not attached to any container/app

                            ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"N-YTYnhSVOV1tVqDDhD_S","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            Array of points defining the Polygon
                            \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E608T4Wsf1tXWZN3riPEU","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NxztdsGiBvaLStrSOZy9K","name":"released","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            false if the pointer is down, or true when the pointer status is up

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4jrGXsyoQ7_saVlsviViT","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7rfQX0OW7tDCOBN1i_v8u","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            whether the container is the root of the scene

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zp9qob1VHpa8jLtJP7ByZ","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A-0Ica0S_U11wly1gmXb7","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

                            The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EPCVXj6MmZEpcrglicVw7","name":"textAlign","brief":"","access":"public","defaultValue":"\"center\"","scope":"instance","type":"PropertyDoc","description":"

                            Set the default text alignment (or justification),
                            \npossible values are "left", "right", and "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5RjWNtuDTjsCgIkFF4Idt","name":"textBaseline","brief":"","access":"public","defaultValue":"\"middle\"","scope":"instance","type":"PropertyDoc","description":"

                            Set the text baseline (e.g. the Y-coordinate for the draw operation),
                            \npossible values are "top", "hang...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yL-NIb6ljraEESqzDgWa-","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                            define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ggj_XazF14kMudI3w0nkS","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JdGUlp-Y2NI4WYRzXw1IY","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ghoi2viS38AJ4KwdbknP8","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Whether to update this object when the game is paused.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m1EZFa6luwGcoba421Lvb","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7bt8njt4kqvMa3NvQwzIO","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Add a child to the container
                            \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

                            forces the z index of the child to the specified value

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the added child

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6_JBhbvL_F2EPwCciJY7k","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Add a child to the container at the specified index
                            \n(the list won't be sorted after insertion)

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

                            The index at which to insert the child

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the added child

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"H1pNYp4XAarRzYa5zVOc6","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the angle to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"arishjmqnM26G9qA13MrJ","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                            center the rectangle position around the given coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the x coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the y coordinate around which to center this rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_ZHVhtCwir4WetGb_jFSI","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            clone this rectangle

                            ","params":[],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xV132Y3_E3xorjNlMRLYA","name":"constructor","brief":"","examples":[{"caption":"","code":" // Create a new Button\n class PlayButton extends UITextButton {\n constructor(x,y) {\n super(x,y, {\n font: 'my-font',\n text: 'Play',\n // if you omit the next two, size is calculated by the size of the text\n borderWidth: 200,\n borderHeight: 20,\n backgroundColor: '#00aa0080',\n hoverColor: '#00ff00ff'\n });\n }\n\n onClick(){\n state.change(state.PLAY);\n }\n }\n\n world.addChild(new PlayButton(15,200));"}],"scope":"instance","type":"MethodDoc","description":"

                            A Bitmap Text Button with an outlined background border, filled with background color.\nIt uses a RoundRect as background a...","params":[{"identifier":"x","optional":false,"description":"

                            x pos of the button

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y pos of the button

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.font","optional":true,"description":"

                            The name of the BitmapText font to use

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.size","optional":true,"default":"1","description":"

                            The scale factor of the BitmapText

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.text","optional":true,"description":"

                            The text to display

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.bindKey","optional":true,"description":"

                            The key to bind the action to (default: none)

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.hoverOffColor","optional":true,"default":"\"#00aa0080\"","description":"

                            The css value of a color to be used if the pointer is not hovering over the button

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.hoverOnColor","optional":true,"default":"\"#00ff00ff\"","description":"

                            The css value of a color to be used if the pointer hovers over the button

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.borderStrokeColor","optional":true,"default":"\"#000000\"","description":"

                            The css value of a color to be used to draw the border

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.fillStyle","optional":true,"description":"

                            The css value of a tint color to be used to tint the BitmapText

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textAlign","optional":true,"default":"\"center\"","description":"

                            horizontal text alignment

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.textBaseline","optional":true,"default":"\"middle\"","description":"

                            the text baseline

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.borderWidth","optional":true,"description":"

                            Width of the button

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"settings.borderHeight","optional":true,"description":"

                            Height of the button

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"gg9MfkM6qGHWGuq-y5pXa","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                            Returns true if the rectangle contains the given point or rectangle

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point, or a rectangle to test

                            ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                            y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            True if the rectangle contain the given point or rectangle, otherwise false

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"k2NWn-WQfLwEFp1x5X1E6","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                            copy the position and size of the given rectangle into this one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            Source rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            new rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"JsDG7pednjYyU0W89PAIr","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the distance to the specified target

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            distance

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3cSULqizlgwQnTI5-QUtD","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is identical to the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if equals

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"e57X0lzIou267g5rFP8Al","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                            flip the renderable on the horizontal axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dot67h4Z5-ZFjWDsmf4j7","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                            flip the renderable on the vertical axis (around the center of the renderable)

                            ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                            true to flip this renderable.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"F0eHxbCunOGmmDR6-3D7q","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

                            The forEach() method executes a provided function once per child element.
                            \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

                            fnction to execute on each element

                            ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

                            value to use as this(i.e reference Object) when executing callback.

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"kd4G3fHJph9Bagz0J57qS","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the renderable absolute position in the game world

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HlRIOcmNJzh3DhxEsv-s8","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the bounding box for this renderable

                            ","params":[],"returns":[{"description":"

                            bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cklgCiv93LIOKvixWMWFm","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the Child at the specified index

                            ","params":[{"identifier":"index","optional":false,"description":"

                            The index of the child

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            the child at the specified index

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FKUX2en_MVSAezYE-2pAt","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the child corresponding to the specified GUID
                            \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

                            child GUID

                            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                            corresponding child or null

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Bu7mhljy8RiPAN4YPEOHE","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the list of childs with the specified name
                            \nas defined in Tiled (Name field of the Object Properties)
                            \nnote ...","params":[{"identifier":"name","optional":false,"description":"

                            child name

                            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                            Array of children

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Bkgx5JUkhhgBaznorPrrl","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

                            return the child corresponding to the given property and value.
                            \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

                            Property name

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                            Value of the property

                            ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                            Array of childs

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"oUs6fTFRrv_DDZU2CimFI","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the list of childs with the specified class type

                            ","params":[{"identifier":"classType","optional":false,"description":"

                            Class type

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                            Array of children

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"bJo27Qj4Ey7mU0CDuxVl-","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the index of the given Child

                            ","params":[{"identifier":"child","optional":false,"description":"

                            The child object

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                            index

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7tbHp3R1cyP0sHegRl_se","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return all child in this container

                            ","params":[],"returns":[{"description":"

                            an array of renderable object

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"MnYqzEPAqyCAUOVpDoYpE","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns a list of indices for all triangles defined in this polygon

                            ","params":[],"returns":[{"description":"

                            an array of vertex indices for all triangles forming this polygon.

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"3thN5AB4msHj4p4GApAWK","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the next child within the container or undefined if none

                            ","params":[{"identifier":"child","optional":false,"description":"

                            The child object

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                            child

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3w-VffT9gIHbNARa3c_68","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            get the renderable alpha channel value

                            ","params":[],"returns":[{"description":"

                            current opacity value between 0 and 1

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"x2GECmcU1_x2E2NPQwmNA","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the instance of the root container (i.e. the current application World container).

                            ","params":[],"returns":[{"description":"

                            root container

                            ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OlIiV5PBqNXP9bZMYvjRQ","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if contains the specified Child

                            ","params":[{"identifier":"child","optional":false,"description":"

                            The child object

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"F7Zco8f9yz_EI_NRSSnuk","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Checks if this container is root or if it's attached to the root container.

                            ","params":[],"returns":[{"description":"

                            true if this container is root or if it's attached to the root container

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"IyOLs7JgRmRhwiwSwVq1H","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                            ","params":[],"returns":[{"description":"

                            true if the vertices are convex, false if not, null if not computable

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"j-yBxJslrVuQSZSv39tQN","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                            determines whether all coordinates of this rectangle are finite numbers.

                            ","params":[],"returns":[{"description":"

                            false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"EMbSBVsgNYu26-6eiKFqy","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable towards the given target.

                            ","params":[{"identifier":"target","optional":false,"description":"

                            the renderable or position to look at

                            ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3m70QJW3KyoxMD56TnguT","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the child in the group one step backward (z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"w30IhvBOJYAnqmHg1n4_i","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the specified child the bottom (z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"xePEEVUIQ_3kxof0bU_mK","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the specified child to the top(z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"qVM_UB8wdxruvO8W14WL1","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Move the child in the group one step forward (z depth).

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be moved

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"AYN-yUk3KLyc8nrgeN6cO","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

                            a callback to be extended, triggered after a child has been added or removed

                            ","params":[{"identifier":"index","optional":false,"description":"

                            added or removed child index

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"m5JK_bF0GPcNCzqKxHjYb","name":"onClick","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed (to be extended)

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            return false if we need to stop propagating the event

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"VO4MASPLNAzvwJd4XwtE3","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                            onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                            ","params":[{"identifier":"response","optional":false,"description":"

                            the collision response object

                            ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                            the other renderable touching this one (a reference to response.a or response.b)

                            ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                            true if the object should respond to the collision (its position and velocity will be corrected)

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"oEBNbqUMN5aa_h4e7Yg7z","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ozlKZq3o5_oDiZj9OmVrQ","name":"onHold","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed and held
                            \nto be extended

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pvp6hjZX4Tox8YBSE-hed","name":"onMove","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is moved over the object

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"RF1rrWfrOIcyFe-T1MZJ7","name":"onOut","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is leaving the object area

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"61755GKfBZM7-qupHcIKo","name":"onOver","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the pointer is over the object

                            ","params":[{"identifier":"event","optional":false,"description":"

                            the event object

                            ","dataType":{"tokens":[{"value":"Pointer","kind":"canonical"},{"value":"Pointer","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qZEmaZ_vcJUzR1j77hlyf","name":"onRelease","brief":"","scope":"instance","type":"MethodDoc","description":"

                            function called when the object is pressed and released (to be extended)

                            ","params":[],"returns":[{"description":"

                            return false if we need to stop propagating the event

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"EEo_XcjN3n1G0AxtTMlck","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if this rectangle is intersecting with the specified one

                            ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            true if overlaps

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0-YfTmCRiOGD4XfUVS7-p","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                            restore the rendering context after drawing (automatically called by melonJS).

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"YRPhnb7-_C-arcp7tJ1NJ","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                            Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer object

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"uHj39N1CkdBthze1_DoWZ","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ovoO69bBADzGzMmIr_esp","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

                            Child to be removed

                            ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

                            true to prevent calling child.destroy()

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"98xSiLDjaCDFwerU8764W","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Removes (and optionally destroys) a child from the container.
                            \n(removal is immediate and unconditional)
                            \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

                            Child to be removed

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

                            True to prevent calling child.destroy()

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"l5SDL0mf6kKrFxgBgVdt2","name":"reset","brief":"

                            reset the container, removing all childrens, and reseting transforms.

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qzj-VsjyRsCHYGBiFkRpg","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            resize the rectangle

                            ","params":[{"identifier":"w","optional":false,"description":"

                            new width of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            new height of the rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yqcX0Gn_TS9C-dZHaLd0d","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this renderable by the specified angle (in radians).

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            The angle to rotate (in radians)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional point to rotate around

                            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5_fsg6qouNA6EF5FDhjrU","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                            a number representing the abscissa of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                            a number representing the ordinate of the scaling vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"9-XxrPGu9bOYxua5cAmtb","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            scale the renderable around his anchor point

                            ","params":[{"identifier":"v","optional":false,"description":"

                            scaling vector

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YzSVCZ0-9TN4mBr_2RqPA","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Automatically set the specified property of all childs to the given value

                            ","params":[{"identifier":"prop","optional":false,"description":"

                            property name

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                            property value

                            ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

                            recursively apply the value to child containers if true

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"OSeRdWR-6VSwzhZFUPCUy","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the renderable alpha channel value

                            ","params":[{"identifier":"alpha","optional":false,"description":"

                            opacity value between 0.0 and 1.0

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Y973wQ9S2U2hwvi6nUAij","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set new value to the rectangle shape

                            ","params":[{"identifier":"x","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            position of the Rectangle

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            width of the rectangle, or an array of vector defining the rectangle

                            ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                            height of the rectangle, if a numeral width parameter is specified

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            this rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HK6VRiNIYBFCi1Pjh96si","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the vertices defining this Polygon

                            ","params":[{"identifier":"vertices","optional":false,"description":"

                            array of vector or vertice defining the Polygon

                            ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                            this instance for objecf chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"uqJR6Yzw21Or5sALlBf3H","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            Shifts the Polygon to the given position vector.

                            ","params":[{"identifier":"x","description":"

                            x coordinate or a vector point to shift to

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"XMLN9cidekOhGXlLInxGw","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Manually trigger the sort of all the childs in the container

                            ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

                            recursively sort all containers if true

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"leGwAMe1vjNZVOnK23Yse","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Swaps the position (z-index) of 2 children

                            ","params":[{"identifier":"child","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

                            Child to be added

                            ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"MJXKA5374eyoOh3DiF7fK","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply a 2d projection to this shapen

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SGjcw3Ojr0Cd0TaQDKeWu","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                            apply an isometric projection to this shape

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tKLsqJHjyqPD7i4Onn70s","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns a polygon whose edges are the same as this box.

                            ","params":[],"returns":[{"description":"

                            a new Polygon that represents this rectangle.

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sJzJGD0CBsULlP198SD8k","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                            multiply the renderable currentTransform with the given matrix

                            ","params":[{"identifier":"m","optional":false,"description":"

                            the transformation matrix

                            ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TlBypHIhr0EtnzWJkXYSm","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                            translate the Polygon by the specified offset

                            ","params":[{"identifier":"x","description":"

                            x offset or a vector point to translate by

                            ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                            y offset

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6GeSs1wDvDlTmikwsTaur","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                            merge this rectangle with another one

                            ","params":[{"identifier":"rect","optional":false,"description":"

                            other rectangle to union with

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            the union(ed) rectangle

                            ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jTRfxnZrQJL6gdl0OEPi9","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                            update the bounding box for this container.

                            ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                            update the bounds size and position in (world) absolute coordinates

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            this container bounding box Rectangle object

                            ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YcP7ezCQQNi1xTY9nxUKI","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            draw this renderable (automatically called by melonJS)

                            ","params":[{"identifier":"renderer","optional":false,"description":"

                            a renderer instance

                            ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                            the viewport to (re)draw

                            ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"q68B0rZcoeCplX7eKLSkB","name":"update","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            container update function.
                            \nautomatically called by the application update loop {@link Application}

                            ","params":[{"identifier":"dt","optional":false,"description":"

                            time since the last update in milliseconds.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            true if the Container is dirty

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"Wl7524pEC-3Snm6he01h1","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                            called when the anchor point value is changed

                            ","params":[{"identifier":"x","optional":false,"description":"

                            the new X value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            the new Y value to be set for the anchor

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"mX1n9KpWf1HMzYwjqyqpv","name":"Vector2d","brief":"","type":"ClassDoc","description":"

                            a generic 2D Vector Object

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"UwM9PdDPKIaX8sQ9CU9S9","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            x value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ikzIOxUL49lO77MMp7xjl","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            y value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tyu1kw7ZruU-g2CJogVAc","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Update this vector values to absolute values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HSVF0Lr1qpTQfPseyorJA","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Add the passed vector to this vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5-s7P3VVbtkCPLDoI0b7x","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the angle between this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DvGHp_4C1f4IFdzJ8X9xI","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Ceil the vector values

                            ","params":[],"returns":[{"description":"

                            new me.Vector2d

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5gz2YLjUsyILW1EwVMunb","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Ceil this vector values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cUlV-BJxjzrshYKFDP2w-","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Clamp the vector value within the specified value range

                            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            new me.Vector2d

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KUgwYQJ5MCTaaikLGE1UB","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Clamp this vector value within the specified value range

                            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"8F6IbWniHIaK_0d0HNG2u","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return a clone copy of this vector

                            ","params":[],"returns":[{"description":"

                            new me.Vector2d

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fswb6he8E29Eoqhwsgjld","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

                            x value of the vector

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

                            y value of the vector

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mUsNi63WXDbxoovUR0W9j","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Copy the x,y values of the passed vector to this one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SkjM_4T9Y6Jfp4sqnicT1","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the cross product of this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            The cross product.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2wlyLXD62iBDmi5kdOm4K","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the distance between this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IFKj5hA7gmqO2pG7VjLze","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Divide this vector values by the passed value

                            ","params":[{"identifier":"n","optional":false,"description":"

                            the value to divide the vector by

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FQZto1Clz72fwSyqkxh99","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the dot product of this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            The dot product.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bQzf3OtoIWqZVxFxkFPjv","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if this vector is equal to the given values or vector

                            ","params":[{"identifier":"x","optional":false,"variadic":true,"dataType":{"tokens":[{"value":"number | Vector2d | ObservableVector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"qgAGVxsrB53My0Jpx_UZf","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Floor the vector values

                            ","params":[],"returns":[{"description":"

                            new me.Vector2d

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sfh-xYys6J1bxyX-nWMNz","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Floor this vector values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BpFR451s7jEL-Nz9dZ6NF","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the length (magnitude) of this vector

                            ","params":[],"returns":[{"description":"

                            the length of this vector

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"sL-KlLQgrlQFgj2lgr9if","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the square length of this vector

                            ","params":[],"returns":[{"description":"

                            The length^2 of this vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QBzv0g3xcDQEPla-l3YC2","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Linearly interpolate between this vector and the given one.

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":false,"description":"

                            distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iFIaB-SFETX8nQhbEPj_B","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Update this vector with the maximum value between this and the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jPuqymbSc3GeFhVsffcRq","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Update this vector with the minimum value between this and the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"M922Z5iOHe12TeutrPNy5","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

                            interpolate the position of this vector towards the given one by the given maximum step.

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}},{"identifier":"step","optional":false,"description":"

                            the maximum step per iteration (Negative values will push the vector away from the target)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iUkU776eoO-3unQ-NvwnN","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Negate the vector values

                            ","params":[],"returns":[{"description":"

                            new me.Vector2d

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DFWINjnOCa0EyQ-L6O6XR","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Negate this vector values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"1wIZ8QeGhPfAeZOBWto6m","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            normalize this vector (scale the vector so that its magnitude is 1)

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DcBehYLFTAEOTEu1Fl2d5","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            change this vector to be perpendicular to what it was before.
                            \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ogrmqTb9LupaZ93okeAsF","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

                            project this vector on to another vector.

                            ","params":[{"identifier":"v","optional":false,"description":"

                            The vector to project onto.

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HKHxvPrj4ZohWjoLi7-wo","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Project this vector onto a vector of unit length.
                            \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

                            The unit vector to project onto.

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"E0krbq0ew9QI61QRRHAhK","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this vector (counter-clockwise) by the specified angle (in radians).

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            The angle to rotate (in radians)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional point to rotate around

                            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KoAzox1dWWmxcUXPFiZnu","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Multiply this vector values by the given scalar

                            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KQiomgq9moRPlUYmU314I","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Multiply this vector values by the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hl6bgZxssj0PgaMgEwn-N","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the Vector x and y properties to the given values

                            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BZTfd6w7blxawp-WeTgE9","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the Vector x and y properties using the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"EXah28uzKguXa5jm4gJAH","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the Vector x and y properties to 0

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"xM-xsCRownqOA9EVNTUGw","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Substract the passed vector to this vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ju5Pltl6d9cWcjbIVNbzj","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Convert this vector into 2d coordinate space

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"iopoeEWCxk5Zeo0YUrCj7","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Convert this vector into isometric coordinate space

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"to-GGGpJ8Agq5uWfFN83d","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

                            convert the object to a string representation

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"WwY8oNyb0re3X1upvbS12","name":"Vector3d","brief":"","type":"ClassDoc","description":"

                            a generic 3D Vector Object

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"f4m-Wm3OBtd5nT3CvJuND","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            x value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lFQ-dGFGbIf9X_dByAhwS","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            y value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fp7CHPckC-mSaqfR3zQqU","name":"z","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            z value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mcKcjJzjg5lJoTuDRklYK","name":"abs","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Update this vector values to absolute values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bT3Oqe21k4htSv9WfYkmh","name":"add","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Add the passed vector to this vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"k2HK4QWPqFx92BHYgvykV","name":"angle","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the angle between this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"I5T8MqXIOCwJUN65rwhrp","name":"ceil","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Ceil the vector values

                            ","params":[],"returns":[{"description":"

                            new me.Vector3d

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"PV5SI3YxbjBZnbo64fYL4","name":"ceilSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Ceil this vector values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"x-NbwDBSXdima3-FvkT4G","name":"clamp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Clamp the vector value within the specified value range

                            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            new me.Vector3d

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KlE21pyjUu-760Gfr0UtQ","name":"clampSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Clamp this vector value within the specified value range

                            ","params":[{"identifier":"low","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"high","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"CC5e7qxH9BrVz-mGmWXOV","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return a clone copy of this vector

                            ","params":[],"returns":[{"description":"

                            new me.Vector3d

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YSYfnWrqxehaGJBB1HzlO","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

                            x value of the vector

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

                            y value of the vector

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","description":"

                            z value of the vector

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LRMD5psI9IuuUxyR4DIwp","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Copy the components of the given vector into this one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"bwsNYxtMfmW7O7gdRMEvw","name":"cross","brief":"","scope":"instance","type":"MethodDoc","description":"

                            calculate the cross product of this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"RjHnFUO87Z-uKGcuKmoT-","name":"distance","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the distance between this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BNQutxKR7GHzr5kWjb4HY","name":"div","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Divide this vector values by the passed value

                            ","params":[{"identifier":"n","optional":false,"description":"

                            the value to divide the vector by

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"FAa7TpSzgpFF1YFOQYBGU","name":"dot","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the dot product of this vector and the passed one

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            The dot product.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TzwXnsO_DpZNdI3UsZYpZ","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if this vector is equal to the given values or vector

                            ","params":[{"identifier":"x","optional":false,"variadic":true,"dataType":{"tokens":[{"value":"number | Vector2d | ObservableVector2d | Vector3d | ObservableVector3d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"},{"value":"Vector3d","kind":"link"},{"value":"ObservableVector3d","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"TufSk3Y2QSXVHMAM7jZrC","name":"floor","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Floor the vector values

                            ","params":[],"returns":[{"description":"

                            new me.Vector3d

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"mElb7qs57MnrznY2woYIJ","name":"floorSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Floor this vector values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"oaQQWxUmfOAg7qEWC8Hyf","name":"length","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the length (magnitude) of this vector

                            ","params":[],"returns":[{"description":"

                            the length of this vector

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cvGx7S6ShwvOe3_2J5RMu","name":"length2","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the square length of this vector

                            ","params":[],"returns":[{"description":"

                            The length^2 of this vector.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6kLC0U-3km44NNIKIFcwK","name":"lerp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Linearly interpolate between this vector and the given one.

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":false,"description":"

                            distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"68FcnVRi-0GIH3Q-LLfpB","name":"maxV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Update this vector with the maximum value between this and the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"NVVNRNu8Sy2_R3nyYSaAW","name":"minV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Update this vector with the minimum value between this and the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ikI6t6KwKTzLCP9CZ0B6U","name":"moveTowards","brief":"","scope":"instance","type":"MethodDoc","description":"

                            interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.

                            ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"step","optional":false,"description":"

                            the maximum step per iteration (Negative values will push the vector away from the target)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_cc3Mfwu1jE0rmOI_b5f7","name":"negate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Negate the vector values

                            ","params":[],"returns":[{"description":"

                            new me.Vector3d

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wjRKdtDYOn1LTYPDGQq0R","name":"negateSelf","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Negate this vector values

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LXXbNQ6T7ScfftGtg9T4u","name":"normalize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            normalize this vector (scale the vector so that its magnitude is 1)

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4phjI1keKvbMzydoVWjiA","name":"perp","brief":"","scope":"instance","type":"MethodDoc","description":"

                            change this vector to be perpendicular to what it was before.
                            \n(Effectively rotates it 90 degrees in a clockwise direct...","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yTslU_GiaqxmluDGCulEo","name":"project","brief":"","scope":"instance","type":"MethodDoc","description":"

                            project this vector on to another vector.

                            ","params":[{"identifier":"v","optional":false,"description":"

                            The vector to project onto.

                            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dHS16LT2gZBUP3WT5v6oN","name":"projectN","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Project this vector onto a vector of unit length.
                            \nThis is slightly more efficient than project when deali...","params":[{"identifier":"v","optional":false,"description":"

                            The unit vector to project onto.

                            ","dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"eKMGLJXuBH05RypamSDfv","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            The angle to rotate (in radians)

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                            an optional point to rotate around (on the same z axis)

                            ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5kE8ATLki7U4wVWIQNuOQ","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Multiply this vector values by the given scalar

                            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"1","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"qwjpSGkSQzsJF1gsTp5w_","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Multiply this vector values by the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SFpNPZcPYHcHMVOhc4EMS","name":"set","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the Vector x and y properties to the given values

                            ","params":[{"identifier":"x","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"z","optional":true,"default":"0","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"ODkEsyqM3ibTuBa5c7Zxz","name":"setV","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the Vector x and y properties using the passed vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"W6n78WwhG5p5KM-pJsV8z","name":"setZero","brief":"","scope":"instance","type":"MethodDoc","description":"

                            set the Vector x and y properties to 0

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dn1R_-iS2kyL0T6nmTbX8","name":"sub","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Substract the passed vector to this vector

                            ","params":[{"identifier":"v","optional":false,"dataType":{"tokens":[{"value":"Vector2d | Vector3d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4YYSrjiESpi0apnM0_vTc","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Convert this vector into 2d coordinate space

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wQ6QRudBYt2XC-zCKP1Gv","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Convert this vector into isometric coordinate space

                            ","params":[],"returns":[{"description":"

                            Reference to this object for method chaining

                            ","dataType":{"tokens":[{"value":"Vector3d","kind":"canonical"},{"value":"Vector3d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"TsBNSSTtwp8gdPEeaK8Rr","name":"toString","brief":"","scope":"instance","type":"MethodDoc","description":"

                            convert the object to a string representation

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]}]},{"id":"rUPpOriCAYTnCePL0g--0","name":"WebGLRenderer","brief":"","type":"ClassDoc","description":"

                            a WebGL renderer object

                            ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"gG4UxtHsZasUQaKDUBK73","name":"compositors","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The list of active compositors

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DmUnCPVk952bTyjUzvvzb","name":"currentCompositor","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The current compositor used by the renderer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dFdZm9a1dXnzaufrKUVqq","name":"currentProgram","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            a reference to the current shader program used by the renderer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o84ISVZiux-g6MTBuYsRj","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The current transformation matrix used for transformations on the overall scene

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VgC-RrWCPY6yxsLGL7keS","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

                            the default method to sort object ("sorting", "z-buffer")

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pwUT512M_osmCb4eZLwn2","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            the requested video size ratio

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oz8PJVgKGaKshJsdSqYQq","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The WebGL context

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wOvCshQEs57m1hedM5J7X","name":"GPURenderer","brief":"","defaultValue":"undefined","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

                            The renderer string of the underlying graphics driver.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nvsRgVISc8tnai5rjR33x","name":"GPUVendor","brief":"","defaultValue":"undefined","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

                            The vendor string of the underlying graphics driver.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5wv3f_QDoB_197NpQzdGU","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            return the height of the canvas which this renderer draws to

                            ","params":[],"returns":[{"description":"

                            height of the system Canvas

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"3jS0Smf8axAeNmJNKLnJU","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            true if the current rendering context is valid

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uk7Ssvzf7geHYRKSht1bV","name":"maxTextures","brief":"","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

                            Maximum number of texture unit supported under the current context

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FmAsmc8v58gp3mQQB3yob","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The Path2D instance used by the renderer to draw primitives

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mKM30mR-WsqT-94vUGspr","name":"scaleRatio","brief":"","defaultValue":"<1,1>","scope":"instance","type":"PropertyDoc","description":"

                            the scaling ratio to be applied to the main canvas

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5v89bRth_etUBQZzqxLp4","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            The given constructor options

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CK6nLyRc72pLMNOBa1UYm","name":"type","brief":"","defaultValue":"\"Generic\"","scope":"instance","type":"PropertyDoc","description":"

                            The renderer type : Canvas, WebGL, etc...\n(override this property with a specific value when implementing a custom rendere...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YLwvvTOkRMYx_ewQg-Fc0","name":"vertexBuffer","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the vertex buffer used by this WebGL Renderer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"01so1xtUv7sZzXi568TnH","name":"WebGLVersion","brief":"","defaultValue":"1","readonly":true,"scope":"instance","type":"PropertyDoc","description":"

                            The WebGL version used by this renderer (1 or 2)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sK_9VBKbyFddzBEI1IczV","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            return the width of the canvas which this renderer draws to

                            ","params":[],"returns":[{"description":"

                            width of the system Canvas

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dQ-V0zftZcdWFgEilMO1b","name":"addCompositor","brief":"","scope":"instance","type":"MethodDoc","description":"

                            add a new compositor to this renderer

                            ","params":[{"identifier":"compositor","optional":false,"description":"

                            a compositor instance

                            ","dataType":{"tokens":[{"value":"Compositor","kind":"canonical"},{"value":"Compositor","kind":"link"}],"template":"%1"}},{"identifier":"name","optional":false,"default":"\"default\"","description":"

                            a name uniquely identifying this compositor

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"activate","optional":true,"default":"false","description":"

                            true if the given compositor should be set as the active one

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"OmGORQggYar_rbra0Rbd-","name":"beginPath","brief":"","examples":[{"caption":"","code":"// First path\nrenderer.beginPath();\nrenderer.setColor(\"blue\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(200, 20);\nrenderer.stroke();\n// Second path\nrenderer.beginPath();\nrenderer.setColor(\"green\");\nrenderer.moveTo(20, 20);\nrenderer.lineTo(120, 120);\nrenderer.stroke();"}],"scope":"instance","type":"MethodDoc","description":"

                            starts a new path by emptying the list of sub-paths. Call this method when you want to create a new path

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pFYmQFKrumguVJpVM345b","name":"clear","brief":"

                            Clear the frame buffer

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GuAO8pd_oqUDIGw8EZ8LE","name":"clearColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Clears the gl context with the given color.

                            ","params":[{"identifier":"color","optional":true,"default":"\"#000000\"","description":"

                            CSS color.

                            ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"opaque","optional":true,"default":"false","description":"

                            Allow transparency [default] or clear the surface completely [true]

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"8QThz6wrXsABPerSL0IU0","name":"clearMask","brief":"","scope":"instance","see":["WebGLRenderer#setMask"],"type":"MethodDoc","description":"

                            disable (remove) the rendering mask set through setMask.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uEt8ycdQ7raf0od6-b4Qv","name":"clearRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Erase the pixels in the given rectangular area by setting them to transparent black (rgba(0,0,0,0)).

                            ","params":[{"identifier":"x","optional":false,"description":"

                            x axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                            The rectangle's width.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            The rectangle's height.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"HRoe9FIw5EXWp-Gks6WWo","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

                            clear the rendering tint set through setTint.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YIc2NqJUUAS6JbLU7NRv8","name":"clipRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                            clip the given region from the original canvas. Once a region is clipped,\nall future drawing will be limited to the clippe...","params":[{"identifier":"x","optional":false,"description":"

                            x axis of the coordinate for the upper-left corner of the rectangle to start clipping from.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y axis of the coordinate for the upper-left corner of the rectangle to start clipping from.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                            the width of the rectangle to start clipping from.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            the height of the rectangle to start clipping from.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"TIRwtcziH3tEcqNUawNiZ","name":"closePath","brief":"

                            add a straight line from the current point to the start of the current sub-path. If the shape has already been closed or has only one point, this function does nothing

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N2QoTNIqmm1tJqBkXH8jW","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"options","optional":true,"description":"

                            optional parameters for the renderer

                            ","dataType":{"tokens":[{"value":"Application.Settings","kind":"canonical"},{"value":"Application.Settings","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"SZp2rezcjEaD2td2fJMPr","name":"createPattern","brief":"","examples":[{"caption":"","code":"let tileable = renderer.createPattern(image, \"repeat\");\nlet horizontal = renderer.createPattern(image, \"repeat-x\");\nlet vertical = renderer.createPattern(image, \"repeat-y\");\nlet basic = renderer.createPattern(image, \"no-repeat\");"}],"scope":"instance","see":["ImageLayer#repeat"],"type":"MethodDoc","description":"

                            Create a pattern with the specified repetition

                            ","params":[{"identifier":"image","optional":false,"description":"

                            Source image to be used as the pattern's image

                            ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"repeat","optional":false,"description":"

                            Define how the pattern should be repeated

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                            the patterned texture created

                            ","dataType":{"tokens":[{"value":"TextureAtlas","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"dt35WvjDLbqraw9Q72qI4","name":"drawImage","brief":"","examples":[{"caption":"","code":"// Position the image on the canvas:\nrenderer.drawImage(image, dx, dy);\n// Position the image on the canvas, and specify width and height of the image:\nrenderer.drawImage(image, dx, dy, dWidth, dHeight);\n// Clip the image and position the clipped part on the canvas:\nrenderer.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);"}],"scope":"instance","type":"MethodDoc","description":"

                            Draw an image to the gl context

                            ","params":[{"identifier":"image","optional":false,"description":"

                            An element to draw into the context.

                            ","dataType":{"tokens":[{"value":"HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"SVGImageElement","kind":"canonical"},{"value":"HTMLVideoElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"ImageBitmap","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"},{"value":"VideoFrame","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7"}},{"identifier":"sx","optional":false,"description":"

                            The X coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sy","optional":false,"description":"

                            The Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sw","optional":false,"description":"

                            The width of the sub-rectangle of the source image to draw into the destination context. If not specified, the entire rect...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"sh","optional":false,"description":"

                            The height of the sub-rectangle of the source image to draw into the destination context.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dx","optional":false,"description":"

                            The X coordinate in the destination canvas at which to place the top-left corner of the source image.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dy","optional":false,"description":"

                            The Y coordinate in the destination canvas at which to place the top-left corner of the source image.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dw","optional":false,"description":"

                            The width to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the image...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"dh","optional":false,"description":"

                            The height to draw the image in the destination canvas. This allows scaling of the drawn image. If not specified, the imag...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"LWnkGHO-0ih6YFK05-yYa","name":"drawPattern","brief":"","scope":"instance","see":["WebGLRenderer#createPattern"],"type":"MethodDoc","description":"

                            Draw a pattern within the given rectangle.

                            ","params":[{"identifier":"pattern","optional":false,"description":"

                            Pattern object

                            ","dataType":{"tokens":[{"value":"TextureAtlas","kind":"canonical"},{"value":"TextureAtlas","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                            x position where to draw the pattern

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y position where to draw the pattern

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                            width of the pattern

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            height of the pattern

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"2D1mwTXdpua83ChbGHqEC","name":"fill","brief":"","scope":"instance","type":"MethodDoc","description":"

                            fill the given shape or the current defined path

                            ","params":[{"identifier":"shape","optional":true,"description":"

                            a shape object to fill

                            ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[],"extends":[],"implements":[]},{"id":"nfZApaqFkCwGXOVXz6zjA","name":"fillArc","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Fill an arc at the specified coordinates with given radius, start and end points

                            ","params":[{"identifier":"x","optional":false,"description":"

                            arc center point x-axis

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            arc center point y-axis

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                            arc radius

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

                            start angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

                            end angle in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

                            draw arc anti-clockwise

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"KmySJBDD0utHOuOuzC1Jm","name":"fillEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Fill an ellipse at the specified coordinates with given radius

                            ","params":[{"identifier":"x","optional":false,"description":"

                            ellipse center point x-axis

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            ellipse center point y-axis

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                            horizontal radius of the ellipse

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                            vertical radius of the ellipse

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"bOYs752NMtzc7KEj1oudL","name":"fillLine","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Fill a line of the given two points

                            ","params":[{"identifier":"startX","optional":false,"description":"

                            the start x coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

                            the start y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

                            the end x coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

                            the end y coordinate

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qU0GAfA73iq8XIhodrgyc","name":"fillPoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Draw a a point at the specified coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            x axis of the coordinate for the point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y axis of the coordinate for the point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"QOXT2C7uRnj8VDylubA5A","name":"fillPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Fill a me.Polygon on the screen

                            ","params":[{"identifier":"poly","optional":false,"description":"

                            the shape to draw

                            ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"T1gJVgOQMD-yZ6Xfilyqb","name":"fillRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Draw a filled rectangle at the specified coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            x axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                            The rectangle's width.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            The rectangle's height.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZR-wMW2o4aig7d5BdZ4jm","name":"fillRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Draw a rounded filled rectangle at the specified coordinates

                            ","params":[{"identifier":"x","optional":false,"description":"

                            x axis of the coordinate for the rounded rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            y axis of the coordinate for the rounded rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                            The rounded rectangle's width.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            The rounded rectangle's height.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                            The rounded corner's radius.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"-SrCdaOrAWVpSZIH1YrbM","name":"flush","brief":"

                            Flush the compositor to the frame buffer

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h-mPYZt3qINLEOYWtcSWt","name":"getBlendMode","brief":"","scope":"instance","type":"MethodDoc","description":"

                            returns the current blend mode for this renderer

                            ","params":[],"returns":[{"description":"

                            blend mode

                            ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"extends":[],"implements":[]},{"id":"yG7lXwRsG8BLYqShWwfM7","name":"getCanvas","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return a reference to the canvas which this renderer draws to

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"776JdV1WZaEcI6aoNY92w","name":"getColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                            get the current fill & stroke style color.

                            ","params":[],"returns":[{"description":"

                            current global color

                            ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7UMwfNsrzQIr_41PeCEfn","name":"getContext","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the WebGLContext instance for the renderer\nreturn a reference to the system 2d Context

                            ","params":[],"returns":[{"description":"

                            the current WebGL context

                            ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YV4LtkBwpEMwdA0GbI50n","name":"getContext2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the 2D Context object of the given Canvas
                            \nAlso configures anti-aliasing and blend modes based on constructor o...","params":[{"identifier":"canvas","optional":false,"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"true","description":"

                            use false to disable transparency

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DzjHzGqL7YPjCU9C-D2Fx","name":"getContextGL","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Returns the WebGL Context object of the given canvas element

                            ","params":[{"identifier":"canvas","optional":false,"description":"

                            the canvas element

                            ","dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}},{"identifier":"transparent","optional":true,"default":"false","description":"

                            use true to enable transparency

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"depth","optional":true,"default":"false","description":"

                            use true to enable depth buffer testing

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                            the WebGL Context object

                            ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DeTGkWEaZBjVVAEgXuGxN","name":"getGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                            Return the global alpha

                            ","params":[],"returns":[{"description":"

                            global alpha value

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"6AH7-zOnLxF6sdOXF1o7k","name":"getScreenCanvas","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getCanvas();"],"type":"MethodDoc","description":"

                            return a reference to the screen canvas

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"0eo_p7bQHpuhlj7f1Om7K","name":"getScreenContext","brief":"","deprecated":"since 13.1.0","scope":"instance","see":["getContext();"],"type":"MethodDoc","description":"

                            return a reference to the screen canvas corresponding 2d Context
                            \n(will return buffered context if double buffering is ...","params":[],"returns":[{"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"y-Jr-FrPD2AJL4tmALXzj","name":"globalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the current global alpha

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QrngU_AJ-RYkObStzUpZU","name":"lineTo","brief":"

                            adds a straight line to the current sub-path by connecting the sub-path's last point to the specified (x, y) coordinates.

                            ","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":false},{"identifier":"y","optional":false}],"returns":[],"extends":[],"implements":[]},{"id":"g1xbbN0tRw4Wdw86_fDMj","name":"moveTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                            begins a new sub-path at the point specified by the given (x, y) coordinates.

                            ","params":[{"identifier":"x","optional":false,"description":"

                            The x axis of the point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            The y axis of the point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6TmppzdiCPZiBediSY9J3","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                            check if the given rect or bounds overlaps with the renderer screen coordinates

                            ","params":[{"identifier":"bounds","optional":false,"dataType":{"tokens":[{"value":"Rect | Bounds","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"Bounds","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                            true if overlaps

                            ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"NxiEsqK0JrQeALLxLllg8","name":"rect","brief":"","scope":"instance","type":"MethodDoc","description":"

                            creates a rectangular path whose starting point is at (x, y) and whose size is specified by width and height.

                            ","params":[{"identifier":"x","optional":false,"description":"

                            The x axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            The y axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                            The rectangle's width.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            The rectangle's height.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"6Cw-hNwvrS2JEeI63Nsgu","name":"reset","brief":"

                            Reset context state

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YNkhKaQ23wTPHn0tqjAs-","name":"resetTransform","brief":"

                            Reset the gl transform to identity

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SHSLPfcZHUai_kV10BB5M","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                            resizes the system canvas

                            ","params":[{"identifier":"width","optional":false,"description":"

                            new width of the canvas

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            new height of the canvas

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"7k8jN4ZcxFiWWl5IPUVDU","name":"restore","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

                            restores the most recently saved renderer state by popping the top entry in the drawing state stack

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"seld7tfwbMMvrDQf1q749","name":"rotate","brief":"","examples":[{"caption":"","code":" // Rotated rectangle\n renderer.rotate((45 * Math.PI) / 180);\n renderer.setColor(\"red\");\n renderer.fillRect(10, 10, 100, 100);\n\n // Reset transformation matrix to the identity matrix\n renderer.setTransform(1, 0, 0, 1, 0, 0);"}],"scope":"instance","type":"MethodDoc","description":"

                            adds a rotation to the transformation matrix.

                            ","params":[{"identifier":"angle","optional":false,"description":"

                            the rotation angle, clockwise in radians

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"_xPuH91-CgtgC5c78wSdl","name":"roundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                            adds a rounded rectangle to the current path.

                            ","params":[{"identifier":"x","optional":false,"description":"

                            The x axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            The y axis of the coordinate for the rectangle starting point.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                            The rectangle's width.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                            The rectangle's height.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                            The corner radius.

                            ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qp7bO0T6wA4KpuBNO45TT","name":"save","brief":"","examples":[{"caption":"","code":" // Save the current state\n renderer.save();\n\n // apply a transform and draw a rect\n renderer.tranform(matrix);\n renderer.fillRect(10, 10, 100, 100);\n\n // Restore to the state saved by the most recent call to save()\n renderer.restore();"}],"scope":"instance","type":"MethodDoc","description":"

                            saves the entire state of the renderer by pushing the current state onto a stack.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Im0FnVygb5uy-07aKB7Um","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                            adds a scaling transformation to the renderer units horizontally and/or vertically

                            ","params":[{"identifier":"x","optional":false,"description":"

                            Scaling factor in the horizontal direction. A negative value flips pixels across the vertical axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                            Scaling factor in the vertical direction. A negative value flips pixels across the horizontal axis. A value of 1 results i...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"k47exPFv7XSCskdEXyqxi","name":"setAntiAlias","brief":"","scope":"instance","type":"MethodDoc","description":"

                            enable/disable image smoothing (scaling interpolation) for the given context

                            ","params":[{"identifier":"context","optional":false,"dataType":{"tokens":[{"value":"CanvasRenderingContext2D","kind":"canonical"},{"value":"CanvasRenderingContext2D","kind":"canonical"}],"template":"%1"}},{"identifier":"enable","optional":true,"default":"false","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"2h3XRw-cYjX-Bmx8iDXE8","name":"setBlendMode","brief":"","scope":"instance","see":["https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation"],"type":"MethodDoc","description":"

                            set a blend mode for the given context.
                            \nSupported blend mode between Canvas and WebGL remderer :

                            \n
                              \n
                            • &q...","params":[{"identifier":"mode","optional":true,"default":"\"normal\"","description":"

                              blend mode : "normal", "multiply", "lighter", "additive", "screen"

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"gl","optional":true,"description":"

                              a WebGL context

                              ","dataType":{"tokens":[{"value":"WebGLRenderingContext","kind":"canonical"},{"value":"WebGLRenderingContext","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"ar-TAoc1OeBDdWZoYByjh","name":"setColor","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Set the current fill & stroke style color.\nBy default, or upon reset, the value is set to #000000.

                              ","params":[{"identifier":"color","optional":false,"description":"

                              css color string.

                              ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZBKdzyCNtQudBxJXM_9vo","name":"setCompositor","brief":"","scope":"instance","type":"MethodDoc","description":"

                              set the active compositor for this renderer

                              ","params":[{"identifier":"name","optional":false,"default":"\"default\"","description":"

                              a compositor name

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"shader","optional":true,"description":"

                              an optional shader program to be used, instead of the default one, when activating the compositor

                              ","dataType":{"tokens":[{"value":"GLShader","kind":"canonical"},{"value":"GLShader","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              an instance to the current active compositor

                              ","dataType":{"tokens":[{"value":"Compositor","kind":"canonical"},{"value":"Compositor","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"IQ8ogTxQNeyfmNZ2LE_Gi","name":"setGlobalAlpha","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Set the global alpha

                              ","params":[{"identifier":"alpha","optional":false,"description":"

                              0.0 to 1.0 values accepted.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"jz-ruseYeMO6ZeaPcWKJp","name":"setLineWidth","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Set the line width

                              ","params":[{"identifier":"width","optional":false,"description":"

                              Line width

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"-mfGkdcOFAY0KXSlumg24","name":"setMask","brief":"","scope":"instance","see":["CanvasRenderer#clearMask"],"type":"MethodDoc","description":"

                              A mask limits rendering elements to the shape and position of the given mask object.\nIf the drawing or rendering area is l...","params":[{"identifier":"mask","optional":true,"description":"

                              a shape defining the mask to be applied

                              ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"invert","optional":true,"default":"false","description":"

                              either the given shape should define what is visible (default) or the opposite

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"pUqPY_J1hW0g83yS1wnVt","name":"setProjection","brief":"","scope":"instance","type":"MethodDoc","description":"

                              set/change the current projection matrix (WebGL only)

                              ","params":[{"identifier":"matrix","optional":false,"description":"

                              the new projection matrix

                              ","dataType":{"tokens":[{"value":"Matrix3d","kind":"canonical"},{"value":"Matrix3d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"yEP9eel-3nyxglH1Naumj","name":"setTint","brief":"","scope":"instance","type":"MethodDoc","description":"

                              set a coloring tint for sprite based renderables

                              ","params":[{"identifier":"tint","optional":false,"description":"

                              the tint color

                              ","dataType":{"tokens":[{"value":"Color","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1"}},{"identifier":"alpha","optional":true,"description":"

                              an alpha value to be applied to the tint

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"qJgigmDuI4cUO35Cxke2i","name":"setTransform","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Reset (overrides) the renderer transformation matrix to the\nidentity one, and then apply the given transformation matrix.

                              ","params":[{"identifier":"a","optional":false,"description":"

                              a matrix2d to transform by, or a the a component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

                              the b component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

                              the c component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

                              the d component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

                              the e component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

                              the f component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"0e6I726kRegmByjljKOX_","name":"setViewport","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Sets the WebGL viewport, which specifies the affine transformation of x and y from normalized device coordinates to window...","params":[{"identifier":"x ","optional":true,"default":" 0","description":"

                              x the horizontal coordinate for the lower left corner of the viewport origin

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y ","optional":true,"default":" 0","description":"

                              y the vertical coordinate for the lower left corner of the viewport origin

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w ","optional":true,"default":" width of the canvas","description":"

                              the width of viewport

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h ","optional":true,"default":" height of the canvas","description":"

                              the height of viewport

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"tT2LGhnEYrYEa-9uOsrBz","name":"stroke","brief":"","scope":"instance","type":"MethodDoc","description":"

                              stroke the given shape or the current defined path

                              ","params":[{"identifier":"shape","optional":true,"description":"

                              a shape object to stroke

                              ","dataType":{"tokens":[{"value":"Rect | RoundRect | Polygon | Line | Ellipse","kind":"canonical"},{"value":"Rect","kind":"link"},{"value":"RoundRect","kind":"link"},{"value":"Polygon","kind":"link"},{"value":"Line","kind":"link"},{"value":"Ellipse","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}},{"identifier":"fill","optional":true,"default":"false","description":"

                              fill the shape with the current color if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"4wMkQAvCK0M7qOZXd18go","name":"strokeArc","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Stroke an arc at the specified coordinates with given radius, start and end points

                              ","params":[{"identifier":"x","optional":false,"description":"

                              arc center point x-axis

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              arc center point y-axis

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                              arc radius

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"start","optional":false,"description":"

                              start angle in radians

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"end","optional":false,"description":"

                              end angle in radians

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"antiClockwise","optional":true,"default":"false","description":"

                              draw arc anti-clockwise

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}},{"identifier":"fill","optional":true,"default":"false","description":"

                              also fill the shape with the current color if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"rG5XTeCArE5HemKucVPar","name":"strokeEllipse","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Stroke an ellipse at the specified coordinates with given radius

                              ","params":[{"identifier":"x","optional":false,"description":"

                              ellipse center point x-axis

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              ellipse center point y-axis

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                              horizontal radius of the ellipse

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                              vertical radius of the ellipse

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                              also fill the shape with the current color if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"_HSK-VXJ5S_1TpzMxq8AY","name":"strokeLine","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Stroke a line of the given two points

                              ","params":[{"identifier":"startX","optional":false,"description":"

                              the start x coordinate

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"startY","optional":false,"description":"

                              the start y coordinate

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endX","optional":false,"description":"

                              the end x coordinate

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"endY","optional":false,"description":"

                              the end y coordinate

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"KMkb_WpoRmm7hBBZe7PHw","name":"strokePoint","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Stroke a Point at the specified coordinates

                              ","params":[{"identifier":"x","optional":false,"description":"

                              x axis of the coordinate for the point.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              y axis of the coordinate for the point.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"kJmfjOu1nhCnKehbswMzX","name":"strokePolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Stroke a me.Polygon on the screen with a specified color

                              ","params":[{"identifier":"poly","optional":false,"description":"

                              the shape to draw

                              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                              also fill the shape with the current color if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"lOJwYNCP8IL-CDIG7UK49","name":"strokeRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Draw a stroke rectangle at the specified coordinates

                              ","params":[{"identifier":"x","optional":false,"description":"

                              x axis of the coordinate for the rectangle starting point.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              y axis of the coordinate for the rectangle starting point.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                              The rectangle's width.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                              The rectangle's height.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                              also fill the shape with the current color if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"__VB8nC6yLyAvtuuC1Mhg","name":"strokeRoundRect","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Stroke a rounded rectangle at the specified coordinates

                              ","params":[{"identifier":"x","optional":false,"description":"

                              x axis of the coordinate for the rounded rectangle starting point.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              y axis of the coordinate for the rounded rectangle starting point.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":false,"description":"

                              The rounded rectangle's width.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":false,"description":"

                              The rounded rectangle's height.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"radius","optional":false,"description":"

                              The rounded corner's radius.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"fill","optional":true,"default":"false","description":"

                              also fill the shape with the current color if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"90SadzDSLOAoV2yg-lC5p","name":"tint","brief":"","scope":"instance","type":"MethodDoc","description":"

                              tint the given image or canvas using the given color

                              ","params":[{"identifier":"src","optional":false,"description":"

                              the source image to be tinted

                              ","dataType":{"tokens":[{"value":"HTMLImageElement | HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLImageElement","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2 | %3"}},{"identifier":"color","optional":false,"description":"

                              the color that will be used to tint the image

                              ","dataType":{"tokens":[{"value":"Color | string","kind":"canonical"},{"value":"Color","kind":"link"}],"template":"%1 | string"}},{"identifier":"mode","optional":true,"default":"\"multiply\"","description":"

                              the composition mode used to tint the image

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                              a new canvas element representing the tinted image

                              ","dataType":{"tokens":[{"value":"HTMLCanvasElement | OffscreenCanvas","kind":"canonical"},{"value":"HTMLCanvasElement","kind":"canonical"},{"value":"OffscreenCanvas","kind":"canonical"}],"template":"%1 | %2"}}],"extends":[],"implements":[]},{"id":"aO9jo8UNYVS7hFkheOkfb","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderer.convertToBlob().then((blob) => console.log(blob));"}],"scope":"instance","type":"MethodDoc","description":"

                              creates a Blob object representing the last rendered frame

                              ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                              A string indicating the image format

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                              A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              A Promise returning a Blob object representing the last rendered frame

                              ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nFwk-mmo4U1QTLP5MeVhK","name":"toDataURL","brief":"","examples":[{"caption":"","code":"renderer.toDataURL().then((dataURL) => console.log(dataURL));"}],"scope":"instance","type":"MethodDoc","description":"

                              returns a data URL containing a representation of the last frame rendered

                              ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                              A string indicating the image format

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                              A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              A Promise returning a string containing the requested data URL.

                              ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"KIskpdCmj8cjYRwZhh4YD","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderer.transferToImageBitmap().then((image) => console.log(image));"}],"scope":"instance","type":"MethodDoc","description":"

                              creates an ImageBitmap object of the last frame rendered\n(not supported by standard Canvas)

                              ","params":[{"identifier":"type","optional":true,"default":"\"image/png\"","description":"

                              A string indicating the image format

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"quality","optional":true,"description":"

                              A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support loss...","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              A Promise returning an ImageBitmap.

                              ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jsMH_AKZitl2rwS5H4yaI","name":"transform","brief":"","scope":"instance","see":["{@link WebGLRenderer.setTransform} which will reset the current transform matrix prior to performing the new transformation"],"type":"MethodDoc","description":"

                              Multiply given matrix into the renderer tranformation matrix

                              ","params":[{"identifier":"a","optional":false,"description":"

                              a matrix2d to transform by, or a the a component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"Matrix2d | number","kind":"canonical"},{"value":"Matrix2d","kind":"link"},{"value":"number","kind":"canonical"}],"template":"%1 | %2"}},{"identifier":"b","optional":false,"description":"

                              the b component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"c","optional":false,"description":"

                              the c component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"d","optional":false,"description":"

                              the d component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"e","optional":false,"description":"

                              the e component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"f","optional":false,"description":"

                              the f component to multiply the current matrix by

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Mw2tbozecT7v4YxSB9-PS","name":"translate","brief":"","scope":"instance","type":"MethodDoc","description":"

                              adds a translation transformation to the current matrix.

                              ","params":[{"identifier":"x","optional":false,"description":"

                              Distance to move in the horizontal direction. Positive values are to the right, and negative to the left.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              Distance to move in the vertical direction. Positive values are down, and negative are up.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"ZTKiAMTfnZKlTX_688jYA","name":"World","brief":"","type":"ClassDoc","description":"

                              an object representing the physic world, and responsible for managing and updating all childs and physics

                              ","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"muZZpmCyZGUw91URJ7APx","name":"alpha","brief":"","defaultValue":"1.0","scope":"instance","see":["Renderable#setOpacity","Renderable#getOpacity"],"type":"PropertyDoc","description":"

                              Define the renderable opacity
                              \nSet to zero if you do not wish an object to be drawn

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g1BSd4qFtBtC2GXu1Nav4","name":"alwaysUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              Whether the renderable object will always update, even when outside of the viewport

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zqI_u9G6F7GlYzJQjhKw8","name":"ancestor","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                              a reference to the parent object that contains this renderable

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8vCVpSXfl8xFpJwCKjT96","name":"anchorPoint","brief":"","defaultValue":"<0.5,0.5>","scope":"instance","type":"PropertyDoc","description":"

                              The anchor point is used for attachment behavior, and/or when applying transformations.
                              \nThe coordinate system places t...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iJnp4-aCAg7HbqJnA7gXt","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the application (game) this physic world belong to

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HmAyPhfSqPu97RFRwKMLs","name":"autoDepth","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                              Specify if the children z index should automatically be managed by the parent container

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UVGVsh4MUcOp8lxEiZcQX","name":"autoSort","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                              Specify if the children list should be automatically sorted when adding a new child

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hNPbAA8EahkyGjK9hugg5","name":"autoTransform","brief":"","defaultValue":"true","examples":[{"caption":"","code":"// enable \"automatic\" transformation when the object is activated\nonActivateEvent: function () {\n // reset the transformation matrix\n this.currentTransform.identity();\n // ensure the anchor point is the renderable center\n this.anchorPoint.set(0.5, 0.5);\n // enable auto transform\n this.autoTransform = true;\n ....\n}"}],"scope":"instance","type":"PropertyDoc","description":"

                              When enabled, an object container will automatically apply\nany defined transformation before calling the child draw method...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e3t2lwIHU7hnSidFHnxWU","name":"backgroundColor","brief":"","defaultValue":"(0, 0, 0, 0.0)","examples":[{"caption":"","code":"// add a red background color to this container\nthis.backgroundColor.setColor(255, 0, 0);"}],"scope":"instance","type":"PropertyDoc","description":"

                              define a background color for this container

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mw5v3VbBskXXeCsD87-GX","name":"blendMode","brief":"","defaultValue":"\"normal\"","scope":"instance","see":["CanvasRenderer#setBlendMode","WebGLRenderer#setBlendMode"],"type":"PropertyDoc","description":"

                              the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AQA6rc1X0FVi9RpmbS9iy","name":"bodies","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the active physic bodies in this simulation

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dIOFVOt-xdMpA-iIJlQtf","name":"body","brief":"","examples":[{"caption":"","code":" // define a new Player Class\n class PlayerEntity extends me.Sprite {\n // constructor\n constructor(x, y, settings) {\n // call the parent constructor\n super(x, y , settings);\n\n // define a basic walking animation\n this.addAnimation(\"walk\", [...]);\n // define a standing animation (using the first frame)\n this.addAnimation(\"stand\", [...]);\n // set the standing animation as default\n this.setCurrentAnimation(\"stand\");\n\n // add a physic body\n this.body = new me.Body(this);\n // add a default collision shape\n this.body.addShape(new me.Rect(0, 0, this.width, this.height));\n // configure max speed, friction, and initial force to be applied\n this.body.setMaxVelocity(3, 15);\n this.body.setFriction(0.4, 0);\n this.body.force.set(3, 0);\n this.isKinematic = false;\n\n // set the display to follow our position on both axis\n me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);\n }\n\n ...\n\n }"}],"scope":"instance","type":"PropertyDoc","description":"

                              the renderable physic body

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fFgVEAkmUhGYV-5yYYWAT","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              bottom coordinate of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hn4JHx79T0K3qd9SfY6Kp","name":"broadphase","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the instance of the game world quadtree used for broadphase (used by the builtin physic and pointer event implementation)

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qd71f7ATcvpXFGc8kaKtz","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              absolute center of this rectangle on the horizontal axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tnKkocWtEk4pw0K8hZNYg","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              absolute center of this rectangle on the vertical axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GPxRettowWtw8yeEf3aE0","name":"clipping","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              Specify if the container draw operation should clip his children to its own bounds

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vH1xhEjslMUiSwAC4Sk68","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the renderable default transformation matrix

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tRn60MmqY_hwOKM9dGVoR","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the depth of this renderable on the z axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1Uf06Js3QRm46ioSCmmVQ","name":"detector","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the collision detector instance used by this world instance

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e-qSFRo8WAnIpt0hNx8nM","name":"enableChildBoundsUpdate","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              Specify if the container bounds should automatically take in account\nall child bounds when updated (this is expensive and ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GlkMZu-Pa2uDDTfJNJOVt","name":"floating","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              If true, this renderable will be rendered using screen coordinates,\nas opposed to world coordinates. Use this, for example...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q2IZxUbndLw2WvG5C7t1j","name":"fps","brief":"","defaultValue":"60","scope":"instance","see":["timer.maxfps"],"type":"PropertyDoc","description":"

                              the rate at which the game world is updated,\nmay be greater than or lower than the display fps

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9aoi57uN7Z9An1id6ckkk","name":"gravity","brief":"","defaultValue":"<0,0.98>","scope":"instance","type":"PropertyDoc","description":"

                              world gravity

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3aANwdn17nGIxkfW610Lr","name":"GUID","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              (G)ame (U)nique (Id)entifier"
                              \na GUID will be allocated for any renderable object added
                              \nto an object contain...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4o-qj_4ZHfPh7gQGGHL2q","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              height of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZTIQb5oiSN7qUHjYgQjuY","name":"inViewport","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              Whether the renderable object is visible and within the viewport

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z2h_-RoU_qv3vzf-UN4RE","name":"isDirty","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                              when true the renderable will be redrawn during the next update cycle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-b0KxaOH7uqOOvY4VlNdx","name":"isFlippedX","brief":"","access":"public","scope":"instance","see":["Renderable#flipX"],"type":"PropertyDoc","description":"

                              returns true if this renderable is flipped on the horizontal axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VcRgfZELCWYPx2rh6xAnc","name":"isFlippedY","brief":"","access":"public","scope":"instance","see":["Renderable#flipY"],"type":"PropertyDoc","description":"

                              returns true if this renderable is flipped on the vertical axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OecI42xzVGUavp5o2462x","name":"isFloating","brief":"","scope":"instance","see":["Renderable#floating"],"type":"PropertyDoc","description":"

                              Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"njtw3H2C4Rz12gdzINdje","name":"isKinematic","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                              If true then physic collision and input events will not impact this renderable

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XcmfpmMUULf0-nZP1t9Ph","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              make the renderable object persistent over level changes

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"10Hl_bfkzg79dHmFZu1wa","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              left coordinate of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pKvoecGbb6GVT26wncmgU","name":"mask","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"// apply a mask in the shape of a Star\nmyNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [\n // draw a star\n {x: 0, y: 0},\n {x: 14, y: 30},\n {x: 47, y: 35},\n {x: 23, y: 57},\n {x: 44, y: 90},\n {x: 0, y: 62},\n {x: -44, y: 90},\n {x: -23, y: 57},\n {x: -47, y: 35},\n {x: -14, y: 30}\n]);"}],"scope":"instance","type":"PropertyDoc","description":"

                              A mask limits rendering elements to the shape and position of the given mask object.\nSo, if the renderable is larger than ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O0PQgBStgPUFfKHLn0wbC","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                              The name of the renderable

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bu-f7KuVLDhv8M7Ffh1Sq","name":"onVisibilityChange","brief":"","defaultValue":"undefined","examples":[{"caption":"","code":"this.onVisibilityChange = function(inViewport) {\n if (inViewport === true) {\n console.log(\"object has entered the in a camera viewport!\");\n }\n};"}],"scope":"instance","type":"PropertyDoc","description":"

                              an event handler that is called when the renderable leave or enter a camera viewport

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PzoAYLtpzXF3Zj_EVzgIu","name":"parentApp","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              returns the parent application (or game) to which this renderable is attached to

                              ","params":[],"returns":[{"description":"

                              the parent application or undefined if not attached to any container/app

                              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SZhdeLwmfYLjbROW91TaZ","name":"physic","brief":"","defaultValue":"\"builtin\"","examples":[{"caption":"","code":"// disable builtin physic\nme.game.world.physic = \"none\";"}],"scope":"instance","see":["Application.Settings.physic"],"type":"PropertyDoc","description":"

                              the physic engine used by melonJS

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DYtEWfu_jtOD17cwE97Kb","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              Array of points defining the Polygon
                              \nNote: If you manually change points, you must call...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6ldP6iPH_fTK9T98-563w","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                              Position of the Renderable relative to its parent container

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xbu5O8I4zi5plBZ3dIrZ9","name":"preRender","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              Enabled pre-rendering for all tile layers.
                              \nIf false layers are rendered dynamically, if true layers are first fully r...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YMlo5QQfgNXPIg-_TL-We","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              right coordinate of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y3UDdoNqHzo7JUe2d2PGW","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              whether the container is the root of the scene

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wb_5JdZZiUf-i_bckC71L","name":"shader","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                              (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL onl...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cQEhhl3NWZNVkf_y-6JU1","name":"sortOn","brief":"","defaultValue":"\"z\"","scope":"instance","type":"PropertyDoc","description":"

                              The property of the child object that should be used to sort on this container\nvalue : "x", "y", "...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TC65FDlvEkcKvyV4Xog6C","name":"tint","brief":"","defaultValue":"(255, 255, 255)","examples":[{"caption":"","code":"// add a red tint to this renderable\nthis.tint.setColor(255, 128, 128);\n// remove the tint\nthis.tint.setColor(255, 255, 255);"}],"scope":"instance","type":"PropertyDoc","description":"

                              define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T2tlVqfsso3h_ZyBNAPEz","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              top coordinate of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sVXVAeaEeVzPROfhcS4KO","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                              the shape type (used internally)

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nbM5olwcXp_h1FElQiKL5","name":"updateWhenPaused","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              Whether to update this object when the game is paused.

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x6fe4U902w1RjUCyb9Lux","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              width of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dLNKC41Dif1upJ1OKkzFM","name":"addBody","brief":"","scope":"instance","see":["Container.addChild"],"type":"MethodDoc","description":"

                              Add a physic body to the game world

                              ","params":[{"identifier":"body","optional":false,"dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              this game world

                              ","dataType":{"tokens":[{"value":"World","kind":"canonical"},{"value":"World","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wuvfcibiJlY2QBGH2_V4Z","name":"addChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Add a child to the container
                              \nif auto-sort is disable, the object will be appended at the bottom of the list.\nAdding a...","params":[{"identifier":"child","optional":false,"description":"

                              Child to be added

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"z","optional":true,"description":"

                              forces the z index of the child to the specified value

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              the added child

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OoUgnRWLjQjQLDAJ02XN9","name":"addChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Add a child to the container at the specified index
                              \n(the list won't be sorted after insertion)

                              ","params":[{"identifier":"child","optional":false,"description":"

                              Child to be added

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"index","optional":false,"description":"

                              The index at which to insert the child

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              the added child

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Mwt1b9_dNY8_7v0ISX5gP","name":"angleTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                              return the angle to the specified target

                              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                              angle in radians

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DdmEQkXCxG362xQgLn3RG","name":"centerOn","brief":"","scope":"instance","type":"MethodDoc","description":"

                              center the rectangle position around the given coordinates

                              ","params":[{"identifier":"x","optional":false,"description":"

                              the x coordinate around which to center this rectangle

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              the y coordinate around which to center this rectangle

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              this rectangle

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"rJ3pks820X1DvCWUMRNqI","name":"clone","brief":"","scope":"instance","type":"MethodDoc","description":"

                              clone this rectangle

                              ","params":[],"returns":[{"description":"

                              new rectangle

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"4DlV_31T7W6Imc-GRF-XX","name":"constructor","brief":"","scope":"instance","type":"MethodDoc","params":[{"identifier":"x","optional":true,"default":"0","description":"

                              position of the container (accessible via the inherited pos.x property)

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"0","description":"

                              position of the container (accessible via the inherited pos.y property)

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"width","optional":true,"default":"game.viewport.width","description":"

                              width of the container

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"height","optional":true,"default":"game.viewport.height","description":"

                              height of the container

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"v-8BRPQZjdayXTHLYz_ht","name":"contains","brief":"","examples":[{"caption":"","code":"if (rect.contains(10, 10)) {\n // do something\n}\n// or\nif (rect.contains(myVector2d)) {\n // do something\n}\nif (rect.contains(myRect)) {\n // do something\n}"}],"scope":"instance","type":"MethodDoc","description":"

                              Returns true if the rectangle contains the given point or rectangle

                              ","params":[{"identifier":"x","description":"

                              x coordinate or a vector point, or a rectangle to test

                              ","dataType":{"tokens":[{"value":"number | Vector2d | Rect","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"Rect","kind":"link"}],"template":"%1 | %2 | %3"}},{"identifier":"y","optional":true,"description":"

                              y coordinate

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              True if the rectangle contain the given point or rectangle, otherwise false

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"8i95OyzEScNIboHDqVSAN","name":"copy","brief":"","scope":"instance","type":"MethodDoc","description":"

                              copy the position and size of the given rectangle into this one

                              ","params":[{"identifier":"rect","optional":false,"description":"

                              Source rectangle

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              new rectangle

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"7J5fh4V_IUs57y220GTaC","name":"distanceTo","brief":"","scope":"instance","type":"MethodDoc","description":"

                              return the distance to the specified target

                              ","params":[{"identifier":"target","optional":false,"dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                              distance

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"hGnTLIuzXqzQdmp6ohmio","name":"equals","brief":"","scope":"instance","type":"MethodDoc","description":"

                              check if this rectangle is identical to the specified one

                              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              true if equals

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"j6xgu2Wk9R0nUGt4LEHz1","name":"flipX","brief":"","scope":"instance","see":["Matrix2d#scaleX"],"type":"MethodDoc","description":"

                              flip the renderable on the horizontal axis (around the center of the renderable)

                              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                              true to flip this renderable.

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"YfOm_eFxyC6CHelh_fX2q","name":"flipY","brief":"","scope":"instance","see":["Matrix2d#scaleY"],"type":"MethodDoc","description":"

                              flip the renderable on the vertical axis (around the center of the renderable)

                              ","params":[{"identifier":"flip","optional":true,"default":"true","description":"

                              true to flip this renderable.

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"yU9GNtYPauEJfrmk-3y1A","name":"forEach","brief":"","examples":[{"caption":"","code":"// iterate through all children of this container\ncontainer.forEach((child) => {\n // do something with the child\n child.doSomething();\n});\ncontainer.forEach((child, index) => { ... });\ncontainer.forEach((child, index, array) => { ... });\ncontainer.forEach((child, index, array) => { ... }, thisArg);"}],"scope":"instance","type":"MethodDoc","description":"

                              The forEach() method executes a provided function once per child element.
                              \nthe callback function is invoked with three...","params":[{"identifier":"callback","optional":false,"description":"

                              fnction to execute on each element

                              ","dataType":{"tokens":[{"value":"Function","kind":"canonical"}],"template":"Function"}},{"identifier":"thisArg","optional":true,"description":"

                              value to use as this(i.e reference Object) when executing callback.

                              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[],"extends":[],"implements":[]},{"id":"gq-pkrqdcLvROueE-gJ7j","name":"getAbsolutePosition","brief":"","scope":"instance","type":"MethodDoc","description":"

                              return the renderable absolute position in the game world

                              ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"XNBya7k42gUU_j8L8fIu9","name":"getBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                              returns the bounding box for this renderable

                              ","params":[],"returns":[{"description":"

                              bounding box Rectangle object

                              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BGRqdcezQ8VEtRIamywgF","name":"getChildAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Returns the Child at the specified index

                              ","params":[{"identifier":"index","optional":false,"description":"

                              The index of the child

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              the child at the specified index

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"_chmXmh9RjnmcDIfn79rX","name":"getChildByGUID","brief":"","scope":"instance","type":"MethodDoc","description":"

                              return the child corresponding to the specified GUID
                              \nnote : avoid calling this function every frame since\nit parses th...","params":[{"identifier":"guid","optional":false,"description":"

                              child GUID

                              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                              corresponding child or null

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"THj7VT_aaPY3o54D1PrqX","name":"getChildByName","brief":"","scope":"instance","type":"MethodDoc","description":"

                              returns the list of childs with the specified name
                              \nas defined in Tiled (Name field of the Object Properties)
                              \nnote ...","params":[{"identifier":"name","optional":false,"description":"

                              child name

                              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                              Array of children

                              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"IjgrjicHBu1RozV5lg-a3","name":"getChildByProp","brief":"","examples":[{"caption":"","code":" // get the first child object called \"mainPlayer\" in a specific container :\n let ent = myContainer.getChildByProp(\"name\", \"mainPlayer\");\n\n // or query the whole world :\n let ent = container.getChildByProp(\"name\", \"mainPlayer\");\n\n // partial property matches are also allowed by using a RegExp.\n // the following matches \"redCOIN\", \"bluecoin\", \"bagOfCoins\", etc :\n let allCoins = container.getChildByProp(\"name\", /coin/i);\n\n // searching for numbers or other data types :\n let zIndex10 = container.getChildByProp(\"z\", 10);\n let inViewport = container.getChildByProp(\"inViewport\", true);"}],"scope":"instance","type":"MethodDoc","description":"

                              return the child corresponding to the given property and value.
                              \nnote : avoid calling this function every frame since\ni...","params":[{"identifier":"prop","optional":false,"description":"

                              Property name

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                              Value of the property

                              ","dataType":{"tokens":[{"value":"string | RegExp | number | boolean","kind":"canonical"},{"value":"RegExp","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"string | %1 | %2 | boolean"}}],"returns":[{"description":"

                              Array of childs

                              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"Qur3oILBC7kpbXmdJydYB","name":"getChildByType","brief":"","scope":"instance","type":"MethodDoc","description":"

                              returns the list of childs with the specified class type

                              ","params":[{"identifier":"classType","optional":false,"description":"

                              Class type

                              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"returns":[{"description":"

                              Array of children

                              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"n9U_2ZEchTYmkEcKFnHXs","name":"getChildIndex","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Returns the index of the given Child

                              ","params":[{"identifier":"child","optional":false,"description":"

                              The child object

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                              index

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"fBBLuZEqCa4solb5UzZFx","name":"getChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                              return all child in this container

                              ","params":[],"returns":[{"description":"

                              an array of renderable object

                              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"EAl12ZySanENPv97w4K1A","name":"getIndices","brief":"","scope":"instance","type":"MethodDoc","description":"

                              returns a list of indices for all triangles defined in this polygon

                              ","params":[],"returns":[{"description":"

                              an array of vertex indices for all triangles forming this polygon.

                              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1<%2>"}}],"extends":[],"implements":[]},{"id":"qt2_tZ91qjAAv7LFPMrV1","name":"getNextChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Returns the next child within the container or undefined if none

                              ","params":[{"identifier":"child","optional":false,"description":"

                              The child object

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"description":"

                              child

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"2axqnBz3ngVlLfQTHVXUK","name":"getOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                              get the renderable alpha channel value

                              ","params":[],"returns":[{"description":"

                              current opacity value between 0 and 1

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"l9P33cpGxM0YpfASOlSBh","name":"getRootAncestor","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Returns the instance of the root container (i.e. the current application World container).

                              ","params":[],"returns":[{"description":"

                              root container

                              ","dataType":{"tokens":[{"value":"Container","kind":"canonical"},{"value":"Container","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"cNG2ViUHmyPur3wPdd5Dl","name":"hasChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Returns true if contains the specified Child

                              ","params":[{"identifier":"child","optional":false,"description":"

                              The child object

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[{"dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"1DWHU7-kgmim5SiDS1jOW","name":"isAttachedToRoot","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Checks if this container is root or if it's attached to the root container.

                              ","params":[],"returns":[{"description":"

                              true if this container is root or if it's attached to the root container

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"ta5pciD_MGEjfXdlGcMDX","name":"isConvex","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

                              ","params":[],"returns":[{"description":"

                              true if the vertices are convex, false if not, null if not computable

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"0vR3e_kxKsX5fZk6LCpvA","name":"isFinite","brief":"","scope":"instance","type":"MethodDoc","description":"

                              determines whether all coordinates of this rectangle are finite numbers.

                              ","params":[],"returns":[{"description":"

                              false if all coordinates are positive or negative Infinity or NaN; otherwise, true.

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"eRf9cO6zfhTob62Zo2fTT","name":"lookAt","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Rotate this renderable towards the given target.

                              ","params":[{"identifier":"target","optional":false,"description":"

                              the renderable or position to look at

                              ","dataType":{"tokens":[{"value":"Renderable | Vector2d | Vector3d","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Vector2d","kind":"link"},{"value":"Vector3d","kind":"link"}],"template":"%1 | %2 | %3"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"nVSuYN_WR5PDwT4BOSUAl","name":"moveDown","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Move the child in the group one step backward (z depth).

                              ","params":[{"identifier":"child","optional":false,"description":"

                              Child to be moved

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"qDSZfiJbJQtQBqVLnwXSI","name":"moveToBottom","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Move the specified child the bottom (z depth).

                              ","params":[{"identifier":"child","optional":false,"description":"

                              Child to be moved

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"b7fUCfMHV2PCm7BBn1C4t","name":"moveToTop","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Move the specified child to the top(z depth).

                              ","params":[{"identifier":"child","optional":false,"description":"

                              Child to be moved

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"47fFsT9SypCERNzhuXSQH","name":"moveUp","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Move the child in the group one step forward (z depth).

                              ","params":[{"identifier":"child","optional":false,"description":"

                              Child to be moved

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"JKxN2JjnR4YVcbuJmNGsC","name":"onChildChange","brief":"","scope":"instance","type":"MethodDoc","description":"

                              a callback to be extended, triggered after a child has been added or removed

                              ","params":[{"identifier":"index","optional":false,"description":"

                              added or removed child index

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Gz7jcnO7KdakjAdkDLG84","name":"onCollision","brief":"","examples":[{"caption":"","code":"// colision handler\nonCollision(response) {\n if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {\n // makes the other object solid, by substracting the overlap vector to the current position\n this.pos.sub(response.overlapV);\n this.hurt();\n // not solid\n return false;\n }\n // Make the object solid\n return true;\n},"}],"scope":"instance","type":"MethodDoc","description":"

                              onCollision callback, triggered in case of collision,\nwhen this renderable body is colliding with another one

                              ","params":[{"identifier":"response","optional":false,"description":"

                              the collision response object

                              ","dataType":{"tokens":[{"value":"ResponseObject","kind":"canonical"},{"value":"ResponseObject","kind":"link"}],"template":"%1"}},{"identifier":"other","optional":false,"description":"

                              the other renderable touching this one (a reference to response.a or response.b)

                              ","dataType":{"tokens":[{"value":"Renderable | Container | Entity | Sprite | NineSliceSprite","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Container","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"NineSliceSprite","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5"}}],"returns":[{"description":"

                              true if the object should respond to the collision (its position and velocity will be corrected)

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"CISbZNjFmvl4VenLbBzhT","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                              OnDestroy Notification function
                              \nCalled by engine before deleting the object

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CDNRCilOYjNxZXCXhLt0r","name":"overlaps","brief":"","scope":"instance","type":"MethodDoc","description":"

                              check if this rectangle is intersecting with the specified one

                              ","params":[{"identifier":"rect","optional":false,"dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              true if overlaps

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iNBWABTb9MGjqh22_OVxF","name":"postDraw","brief":"","scope":"instance","see":["Renderable#preDraw","Renderable#draw"],"type":"MethodDoc","description":"

                              restore the rendering context after drawing (automatically called by melonJS).

                              ","params":[{"identifier":"renderer","optional":false,"description":"

                              a renderer object

                              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"SmfYyZN8_OBrFBr-5OMOJ","name":"preDraw","brief":"","scope":"instance","see":["Renderable#draw","Renderable#postDraw"],"type":"MethodDoc","description":"

                              Prepare the rendering context before drawing (automatically called by melonJS).\nThis will apply any defined transforms, an...","params":[{"identifier":"renderer","optional":false,"description":"

                              a renderer object

                              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}}],"returns":[],"extends":[],"implements":[]},{"id":"kCiNOe1ZbiEN9yuRuonyb","name":"recalc","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Computes the calculated collision polygon.\nThis must be called if the points array, an...","params":[],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"soH-T-KK-KsaI_q4sNTg9","name":"removeBody","brief":"","scope":"instance","see":["Container.removeChild"],"type":"MethodDoc","description":"

                              Remove a physic body from the game world

                              ","params":[{"identifier":"body","optional":false,"dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              this game world

                              ","dataType":{"tokens":[{"value":"World","kind":"canonical"},{"value":"World","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"B2yvOaAL_h-lDMP7T67HK","name":"removeChild","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has complet...","params":[{"identifier":"child","optional":false,"description":"

                              Child to be removed

                              ","dataType":{"tokens":[{"value":"RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable","kind":"canonical"},{"value":"RendRenderable","kind":"canonical"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapTexterable","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15"}},{"identifier":"keepalive","optional":true,"default":"false","description":"

                              true to prevent calling child.destroy()

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"kkLKWDjR69qAVw0csBCxD","name":"removeChildNow","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Removes (and optionally destroys) a child from the container.
                              \n(removal is immediate and unconditional)
                              \nNever use k...","params":[{"identifier":"child","optional":false,"description":"

                              Child to be removed

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"keepalive","optional":true,"default":"False","description":"

                              True to prevent calling child.destroy()

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"BmotH6YZseicIHsqAA6xZ","name":"reset","brief":"

                              reset the game world

                              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y_Z0j4Dkvlryo33-LI7nk","name":"resize","brief":"","scope":"instance","type":"MethodDoc","description":"

                              resize the rectangle

                              ","params":[{"identifier":"w","optional":false,"description":"

                              new width of the rectangle

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"h","optional":false,"description":"

                              new height of the rectangle

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              this rectangle

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HsHDUjDtT9xCcXhlMoIop","name":"rotate","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Rotate this renderable by the specified angle (in radians).

                              ","params":[{"identifier":"angle","optional":false,"description":"

                              The angle to rotate (in radians)

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"v","optional":true,"description":"

                              an optional point to rotate around

                              ","dataType":{"tokens":[{"value":"Vector2d | ObservableVector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"},{"value":"ObservableVector2d","kind":"link"}],"template":"%1 | %2"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"SSgqGTYhRpTVgMBvhSMiL","name":"scale","brief":"","scope":"instance","type":"MethodDoc","description":"

                              scale the renderable around his anchor point. Scaling actually applies changes\nto the currentTransform member wich is use...","params":[{"identifier":"x","optional":false,"description":"

                              a number representing the abscissa of the scaling vector.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":true,"default":"x","description":"

                              a number representing the ordinate of the scaling vector.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"BNlJfgEJdo1vJvqwozpw_","name":"scaleV","brief":"","scope":"instance","type":"MethodDoc","description":"

                              scale the renderable around his anchor point

                              ","params":[{"identifier":"v","optional":false,"description":"

                              scaling vector

                              ","dataType":{"tokens":[{"value":"Vector2d","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"kTSAc-qUYzOFkUqdZlFig","name":"setChildsProperty","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Automatically set the specified property of all childs to the given value

                              ","params":[{"identifier":"prop","optional":false,"description":"

                              property name

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"value","optional":false,"description":"

                              property value

                              ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}},{"identifier":"recursive","optional":true,"default":"false","description":"

                              recursively apply the value to child containers if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"MJlNUtE1fTZyG3x7oqtLp","name":"setOpacity","brief":"","scope":"instance","type":"MethodDoc","description":"

                              set the renderable alpha channel value

                              ","params":[{"identifier":"alpha","optional":false,"description":"

                              opacity value between 0.0 and 1.0

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"Psh81KqrIUFQ8lDMbbOZQ","name":"setShape","brief":"","scope":"instance","type":"MethodDoc","description":"

                              set new value to the rectangle shape

                              ","params":[{"identifier":"x","optional":false,"description":"

                              position of the Rectangle

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              position of the Rectangle

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"w","optional":false,"description":"

                              width of the rectangle, or an array of vector defining the rectangle

                              ","dataType":{"tokens":[{"value":"number | Array","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %3<%2>"}},{"identifier":"h","optional":true,"description":"

                              height of the rectangle, if a numeral width parameter is specified

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              this rectangle

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"lFRL8nwIp0tw-fdaYHsb8","name":"setVertices","brief":"","scope":"instance","type":"MethodDoc","description":"

                              set the vertices defining this Polygon

                              ","params":[{"identifier":"vertices","optional":false,"description":"

                              array of vector or vertice defining the Polygon

                              ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1<%2>"}}],"returns":[{"description":"

                              this instance for objecf chaining

                              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"wd8-SxgOkr_Y4tZMnhGtP","name":"shift","brief":"","examples":[{"caption":"","code":"polygon.shift(10, 10);\n// or\npolygon.shift(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                              Shifts the Polygon to the given position vector.

                              ","params":[{"identifier":"x","description":"

                              x coordinate or a vector point to shift to

                              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"i5YYLJRTiGaV4Zhr7qR-s","name":"sort","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Manually trigger the sort of all the childs in the container

                              ","params":[{"identifier":"recursive","optional":true,"default":"false","description":"

                              recursively sort all containers if true

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"ZNa5Kf0oEOFAYFhr8p6Sv","name":"step","brief":"","scope":"instance","type":"MethodDoc","description":"

                              update the builtin physic simulation by one step (called by the game world update method)

                              ","params":[{"identifier":"dt","optional":false,"description":"

                              the time passed since the last frame update

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"rg2n-REb1Fv125D8UKKeQ","name":"swapChildren","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Swaps the position (z-index) of 2 children

                              ","params":[{"identifier":"child","optional":false,"description":"

                              Child to be added

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}},{"identifier":"child2","optional":false,"description":"

                              Child to be added

                              ","dataType":{"tokens":[{"value":"Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText","kind":"canonical"},{"value":"Renderable","kind":"link"},{"value":"Entity","kind":"link"},{"value":"Sprite","kind":"link"},{"value":"Collectable","kind":"link"},{"value":"Trigger","kind":"link"},{"value":"Draggable","kind":"link"},{"value":"DropTarget","kind":"link"},{"value":"NineSliceSprite","kind":"link"},{"value":"ImageLayer","kind":"link"},{"value":"ColorLayer","kind":"link"},{"value":"Light2d","kind":"link"},{"value":"UIBaseElement","kind":"link"},{"value":"UISpriteElement","kind":"link"},{"value":"UITextButton","kind":"link"},{"value":"Text","kind":"link"},{"value":"BitmapText","kind":"link"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8 | %9 | %10 | %11 | %12 | %13 | %14 | %15 | %16"}}],"returns":[],"extends":[],"implements":[]},{"id":"v8aoOAsoLp1MC6As5lR-E","name":"to2d","brief":"","scope":"instance","type":"MethodDoc","description":"

                              apply a 2d projection to this shapen

                              ","params":[],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"q-yLZXh9hfW2zdyCf4JXy","name":"toIso","brief":"","scope":"instance","type":"MethodDoc","description":"

                              apply an isometric projection to this shape

                              ","params":[],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"HjLYc1je2ak0yWKJ-Dw0v","name":"toPolygon","brief":"","scope":"instance","type":"MethodDoc","description":"

                              Returns a polygon whose edges are the same as this box.

                              ","params":[],"returns":[{"description":"

                              a new Polygon that represents this rectangle.

                              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LYMguiqCAV86T1v0Q518-","name":"transform","brief":"","scope":"instance","see":["Renderable#currentTransform"],"type":"MethodDoc","description":"

                              multiply the renderable currentTransform with the given matrix

                              ","params":[{"identifier":"m","optional":false,"description":"

                              the transformation matrix

                              ","dataType":{"tokens":[{"value":"Matrix2d","kind":"canonical"},{"value":"Matrix2d","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Renderable","kind":"canonical"},{"value":"Renderable","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DwUTVXH12IDciXX2kOPL5","name":"translate","brief":"","examples":[{"caption":"","code":"polygon.translate(10, 10);\n// or\npolygon.translate(myVector2d);"}],"scope":"instance","type":"MethodDoc","description":"

                              translate the Polygon by the specified offset

                              ","params":[{"identifier":"x","description":"

                              x offset or a vector point to translate by

                              ","dataType":{"tokens":[{"value":"number | Vector2d","kind":"canonical"},{"value":"number","kind":"canonical"},{"value":"Vector2d","kind":"link"}],"template":"%1 | %2"}},{"identifier":"y","optional":true,"description":"

                              y offset

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              Reference to this object for method chaining

                              ","dataType":{"tokens":[{"value":"Polygon","kind":"canonical"},{"value":"Polygon","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"LF7cXtfnpdqlPwrxG9U9e","name":"union","brief":"","scope":"instance","type":"MethodDoc","description":"

                              merge this rectangle with another one

                              ","params":[{"identifier":"rect","optional":false,"description":"

                              other rectangle to union with

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"returns":[{"description":"

                              the union(ed) rectangle

                              ","dataType":{"tokens":[{"value":"Rect","kind":"canonical"},{"value":"Rect","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"QAmog5ODSUQU210_F3OpL","name":"update","brief":"","scope":"instance","type":"MethodDoc","description":"

                              update the game world

                              ","params":[{"identifier":"dt","optional":false,"description":"

                              the time passed since the last frame update

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              true if the world is dirty

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"XQu7ieD__hxkPR3DXiQFm","name":"updateBounds","brief":"","scope":"instance","type":"MethodDoc","description":"

                              update the bounding box for this container.

                              ","params":[{"identifier":"absolute","optional":true,"default":"true","description":"

                              update the bounds size and position in (world) absolute coordinates

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[{"description":"

                              this container bounding box Rectangle object

                              ","dataType":{"tokens":[{"value":"Bounds","kind":"canonical"},{"value":"Bounds","kind":"link"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"tqqdWB_TDkQCzfJ8r33or","name":"draw","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                              draw this renderable (automatically called by melonJS)

                              ","params":[{"identifier":"renderer","optional":false,"description":"

                              a renderer instance

                              ","dataType":{"tokens":[{"value":"CanvasRenderer | WebGLRenderer","kind":"canonical"},{"value":"CanvasRenderer","kind":"link"},{"value":"WebGLRenderer","kind":"link"}],"template":"%1 | %2"}},{"identifier":"viewport","optional":true,"description":"

                              the viewport to (re)draw

                              ","dataType":{"tokens":[{"value":"Camera2d","kind":"canonical"},{"value":"Camera2d","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"GGduFAqDvmuYqsI4mAfJS","name":"bodyApplyGravity","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                              Apply gravity to the given body

                              ","params":[{"identifier":"body","optional":false,"dataType":{"tokens":[{"value":"Body","kind":"canonical"},{"value":"Body","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"JuntWETlCS5204t4Kixvl","name":"onAnchorUpdate","brief":"","access":"private","scope":"instance","type":"MethodDoc","description":"

                              called when the anchor point value is changed

                              ","params":[{"identifier":"x","optional":false,"description":"

                              the new X value to be set for the anchor

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              the new Y value to be set for the anchor

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"orrTR5LFPhQaHTX6jfZ6-","name":"AUTO","brief":"","defaultValue":"2","readonly":true,"scope":"static","see":["Application"],"type":"PropertyDoc","description":"

                              constant to auto-select the renderer (Attempt WebGL first, with fallback to Canvas)

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gWhrG8w4H9eNncApFTj8Q","name":"CANVAS","brief":"","defaultValue":"0","readonly":true,"scope":"static","see":["Application"],"type":"PropertyDoc","description":"

                              constant to select the HTML5 Canvas renderer

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"STgZOkgTD56suUWD1_yAI","name":"version","brief":"","defaultValue":"\"__VERSION__\"","readonly":true,"scope":"static","type":"PropertyDoc","description":"

                              current melonJS version

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w4IzXpgKu9RuoGxjNrGqy","name":"WEBGL","brief":"","defaultValue":"1","readonly":true,"scope":"static","see":["Application"],"type":"PropertyDoc","description":"

                              constant to select select the WebGL renderer

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zo4PFeuXbeHhPnK0NFuDy","name":"failureLoadedAssets","brief":"

                              Assets uploaded with an error

                              ","readonly":true,"type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7YMu-c_jPA-jys-6DtpDT","name":"imgList","brief":"

                              where all preloaded content is cached

                              ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FIAFXp0Mkd1k3O2HjgMXg","name":"initialized","brief":"","defaultValue":"false","readonly":true,"type":"PropertyDoc","description":"

                              a flag indicating that melonJS is fully initialized

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ooVTB9u_gQQDwRYrS1eR5","name":"parserInitialized","brief":"

                              keep track if parsers were registered

                              ","defaultValue":"false","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2kCgpBRjAHOPBDmEkwdNB","name":"parsers","brief":"

                              list of parser function for supported format type

                              ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O25_ilEUOVonPlZYBp0GH","name":"skipAutoInit","brief":"","defaultValue":"false","see":["boot"],"type":"PropertyDoc","description":"

                              disable melonJS auto-initialization

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BTO4K0iWNEpCVoPHTJMBW","name":"boot","brief":"","access":"public","see":["skipAutoInit"],"type":"FunctionDoc","description":"

                              initialize the melonJS library.\nthis is automatically called unless me.skipAutoInit is set to true,\nto allow asynchronous ...","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kX69_da1xCrxrw8Nizftm","name":"consoleHeader","brief":"","type":"FunctionDoc","description":"

                              display information

                              ","params":[{"identifier":"app","optional":false,"description":"

                              the game application instance calling this function

                              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"DICbjfGSd79QqZ9hPMqx5","name":"fetchData","brief":"","examples":[{"caption":"","code":"fetchData('https://api.example.com/data', 'json')\n .then(data => {\n // Handle the fetched JSON data\n })\n .catch(error => {\n // Handle the error\n });"}],"type":"FunctionDoc","description":"

                              Fetches data from the specified URL.

                              ","params":[{"identifier":"url","optional":false,"description":"

                              The URL to fetch the data from.

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"responseType","optional":false,"description":"

                              The type of response expected ('json', 'text', 'blob', 'arrayBuffer').

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[{"description":"

                              A promise that resolves with the fetched data or rejects with an error.

                              ","dataType":{"tokens":[{"value":"Promise","kind":"canonical"},{"value":"Promise","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"OigXv-95l_9RpTVoswxh5","name":"hasVideoFormat","brief":"","type":"FunctionDoc","description":"

                              detect if the given video format is supported

                              ","params":[{"identifier":"codec","optional":false,"description":"

                              the video format to check for support

                              ","dataType":{"tokens":[{"value":"\"h264\" | \"h265\" | \"ogg\" | \"mp4\" | \"m4v\" | \"webm\" | \"vp9\" | \"hls\"","kind":"canonical"},{"value":"\"h264\"","kind":"canonical"},{"value":"\"h265\"","kind":"canonical"},{"value":"\"ogg\"","kind":"canonical"},{"value":"\"mp4\"","kind":"canonical"},{"value":"\"m4v\"","kind":"canonical"},{"value":"\"webm\"","kind":"canonical"},{"value":"\"vp9\"","kind":"canonical"},{"value":"\"hls\"","kind":"canonical"}],"template":"%1 | %2 | %3 | %4 | %5 | %6 | %7 | %8"}}],"returns":[{"description":"

                              return true if the given video format is supported

                              ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"RMBfsgun5Pz6akFWElvkm","name":"pow","brief":"","type":"FunctionDoc","description":"

                              Calculates the power of a number.

                              ","params":[{"identifier":"n","optional":false,"description":"

                              The number to be raised to the power of 2.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[{"description":"

                              The result of raising the number to the power of 2.

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"zfY0snVtF7Jeo6XwfYVOg","name":"warning","brief":"","type":"FunctionDoc","description":"

                              display a deprecation warning in the console

                              ","params":[{"identifier":"deprecated","optional":false,"description":"

                              deprecated class,function or property name

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"replacement","optional":false,"description":"

                              the replacement class, function, or property name

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"version","optional":false,"description":"

                              the version since when the lass,function or property is deprecated

                              ","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}}],"returns":[],"extends":[],"implements":[]},{"id":"2WCdkS7eDMfAU89ui6r-o","name":"onresize","brief":"","access":"private","type":"FunctionDoc","description":"

                              callback for window resize event

                              ","params":[{"identifier":"game","optional":false,"description":"

                              the game application instance triggering the resize

                              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]},{"id":"mGczkE87P0EJN14SYJESF","name":"scale","brief":"","access":"private","type":"FunctionDoc","description":"

                              scale the "displayed" canvas by the given scalar.\nthis will modify the size of canvas element directly.\nOnly use...","params":[{"identifier":"game","optional":false,"description":"

                              the game application instance triggering the resize

                              ","dataType":{"tokens":[{"value":"Application","kind":"canonical"},{"value":"Application","kind":"link"}],"template":"%1"}},{"identifier":"x","optional":false,"description":"

                              x scaling multiplier

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}},{"identifier":"y","optional":false,"description":"

                              y scaling multiplier

                              ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"returns":[],"extends":[],"implements":[]}]},"registry":{"pkg-AGYHL16yRJKAWG74gh19f":{"uri":"/melonJS/docs/melonjs.html"},"3rVjpWJ_Sq1weWPeNfVH2":{"uri":"/melonJS/docs/melonjs/audio.html"},"wDzkuJHrjXIfBVe-61E5t":{"uri":"/melonJS/docs/melonjs/audio.html#stopOnAudioError"},"yYAicJx1VfOJqJgzfmi8E":{"uri":"/melonJS/docs/melonjs/audio/disable.html"},"Av6XXqdDgX7Fgelpq1WGN":{"uri":"/melonJS/docs/melonjs/audio/enable.html"},"-ZUT0-ai3N-lWXM9is4f9":{"uri":"/melonJS/docs/melonjs/audio/fade.html"},"lXHp-xhE5UlZUYU4J2g40":{"uri":"/melonJS/docs/melonjs/audio/getCurrentTrack.html"},"tmdbgzxhyBo2EnCOsN9V1":{"uri":"/melonJS/docs/melonjs/audio/getVolume.html"},"ZhAN8rfzwK0QngDzHCseW":{"uri":"/melonJS/docs/melonjs/audio/hasAudio.html"},"kWDFH91Xa029x2N19fszS":{"uri":"/melonJS/docs/melonjs/audio/hasFormat.html"},"5RAeypHH50uQ19FAnKUx-":{"uri":"/melonJS/docs/melonjs/audio/init.html"},"MQqhUQ0AWtqPyHL3IN1vb":{"uri":"/melonJS/docs/melonjs/audio/load.html"},"w_bycQ2ujEIhmYLTnWyEC":{"uri":"/melonJS/docs/melonjs/audio/mute.html"},"REu1QtXF1oRh7DpPVLBGZ":{"uri":"/melonJS/docs/melonjs/audio/muteAll.html"},"pteDXhC8EpBqqa8NKNdIX":{"uri":"/melonJS/docs/melonjs/audio/muted.html"},"ahHLmNkpNnNlgLTQ8HflR":{"uri":"/melonJS/docs/melonjs/audio/pause.html"},"fLFi0vcSD9u6L9bLQhMhw":{"uri":"/melonJS/docs/melonjs/audio/pauseTrack.html"},"5sAFEhVxRY0YBctNwe-ks":{"uri":"/melonJS/docs/melonjs/audio/play.html"},"BKtFyeYL6UWFfvwkqZE_L":{"uri":"/melonJS/docs/melonjs/audio/playTrack.html"},"LFh9cA5yVQZff-Rs-ryav":{"uri":"/melonJS/docs/melonjs/audio/rate.html"},"LKBgHP6_9oqrD_jra3Icd":{"uri":"/melonJS/docs/melonjs/audio/resume.html"},"u2lwbFpV0DfjXJxg6d8E4":{"uri":"/melonJS/docs/melonjs/audio/resumeTrack.html"},"tzIVGYey_OfaKsHkxnRKR":{"uri":"/melonJS/docs/melonjs/audio/seek.html"},"k2Fy8jXNhpvtSr7xDvczS":{"uri":"/melonJS/docs/melonjs/audio/setVolume.html"},"I5RK6msP3_NUp4saJ5j3y":{"uri":"/melonJS/docs/melonjs/audio/stop.html"},"g8O18J2oeeQMQb6BVVK6m":{"uri":"/melonJS/docs/melonjs/audio/stopTrack.html"},"cUqsAP-9YGn6KpTBJD--5":{"uri":"/melonJS/docs/melonjs/audio/unload.html"},"WBdCz5M_Egn1oCHoyV5aP":{"uri":"/melonJS/docs/melonjs/audio/unloadAll.html"},"10F4_72HRB5MGHRp6D3hL":{"uri":"/melonJS/docs/melonjs/audio/unmute.html"},"1PGNIQ2-lBtFMrLxE8mq3":{"uri":"/melonJS/docs/melonjs/audio/unmuteAll.html"},"h7joUvFvZw14QehmdhUgv":{"uri":"/melonJS/docs/melonjs/collision.html"},"kDeeYUDxaUX5yAQZLZkaF":{"uri":"/melonJS/docs/melonjs/collision/types.html"},"aj_0yG2tnmVIRGBT2BGYm":{"uri":"/melonJS/docs/melonjs/collision/types.html#ACTION_OBJECT"},"4DQT7dp7Xq5y7DHKBuOmL":{"uri":"/melonJS/docs/melonjs/collision/types.html#ALL_OBJECT"},"lhEpg-g3WiTdETYNp9Kpi":{"uri":"/melonJS/docs/melonjs/collision/types.html#COLLECTABLE_OBJECT"},"E67adG3-D5iG9IGfvki3S":{"uri":"/melonJS/docs/melonjs/collision/types.html#ENEMY_OBJECT"},"lJqdAnvKWWQXlasfti7Wk":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT"},"RMWu5ORAqsqRnpJFRuUA7":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT_"},"rtcSjBV8PDDYZlEFujEca":{"uri":"/melonJS/docs/melonjs/collision/types.html#NPC_OBJECT"},"agey5JSl_OC1bK46T_11H":{"uri":"/melonJS/docs/melonjs/collision/types.html#PLAYER_OBJECT"},"coyC4vC7_bK-MwS3tGgzU":{"uri":"/melonJS/docs/melonjs/collision/types.html#PROJECTILE_OBJECT"},"3UT49aF21KP4OAk6MmX7P":{"uri":"/melonJS/docs/melonjs/collision/types.html#USER"},"FTYQA93ekLaYI7M1cCTg7":{"uri":"/melonJS/docs/melonjs/collision/types.html#WORLD_SHAPE"},"Jf0WeHp68vwfwX46OYtr2":{"uri":"/melonJS/docs/melonjs/collision.html#maxChildren"},"btWNwUw2BLR4G5gnylaCk":{"uri":"/melonJS/docs/melonjs/collision.html#maxDepth"},"iq7VKsS5EhCK_GDHaBVtX":{"uri":"/melonJS/docs/melonjs/collision.html#rayCast"},"zFNAy6zuoTJnuCx96t8I7":{"uri":"/melonJS/docs/melonjs/device.html"},"-m5RBvriyRlR8oKWdTl8Y":{"uri":"/melonJS/docs/melonjs/device/platform.html"},"tmyBVGJUeMrfcTBY4Jbgx":{"uri":"/melonJS/docs/melonjs/device/platform.html#android"},"STlmZDvL20NREXrACpQae":{"uri":"/melonJS/docs/melonjs/device/platform.html#android2"},"uZuro0rWtrN8WodwDDH8B":{"uri":"/melonJS/docs/melonjs/device/platform.html#BlackBerry"},"N86RkjaHbq_QvvjN5-TAR":{"uri":"/melonJS/docs/melonjs/device/platform.html#chromeOS"},"z-_FfkuYQYw7KZd2J5q-U":{"uri":"/melonJS/docs/melonjs/device/platform.html#ejecta"},"WMez-Y6dXkl8OQOIQSZEC":{"uri":"/melonJS/docs/melonjs/device/platform.html#iOS"},"rv5O2zPzNMHryj76c0UFz":{"uri":"/melonJS/docs/melonjs/device/platform.html#isMobile"},"BCFbahWDlqYSdBs9ZjheY":{"uri":"/melonJS/docs/melonjs/device/platform.html#isWeixin"},"FVhBQZEa4xxBVtv2NPY0T":{"uri":"/melonJS/docs/melonjs/device/platform.html#Kindle"},"FhYbLmczNjRsCkpTcQlnS":{"uri":"/melonJS/docs/melonjs/device/platform.html#linux"},"Xyy3uCldtBmE3F89RWagu":{"uri":"/melonJS/docs/melonjs/device/platform.html#nodeJS"},"JjysHQBm6dK7XE4Aw4VQ7":{"uri":"/melonJS/docs/melonjs/device/platform.html#ua"},"zJehX6_n8_KPLOMqwVbWq":{"uri":"/melonJS/docs/melonjs/device/platform.html#wp"},"64qLFKtmiVLZdMfQz_Yt5":{"uri":"/melonJS/docs/melonjs/device.html#accelerationX"},"DzRXrqmbhP8KRVFgFwGfz":{"uri":"/melonJS/docs/melonjs/device.html#accelerationY"},"XU11pCkmatBD-DucgJiCL":{"uri":"/melonJS/docs/melonjs/device.html#accelerationZ"},"X1_ysyoHrHt9cKk8UmhqH":{"uri":"/melonJS/docs/melonjs/device.html#alpha"},"htf75yPcXmhEdEFOo2IKQ":{"uri":"/melonJS/docs/melonjs/device.html#autoFocus"},"FzQuLSJz-4Avu6sU5REyl":{"uri":"/melonJS/docs/melonjs/device.html#beta"},"1DlaGx1b71Tx-b3Xt0iN8":{"uri":"/melonJS/docs/melonjs/device.html#devicePixelRatio"},"3fStGC03Lm7bQ_y1VwLnT":{"uri":"/melonJS/docs/melonjs/device.html#gamma"},"L7imp7wFOe9eH-rJFNA0F":{"uri":"/melonJS/docs/melonjs/device.html#hasAccelerometer"},"6NJz5Nq510DcxLiTXjTYO":{"uri":"/melonJS/docs/melonjs/device.html#hasDeviceOrientation"},"zDt8KmpfzBFDmJvQHcMOO":{"uri":"/melonJS/docs/melonjs/device.html#hasFullscreenSupport"},"7jAYsK3oo7Xo73mlyDKmr":{"uri":"/melonJS/docs/melonjs/device.html#hasHTML5Audio"},"EnBrPpg8SruM3bGnKEcak":{"uri":"/melonJS/docs/melonjs/device.html#hasPointerLockSupport"},"fwWaNKI0LMelxqGAPOCW5":{"uri":"/melonJS/docs/melonjs/device.html#hasVideo"},"Bt4DEEe3TTRhavBRXzCzt":{"uri":"/melonJS/docs/melonjs/device.html#hasWebAudio"},"Xx9fmu7fY18n6_zw6q4jB":{"uri":"/melonJS/docs/melonjs/device.html#isMobile"},"ZfuvByXAIbnFCVDRGj0nO":{"uri":"/melonJS/docs/melonjs/device.html#language"},"jJhZnY4zT9QFPSa-qzbD2":{"uri":"/melonJS/docs/melonjs/device.html#localStorage"},"6xAWG2-kKwM-VpGc05Lnz":{"uri":"/melonJS/docs/melonjs/device.html#maxTouchPoints"},"hpzZy2A-YNblJ48cQRktI":{"uri":"/melonJS/docs/melonjs/device.html#nativeBase64"},"DSTN15Et-kAEb_L86vbs_":{"uri":"/melonJS/docs/melonjs/device.html#offscreenCanvas"},"nZaQs5JLKyje-NRaSXxqN":{"uri":"/melonJS/docs/melonjs/device.html#pauseOnBlur"},"tlUEnoYZNxr_10pgya2Sx":{"uri":"/melonJS/docs/melonjs/device.html#platform"},"SL45KsOfy70ZWh_9BgCd_":{"uri":"/melonJS/docs/melonjs/device.html#pointerEvent"},"poIWwcewTTYsJ8TIrJi8i":{"uri":"/melonJS/docs/melonjs/device.html#resumeOnFocus"},"D6FJeOKbXEaNvWhJ__5_M":{"uri":"/melonJS/docs/melonjs/device.html#screenOrientation"},"rCdOggWSVYuUP-px620jn":{"uri":"/melonJS/docs/melonjs/device.html#sound"},"ofR_QllE2wuOKg7auHa3k":{"uri":"/melonJS/docs/melonjs/device.html#stopOnBlur"},"oOq6tjPoMhL1ENX00q2nf":{"uri":"/melonJS/docs/melonjs/device.html#touch"},"FVzseZt0yPtVw19OjKkLh":{"uri":"/melonJS/docs/melonjs/device.html#touchEvent"},"4lACcLsQVHHXASovd-uJw":{"uri":"/melonJS/docs/melonjs/device.html#wheel"},"WC5u4EoVAIkMS8Gw3zc_u":{"uri":"/melonJS/docs/melonjs/device/enableSwipe.html"},"1Ukk-Ee9YzLAStZG7bPqe":{"uri":"/melonJS/docs/melonjs/device/exitFullscreen.html"},"YCkdfSQZEU2_XNQYZPGH6":{"uri":"/melonJS/docs/melonjs/device/focus.html"},"eNd8NlIktsZXJf4uY5GKj":{"uri":"/melonJS/docs/melonjs/device/getElement.html"},"jaaS5l2BVsvNyrtSSYIgu":{"uri":"/melonJS/docs/melonjs/device/getElementBounds.html"},"e_87CEtteHnUBHdcgrrmL":{"uri":"/melonJS/docs/melonjs/device/getParentBounds.html"},"b032a0IZqOYC2ajU2nExQ":{"uri":"/melonJS/docs/melonjs/device/getParentElement.html"},"9XiM7jQqD1D1WKlz_D3kl":{"uri":"/melonJS/docs/melonjs/device/getScreenOrientation.html"},"1WHGZy1o9qlJyjwymXuXp":{"uri":"/melonJS/docs/melonjs/device/getStorage.html"},"-vHLvuWo5mPzLNQNJq3r7":{"uri":"/melonJS/docs/melonjs/device/isFullscreen.html"},"4CVC0sScDupyAt4lawsyB":{"uri":"/melonJS/docs/melonjs/device/isLandscape.html"},"AY5LmE13rc5TgSzbfqx-l":{"uri":"/melonJS/docs/melonjs/device/isPortrait.html"},"W4t7V4o65G8InWGDvwVDy":{"uri":"/melonJS/docs/melonjs/device/isWebGLSupported.html"},"EYVEtubERw4Zo9h7wide_":{"uri":"/melonJS/docs/melonjs/device/lockOrientation.html"},"d9x22tBnVRCXOptduA8uM":{"uri":"/melonJS/docs/melonjs/device/onReady.html"},"FSIeUKdYPYe8kGR5_YEn0":{"uri":"/melonJS/docs/melonjs/device/requestFullscreen.html"},"PCLQey1StV_AfLtY51bXr":{"uri":"/melonJS/docs/melonjs/device/unlockOrientation.html"},"GyrflHGdRG8YTuCtS_QAF":{"uri":"/melonJS/docs/melonjs/device/unwatchAccelerometer.html"},"5ue3NZ8l-Du8LlYLGwj-y":{"uri":"/melonJS/docs/melonjs/device/unwatchDeviceOrientation.html"},"7kWMYro_6FZ7pHn4QZ07D":{"uri":"/melonJS/docs/melonjs/device/vibrate.html"},"hUt6h6NxH9OJrZv25JqPT":{"uri":"/melonJS/docs/melonjs/device/watchAccelerometer.html"},"upCBH7XyeiTkPISx-11o-":{"uri":"/melonJS/docs/melonjs/device/watchDeviceOrientation.html"},"Qqz8vJcIMHzazQqwbCT-k":{"uri":"/melonJS/docs/melonjs/event.html"},"oICCM70hPea-MT20YqORm":{"uri":"/melonJS/docs/melonjs/event.html#BLUR"},"tgto3YhgZDU4PaJb-HmNe":{"uri":"/melonJS/docs/melonjs/event.html#BOOT"},"Ko8ocjfx5INRDYNSwYXrs":{"uri":"/melonJS/docs/melonjs/event.html#CANVAS_ONRESIZE"},"sAtpBjqfvlcy18A9LmTOQ":{"uri":"/melonJS/docs/melonjs/event.html#DOM_READY"},"g6RlE_3h2Ib9P_44fOKam":{"uri":"/melonJS/docs/melonjs/event.html#DRAGEND"},"lndGxiSKdPZnedMMwnJRf":{"uri":"/melonJS/docs/melonjs/event.html#DRAGSTART"},"VfSqHMzQzLaHhnKo2TjbF":{"uri":"/melonJS/docs/melonjs/event.html#FOCUS"},"wcS5i_dR0NCdIJzXhGg0l":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_DRAW"},"9yhKA86TX9RfhzBoCYwzP":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_UPDATE"},"4pPoL1kwVWxVQjiejxGfv":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_DRAW"},"O7jsWKOUh1coHLm4JMiVK":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_UPDATE"},"Y9GoMNKMm-YKxU3DBO88L":{"uri":"/melonJS/docs/melonjs/event.html#GAME_INIT"},"A1DbtCbkflJyXA4WGbKX-":{"uri":"/melonJS/docs/melonjs/event.html#GAME_RESET"},"6-NDWPkPTGz--9_uNJEso":{"uri":"/melonJS/docs/melonjs/event.html#GAME_UPDATE"},"dPSM_lvhqR-F8UDHAWgpF":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_CONNECTED"},"o4xnHEL3_WLDJ7sfvEt0-":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_DISCONNECTED"},"CEniZ2r16P6xwmBqKAABl":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_UPDATE"},"QnTbA0uTlpVsW6IaKrVoV":{"uri":"/melonJS/docs/melonjs/event.html#KEYDOWN"},"b44LIf-f4X3d2QASXhDVj":{"uri":"/melonJS/docs/melonjs/event.html#KEYUP"},"5SGXyl1Fp9M5ZEHvlkxMo":{"uri":"/melonJS/docs/melonjs/event.html#LEVEL_LOADED"},"R8FWn91TKqNn6lybwkN_l":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_COMPLETE"},"e9G1Jp0aPwp_Q60dCP_B_":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_ERROR"},"OJxw6I9wnoa2wWlThNlHj":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_PROGRESS"},"5zJ6COPJq3t_5hcQvfPwL":{"uri":"/melonJS/docs/melonjs/event.html#ONCONTEXT_RESTORED"},"P3yHyi1w9-mUN64os2IS8":{"uri":"/melonJS/docs/melonjs/event.html#POINTERLOCKCHANGE"},"9w8ZFyRY9qA0wXKNwax05":{"uri":"/melonJS/docs/melonjs/event.html#POINTERMOVE"},"huUyOp3QfRrZQon4d6Z3x":{"uri":"/melonJS/docs/melonjs/event.html#STAGE_RESET"},"j1ehhkCfvlMAh6n6PwD1k":{"uri":"/melonJS/docs/melonjs/event.html#STATE_CHANGE"},"POhglDT9Zcz0kOXGBmMmI":{"uri":"/melonJS/docs/melonjs/event.html#STATE_PAUSE"},"gq8Xe_hKh12XouDresKy7":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESTART"},"D7Gg8xza42byEJAi2ScHf":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESUME"},"o7mqU_Ov12dtGeupQKUE0":{"uri":"/melonJS/docs/melonjs/event.html#STATE_STOP"},"QJFRf7k5OS9UGxkmnNA_f":{"uri":"/melonJS/docs/melonjs/event.html#TICK"},"dvULecKct18zBVx9cqUl_":{"uri":"/melonJS/docs/melonjs/event.html#VIDEO_INIT"},"mVyDhx3vnxOGidcBZjXqH":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONCHANGE"},"_Jd7aBaeFjHUxNOYOC7gN":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONRESIZE"},"oi1eTMd-mcMaXFuU2xZTY":{"uri":"/melonJS/docs/melonjs/event.html#WEBGL_ONCONTEXT_LOST"},"whzufGvPNt9877K3wlmYc":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONORIENTATION_CHANGE"},"MOWsiS872J80XIDzD0tT0":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONRESIZE"},"O7YEfx3Wp_xcVbL-xLN0G":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONSCROLL"},"4IFj65LT5A72n1ItWsVNN":{"uri":"/melonJS/docs/melonjs/event.html#WORLD_STEP"},"2yatxn6AhgZMDHSbvauQK":{"uri":"/melonJS/docs/melonjs/event/emit.html"},"PCIp8-4PEzNFwsOCylD-n":{"uri":"/melonJS/docs/melonjs/event/off.html"},"pq07xXqUVH3hoMA8JJCaJ":{"uri":"/melonJS/docs/melonjs/event/on.html"},"P-bQ3XZ92ffhx4x8zeIj3":{"uri":"/melonJS/docs/melonjs/event/once.html"},"VAoZseCOB5Z3vL3eYmPDq":{"uri":"/melonJS/docs/melonjs/game.html"},"B6It2pe7HyOJ1Ka8GpofW":{"uri":"/melonJS/docs/melonjs/input.html"},"QwtdUmapCUF_s0FOjpGyH":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD.html"},"x45j6Ahs3CpX_r5rvdd3A":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/AXES.html"},"cumbHiuy4yZ4io5JT9x-m":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/BUTTONS.html"},"67Hkc-d1upWbUmbo48-6y":{"uri":"/melonJS/docs/melonjs/input/KEY.html"},"jPKbvlQhydbrLVTC2idPH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#A"},"BgS85bxCKnlwOGjeps_8f":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ADD"},"NTCbvk7Uao1HOL2E7LvUi":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ALT"},"rGDImx0882VSRR_aJ2xtl":{"uri":"/melonJS/docs/melonjs/input/KEY.html#B"},"umbFSxOEHzdgBie1WbQr9":{"uri":"/melonJS/docs/melonjs/input/KEY.html#BACK_SLASH"},"F3_rz1QouiHdqVxYBmt1z":{"uri":"/melonJS/docs/melonjs/input/KEY.html#C"},"quCUirlBpgWlIPM_2IEz-":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CAPS_LOCK"},"-2K1uw-vyOR6ELQ9qJ-yH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CLOSE_BRACKET"},"4Hur0tc0ikEr-NK0uWlCo":{"uri":"/melonJS/docs/melonjs/input/KEY.html#COMMA"},"hfQnTd7Azp1i27E6NYnOY":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CTRL"},"-x08Vp7QgTLk6Y2JoybUe":{"uri":"/melonJS/docs/melonjs/input/KEY.html#D"},"8IGoDJuhmQtXjFhOwLgNx":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DECIMAL"},"wW-QJof0fU44v8UlDDpU9":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DELETE"},"AxwlETVfZ-qxJ_nJTAsam":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DIVIDE"},"e3AcuLmyV1QKAQn7nkHSg":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DOWN"},"8GlZtvqWSM4rR9vY075ib":{"uri":"/melonJS/docs/melonjs/input/KEY.html#E"},"dZUuMe10HoSkuz-Y6koOG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#END"},"SNA2xnHJI-XPKt6gywmob":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ENTER"},"RPJ76r6vop_e5Lnrk7mhj":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ESC"},"YPwqQ2pK5sKE08GTpenjW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F"},"whK2dH0my-J1ecjQ5o-3_":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F1"},"yAvtjovwsnEDey97VXcam":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F10"},"ZB4sZfd9aa7yZz_a4-cux":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F11"},"zYoYGZXCJRZ1gkiEO8qQH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F12"},"Fj2_OzeWStDQc1fZVTfsk":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F2"},"35uOx7lqt0LyijxdiSYuW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F3"},"QhGE9uYhvtdFYIImkjNvx":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F4"},"9bLWuQqNGSVlIUZNQDPk2":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F5"},"qJs4EE8t47z6eR2fQEM3i":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F6"},"FPiKjUOPLe75aQv_OAC8z":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F7"},"sZ3PJknfQPXPN8O6-2XA9":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F8"},"nHnESwheARahWqrAJuo1O":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F9"},"bFfyV9gv_DyepMccnT0f5":{"uri":"/melonJS/docs/melonjs/input/KEY.html#FORWAND_SLASH"},"oq8-PNTCwYdzR_M2dVjcU":{"uri":"/melonJS/docs/melonjs/input/KEY.html#G"},"_GWCEQDCzf1ANAcZ4CZZQ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#GRAVE_ACCENT"},"DJaSBo22pPyzq47zOeVpJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#H"},"FVMmpiViws6sfFTofvQVq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#HOME"},"MmBsilzSqHMp9fnRz13hW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#I"},"983BXqi7lNoQyyPYdrJbZ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#INSERT"},"r_AIR-nfg-X1ehCjEhqtJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#J"},"EcsXloPCCq8W4DgmYEptG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#K"},"nIPiilzPLDrOysSwuhJf6":{"uri":"/melonJS/docs/melonjs/input/KEY.html#L"},"WnRB9xi5DqurtzZjB211d":{"uri":"/melonJS/docs/melonjs/input/KEY.html#LEFT"},"bA9u2I3g280y70_m47TME":{"uri":"/melonJS/docs/melonjs/input/KEY.html#M"},"nEOKb9TLwWpVkq_fzHATT":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MINUS"},"9BXG4HKOXlVG9FPHR5ZuK":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MULTIPLY"},"R_1V-BVqAjzN7TJqSaKkp":{"uri":"/melonJS/docs/melonjs/input/KEY.html#N"},"wsk-hJjFUs7OaOA6yQtca":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM_LOCK"},"MLlMFklaH42sWSljGsm3L":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM0"},"ZYcB0bfr30mjfMF_CgHfR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM1"},"smrf2MFkSllkwyTO4kHRG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM2"},"YZWqgx6GoYteS_HsjW1FC":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM3"},"zFIHvWdfVAP2uIeBYPdPY":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM4"},"ueTYHBYyVaxjEXrTVNxbN":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM5"},"gb2YK83YFtFLL5UxB9WDV":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM6"},"bCJUorIwlvx0zNDdR1pZ4":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM7"},"SRuwKRI9veYjy4RCunrKO":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM8"},"qxvyB-znD6BHmGTOeyyPs":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM9"},"iuijhYfQkh_rCoUIqBgQw":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD0"},"jcl6sLpqPB5WK8nZbCfMu":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD1"},"eJXq3nKhRCDNukRMIuNTK":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD2"},"dW2BrL6A8yqPTGB6f-rNv":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD3"},"IVmCy2vWX1aLp1IRCwIhp":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD4"},"yURQ4CI_hxyOtBTUAhh-w":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD5"},"r45l9FehaIQUC7DCTTsPH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD6"},"aSNN8Rpy4E5msEZLFFcxm":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD7"},"6Wuf1K1F-fZCbmIrsZ387":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD8"},"plDxTvDWYRNcfRQSrJSjL":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD9"},"jjxTmM8GXwxyIBGX4Rfi8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#O"},"4A_oJ8ItnpeWt-kbl_0aL":{"uri":"/melonJS/docs/melonjs/input/KEY.html#OPEN_BRACKET"},"P4iOLiD0r3FBfoH-UNv4T":{"uri":"/melonJS/docs/melonjs/input/KEY.html#P"},"zwq2BZGd7fllDafcVLUmh":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_DOWN"},"DPfFzY_sbnqiKiw78NFYG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_UP"},"fzJM1elTjZiKTzX1rdC0q":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAUSE"},"mKvqiGjcBpXaoBbGHnfag":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PERIOD"},"FKjS5t6tEkLUDEognAbC8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PLUS"},"5IqbM-6aZPTu4Ro6KOMkc":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PRINT_SCREEN"},"Fbpdl-SOp9dM9JOq1_wjW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Q"},"XyL3Mhftjog294XBWMdBn":{"uri":"/melonJS/docs/melonjs/input/KEY.html#R"},"Eh1AXWmGXXjbwAK8whB-M":{"uri":"/melonJS/docs/melonjs/input/KEY.html#RIGHT"},"DGWr21IJhENqHQMslj9Qt":{"uri":"/melonJS/docs/melonjs/input/KEY.html#S"},"C2jgQY_WwdHAOgWkGslc-":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SCROLL_LOCK"},"jqEmoxsP5YZ8FjnJCXAVP":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SEMICOLON"},"GDt5JNpaEdPjdMtsLB9zW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SHIFT"},"cQUHqBh6NmBTwsDcAsUNb":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SINGLE_QUOTE"},"LsMq-kXO3bOqZFP7FXIG_":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SPACE"},"RB0vWzvOcz3QiV1SYjanI":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SUBSTRACT"},"-nQPsevNb7Rl-HeICt3SM":{"uri":"/melonJS/docs/melonjs/input/KEY.html#T"},"xFojIKIIog92_f2msDYGD":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TAB"},"TnPGYJfsKV01RC8ypGujj":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TILDE"},"TezgycoiMrCA3fCJbN5_3":{"uri":"/melonJS/docs/melonjs/input/KEY.html#U"},"NZh7Kculf2ECDxZas2O-Y":{"uri":"/melonJS/docs/melonjs/input/KEY.html#UP"},"vVvY-q2WBKp96dFYpefgs":{"uri":"/melonJS/docs/melonjs/input/KEY.html#V"},"QLMbhIHkTKW9vEPgObe2R":{"uri":"/melonJS/docs/melonjs/input/KEY.html#W"},"AQWi-oXZYF4aknuTov5Dp":{"uri":"/melonJS/docs/melonjs/input/KEY.html#WINDOW_KEY"},"QchLnYIJQeEcCVnxFnkKw":{"uri":"/melonJS/docs/melonjs/input/KEY.html#X"},"GDCPEsBmXAbQMWeB-SNWa":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Y"},"XDIF1BN5OVMMPsHESoWrP":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Z"},"xhMbGxLep_wmJx-BozrdF":{"uri":"/melonJS/docs/melonjs/input.html#keyBoardEventTarget"},"hGLJHPVH6sO3bMS93Q3A4":{"uri":"/melonJS/docs/melonjs/input.html#locked"},"bxGYhr0IjKKNiVuqzVkTj":{"uri":"/melonJS/docs/melonjs/input.html#pointer"},"tYHHewh_idZAeBHR2YrIn":{"uri":"/melonJS/docs/melonjs/input.html#pointerEventTarget"},"dncmkYGJbSV7wrIOje8xc":{"uri":"/melonJS/docs/melonjs/input.html#preventDefault"},"KJ0iQan0PFOcGWdZcaB1d":{"uri":"/melonJS/docs/melonjs/input.html#setGamepadMapping"},"JA98B6XsfMthIAscCaXNb":{"uri":"/melonJS/docs/melonjs/input.html#throttlingInterval"},"Eo2YcASA-JmL3WoQzCueU":{"uri":"/melonJS/docs/melonjs/input/bindGamepad.html"},"2zYen0lpx-qZq3p6i71EO":{"uri":"/melonJS/docs/melonjs/input/bindKey.html"},"QNVvejopwDyOq5v7ysEC_":{"uri":"/melonJS/docs/melonjs/input/bindPointer.html"},"Z7a97ojr-YwEp53_2fLln":{"uri":"/melonJS/docs/melonjs/input/exitPointerLock.html"},"60Hc8GNn_LgEhBKbHCXIK":{"uri":"/melonJS/docs/melonjs/input/getBindingKey.html"},"WbOFT-VTDh5WEuT7aW02N":{"uri":"/melonJS/docs/melonjs/input/globalToLocal.html"},"29GcrFHSIZOer8qMAq2iu":{"uri":"/melonJS/docs/melonjs/input/hasActiveEvents.html"},"osRmt_e-FL4CxfVTrPZrR":{"uri":"/melonJS/docs/melonjs/input/hasRegisteredEvents.html"},"bFivuFZAJZNZsruksdUt8":{"uri":"/melonJS/docs/melonjs/input/isKeyPressed.html"},"nfRL8RkpG-xfTa1BN70Ei":{"uri":"/melonJS/docs/melonjs/input/keyStatus.html"},"QRzBfPzD0CSQ-by0fgosF":{"uri":"/melonJS/docs/melonjs/input/registerPointerEvent.html"},"jzP8ECgAXQjIPQ5QttBGp":{"uri":"/melonJS/docs/melonjs/input/releaseAllPointerEvents.html"},"jEie5hWBr8GPlfPoXrJB6":{"uri":"/melonJS/docs/melonjs/input/releasePointerEvent.html"},"MO_3QW--pjv1HaSoIgWBF":{"uri":"/melonJS/docs/melonjs/input/requestPointerLock.html"},"hrq0frlQA2g-qTS-idKV9":{"uri":"/melonJS/docs/melonjs/input/setGamepadDeadzone.html"},"XZdrWr1JZadT7m2c-poqS":{"uri":"/melonJS/docs/melonjs/input/setTouchAction.html"},"m3Spg7992XZaG-q4HuZO5":{"uri":"/melonJS/docs/melonjs/input/triggerKeyEvent.html"},"5EZZnB0I1u-ELbYd44Aw5":{"uri":"/melonJS/docs/melonjs/input/unbindGamepad.html"},"jTMKXsGKHcFDWjzj62Rm3":{"uri":"/melonJS/docs/melonjs/input/unbindKey.html"},"XyA1vOu8u3ACYHcBIq4B2":{"uri":"/melonJS/docs/melonjs/input/unbindPointer.html"},"CFPEqSvcsf7ajuKJKFS-0":{"uri":"/melonJS/docs/melonjs/input/unlockKey.html"},"JX7SOlW8o9sGv4WzHeFtz":{"uri":"/melonJS/docs/melonjs/level.html"},"EGvfijqr8mP9nzTJ8p9ka":{"uri":"/melonJS/docs/melonjs/level.html#add"},"PIx-KKP5lqIkCTuMrMcvZ":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevel"},"yeEK-JzAh-5UFDx9pi88r":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevelId"},"L43v45XEAPPtkvTBX5pnU":{"uri":"/melonJS/docs/melonjs/level.html#levelCount"},"MwMzTkRaxLsOb8ujqGPKF":{"uri":"/melonJS/docs/melonjs/level.html#load"},"TXmPypqqRzmgZevdxlqp1":{"uri":"/melonJS/docs/melonjs/level.html#next"},"T-B8zd5GaJO31iUxlhNWD":{"uri":"/melonJS/docs/melonjs/level.html#previous"},"0_Z5OcpL5oerf3jpgKYYM":{"uri":"/melonJS/docs/melonjs/level.html#reload"},"mSJBudsyxu5WJNnBllvN-":{"uri":"/melonJS/docs/melonjs/loader.html"},"wsmctonOblWSFBt2dDG9U":{"uri":"/melonJS/docs/melonjs/loader/Asset.html"},"kQWmAlXWcZULEsbBLp6DH":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#autoplay"},"kTeYIdEvN6fX9Y3JMFWmZ":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#data"},"j6OokTcLrJwdOfilrtftU":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#loop"},"Th7l3_zn15A1K_lThqe5Q":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#name"},"FtsyCr-CAk33vZ9--A_5_":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#src"},"9qjp_Ily5gmu5sMGxAS3K":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#stream"},"sRTL9qC34mCUfBnRghQit":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#type"},"3ZBuUiQYvWvuSnjAtPfFK":{"uri":"/melonJS/docs/melonjs/loader.html#crossOrigin"},"HKpePcKDb0lsGn_SAj_3M":{"uri":"/melonJS/docs/melonjs/loader.html#onError"},"eiemgahUWnzNxXulMYFC9":{"uri":"/melonJS/docs/melonjs/loader.html#onload"},"t7_XHd1dztRXv6II_cKwv":{"uri":"/melonJS/docs/melonjs/loader.html#onProgress"},"oNd2lSSqWJIaPbajr5AQO":{"uri":"/melonJS/docs/melonjs/loader.html#withCredentials"},"nVaAG1rtD-en_TQGFLYs2":{"uri":"/melonJS/docs/melonjs/loader/getBinary.html"},"hJYdrZWIQrSqQX7bBZ0ZM":{"uri":"/melonJS/docs/melonjs/loader/getImage.html"},"XEQPsYJf8YgK_uYWzjwAq":{"uri":"/melonJS/docs/melonjs/loader/getJSON.html"},"ysoP-zRG8ZgL_DYONmmeQ":{"uri":"/melonJS/docs/melonjs/loader/getTMX.html"},"MER43SflFG6eFBXFrMDJy":{"uri":"/melonJS/docs/melonjs/loader/getVideo.html"},"5eTNuhnic0Ub70lpI28ba":{"uri":"/melonJS/docs/melonjs/loader/load.html"},"oKHsGU9yCDtlPdkND2o95":{"uri":"/melonJS/docs/melonjs/loader/preload.html"},"Ncn-Hy82nmMG7UQ-a40qT":{"uri":"/melonJS/docs/melonjs/loader/reload.html"},"C9hmWJC04UACREmc3Ew-N":{"uri":"/melonJS/docs/melonjs/loader/setBaseURL.html"},"QrJ5oguSw7j_v6O0-XStr":{"uri":"/melonJS/docs/melonjs/loader/setParser.html"},"WVXzp7HXYnxpRgezxp3Q3":{"uri":"/melonJS/docs/melonjs/loader/unload.html"},"dv-YF0ZE81av4LFcQ40uc":{"uri":"/melonJS/docs/melonjs/loader/unloadAll.html"},"iVyvZOYs6ZdWlnVjSqgBj":{"uri":"/melonJS/docs/melonjs/Math.html"},"gg5JssEt9dzuCVYPNdzm6":{"uri":"/melonJS/docs/melonjs/Math.html#DEG_TO_RAD"},"tgIduMmDH64Df0Ou7np1_":{"uri":"/melonJS/docs/melonjs/Math.html#EPSILON"},"NkYc75bEen-lgygoJys80":{"uri":"/melonJS/docs/melonjs/Math.html#ETA"},"ZGmG-bkISr40Sd28AdBns":{"uri":"/melonJS/docs/melonjs/Math.html#RAD_TO_DEG"},"9RveBxPFdhkiDqR6Sw_LL":{"uri":"/melonJS/docs/melonjs/Math.html#TAU"},"dasupJCEBVrf4D-wxS-kf":{"uri":"/melonJS/docs/melonjs/Math/clamp.html"},"csEZmtoF1U8ZtuB_kyWY2":{"uri":"/melonJS/docs/melonjs/Math/degToRad.html"},"yjnXB5hTItOFQyIMEbs0e":{"uri":"/melonJS/docs/melonjs/Math/isPowerOfTwo.html"},"f36p4f84fD7ey9vilNbdy":{"uri":"/melonJS/docs/melonjs/Math/nextPowerOfTwo.html"},"Pgj2pb3088WwcetjZXpLs":{"uri":"/melonJS/docs/melonjs/Math/radToDeg.html"},"vwzSTswk2ForCiZ0DTJa0":{"uri":"/melonJS/docs/melonjs/Math/random.html"},"nWmkZ0FxspApHwp39IYEt":{"uri":"/melonJS/docs/melonjs/Math/randomFloat.html"},"pcVcY6Y-9TTAcw8MtJPJJ":{"uri":"/melonJS/docs/melonjs/Math/round.html"},"n2b46SuF6QaLerjP_3ITN":{"uri":"/melonJS/docs/melonjs/Math/toBeCloseTo.html"},"ME0GlX5x8qjce944IQvII":{"uri":"/melonJS/docs/melonjs/Math/weightedRandom.html"},"z7IDzCDybUYKd5qrXrN9U":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html"},"lfyr7RgBP6OW8YLd8y_LY":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angle"},"SVBS1-muvcA_otibk1Rw-":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angleVariation"},"HdmjYuI0fTQndiJlE2AqW":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#blendMode"},"uqDc-8_y7oKYSYNuXEk6z":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#duration"},"J_K0N0FgAd1LcQ6LyWgvk":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#floating"},"-g1F_3gVtgU5PdjlyHncB":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#followTrajectory"},"LM6hErH2HZgpA60I4eYOj":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#framesToSkip"},"awmTtUzVznv5yhV--FkRN":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#frequency"},"eEgPhctVTqbcnZHJrwXZ8":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#gravity"},"WjeVfZtWZbcYAZTaLrT94":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#height"},"MlRJZnscPX-1wc-HDvvda":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#image"},"ginbszn8XYA6oDKaLRPoG":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxEndScale"},"qejVPZKYhDYx4ikz8J0AY":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxLife"},"6SWngPMuoN5mVmNLPWpxE":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxParticles"},"gOqVST8Xc7mkd7IZ-oFAy":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxRotation"},"LEn2u0alBxKhEeBfxGoCs":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxStartScale"},"jxgAwTpwl6gTabd4JHwPp":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minEndScale"},"X-zkHfZCBUrGBS4WPcFM8":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minLife"},"jfj9Q-XkSwvvMllfeLmcc":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minRotation"},"RI4U_XFSWAsWHNjdXzhlg":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minStartScale"},"L9Ja2qVZ60tcQXT7Fas9y":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#onlyInViewport"},"yTa0uJPuHAhUMHeoAUQ_B":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speed"},"QLSWiWDI1OJV6zoNjn_Yn":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speedVariation"},"6TJ5MR_wVpy1QJOAIFtTE":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureAdditive"},"ReRbR-4RtdXFs38wJ9T-C":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureSize"},"3QcRxt1kkJqOC7NGeaM2E":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#tint"},"ZMT3sVzFZYu8OAPjqfjas":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#totalParticles"},"c5RMQ2BZymSTBuVh1j_95":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#width"},"QRyWIyyR4lF6R7pqzecp4":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#wind"},"VwW1YYpxcnzxgzvTpHphN":{"uri":"/melonJS/docs/melonjs/plugin.html"},"0utuInQDe9zv3LmC0zXJc":{"uri":"/melonJS/docs/melonjs/plugin/Base.html"},"g3fd1QWOJ779pOVNv9_w1":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#app"},"sRJDM8dLUJfHIjg3t9EzM":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#version"},"xX00JikuPZJh0OsK7Bkhw":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html"},"erxQeYMmCcWuvFN9LgZoc":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#app"},"THx56OOYnA-pyiTgO_bU2":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#version"},"AtiETbjREXqewhtYVmpPw":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#constructor"},"xDClUZAo0IqO1CA1bG82V":{"uri":"/melonJS/docs/melonjs/plugin.html#cache"},"Fyvux8bTPkDXAManmtkl5":{"uri":"/melonJS/docs/melonjs/plugin/get.html"},"SIvLojdLY3hcIN1BPVEHl":{"uri":"/melonJS/docs/melonjs/plugin/patch.html"},"SxAZnN03gngZyT8wxtpVw":{"uri":"/melonJS/docs/melonjs/plugin/register.html"},"QZCfAwKxQUqgluBwX8ScD":{"uri":"/melonJS/docs/melonjs/pool.html"},"VuEIsRiNrK-MKX-9CdtyF":{"uri":"/melonJS/docs/melonjs/save.html"},"7pdxCJNa9YCds_485IJUr":{"uri":"/melonJS/docs/melonjs/save.html#add"},"OMxVbZ35LXpUyctmGCqQ7":{"uri":"/melonJS/docs/melonjs/save.html#remove"},"g-r4ferb59OpNh99Ropru":{"uri":"/melonJS/docs/melonjs/state.html"},"AKAk-R5R7NbBo3DZ8yvrr":{"uri":"/melonJS/docs/melonjs/state.html#CREDITS"},"6QZN-d-n9JGyLAnFSCBm3":{"uri":"/melonJS/docs/melonjs/state.html#DEFAULT"},"fx6Ny0IpdTpC8GS4Dh0EY":{"uri":"/melonJS/docs/melonjs/state.html#GAME_END"},"9WU_bYyuIayci0c127yt7":{"uri":"/melonJS/docs/melonjs/state.html#GAMEOVER"},"-2J4D7TbLUdvHHV-7wxti":{"uri":"/melonJS/docs/melonjs/state.html#LOADING"},"b13MeUNZrZ9WodbDIPFnB":{"uri":"/melonJS/docs/melonjs/state.html#MENU"},"S_gjWnFNO32QcIgpzFFlk":{"uri":"/melonJS/docs/melonjs/state.html#PLAY"},"HzReoGcnMXBfrOuqmdyPH":{"uri":"/melonJS/docs/melonjs/state.html#READY"},"RlgqpMWsuZLmG7_RuwiBu":{"uri":"/melonJS/docs/melonjs/state.html#SCORE"},"LUGb_cqynBQZ-PpX4nwVl":{"uri":"/melonJS/docs/melonjs/state.html#SETTINGS"},"4nVjzTiuqPPkDOnn9JupD":{"uri":"/melonJS/docs/melonjs/state.html#USER"},"rw-qM9y5Cj9zA4zqk8E8o":{"uri":"/melonJS/docs/melonjs/state.html#change"},"nJrPaymfh3hXeINlcBqGh":{"uri":"/melonJS/docs/melonjs/state.html#current"},"CoJpBiqFSRzdyraCc_VrW":{"uri":"/melonJS/docs/melonjs/state.html#isCurrent"},"N5wFgn-390O3UKki-Bo-h":{"uri":"/melonJS/docs/melonjs/state.html#isPaused"},"M2AB8RmywVYTqUoU5Bc2x":{"uri":"/melonJS/docs/melonjs/state.html#isRunning"},"uofLGkpk7N06KXa0mYI0g":{"uri":"/melonJS/docs/melonjs/state.html#pause"},"dG-LSW0FCVomwBiARjS7V":{"uri":"/melonJS/docs/melonjs/state.html#restart"},"X33bccRcibr_LXeNnBt8M":{"uri":"/melonJS/docs/melonjs/state.html#resume"},"Zz2zsnt5L4SEied6kPgg5":{"uri":"/melonJS/docs/melonjs/state.html#set"},"B3GoE9Ba4TbE-0X7tiGMH":{"uri":"/melonJS/docs/melonjs/state.html#set_"},"E-CxmpSqhB5GizYRTGUxQ":{"uri":"/melonJS/docs/melonjs/state.html#setTransition"},"Zec7MbTiGUcEM_RNnD0D8":{"uri":"/melonJS/docs/melonjs/state.html#stop"},"HcMIMZD5ONidD20KLvkry":{"uri":"/melonJS/docs/melonjs/state.html#transition"},"S-BY8aDsRsVh8CU78mRBR":{"uri":"/melonJS/docs/melonjs/timer.html"},"bgpF6ivAnwEyLzei7-D_c":{"uri":"/melonJS/docs/melonjs/TMXUtils.html"},"fa-7QdOQJtodkOuQwh8wU":{"uri":"/melonJS/docs/melonjs/TMXUtils/applyTMXProperties.html"},"3f1bMw1HazPC10-P2Mqie":{"uri":"/melonJS/docs/melonjs/TMXUtils/decode.html"},"SpradrXjcnUxJSZx_NNp6":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeBase64AsArray.html"},"ruldfqRzzSmbA4Za64GkW":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeCSV.html"},"G5Ac0FpiL0vsHA_9RROnX":{"uri":"/melonJS/docs/melonjs/TMXUtils/decompress.html"},"CH2TqD3demKZ4nrIEIhhW":{"uri":"/melonJS/docs/melonjs/TMXUtils/parse.html"},"SNvBP-PIiwWMXkJ3pyzSU":{"uri":"/melonJS/docs/melonjs/TMXUtils/setInflateFunction.html"},"xtXzk-aG1TRkbiuA0lJhw":{"uri":"/melonJS/docs/melonjs/utils.html"},"ITNUy7rFuTU1hOj-pzUWF":{"uri":"/melonJS/docs/melonjs/utils/agent.html"},"n0UAqwm1YS38wEfd10xqr":{"uri":"/melonJS/docs/melonjs/utils/agent/prefixed.html"},"Rh8_lcJxLbQz3caNOLymh":{"uri":"/melonJS/docs/melonjs/utils/agent/setPrefixed.html"},"gDwo1riJdPadaYuF68xd1":{"uri":"/melonJS/docs/melonjs/utils/array.html"},"bWGYtIgmPYy4lt6p1flPo":{"uri":"/melonJS/docs/melonjs/utils/array/random.html"},"lsjmBbaLrjcob6iAKICd-":{"uri":"/melonJS/docs/melonjs/utils/array/remove.html"},"ZB0acelZcpoDMnoSH6ClF":{"uri":"/melonJS/docs/melonjs/utils/array/weightedRandom.html"},"kvvYTAhM2XP1MWz756Vv9":{"uri":"/melonJS/docs/melonjs/utils/file.html"},"phO9y4DB4q76Ll5wWbCT1":{"uri":"/melonJS/docs/melonjs/utils/file/getBasename.html"},"n0zQO90ZimgMYp0UnrwhD":{"uri":"/melonJS/docs/melonjs/utils/file/getExtension.html"},"_Xc1iPaCPHWfccvIex3Pi":{"uri":"/melonJS/docs/melonjs/utils/file/getPath.html"},"KVguXovspQ9ugZ-v6EyiD":{"uri":"/melonJS/docs/melonjs/utils/function.html"},"jqbWK3hjtonjwz6MLuEa6":{"uri":"/melonJS/docs/melonjs/utils/function/defer.html"},"1VsDuoGm15IdFji-LBVXE":{"uri":"/melonJS/docs/melonjs/utils/function/throttle.html"},"WjlkSt4PyfFz_TESVGEZS":{"uri":"/melonJS/docs/melonjs/utils/string.html"},"AvFFPvmzHCZEuTCQ6v_6a":{"uri":"/melonJS/docs/melonjs/utils/string/capitalize.html"},"hp3cpHxJ1eJimE03Qn0cC":{"uri":"/melonJS/docs/melonjs/utils/string/isBoolean.html"},"x1b0fWO1nTAvg50T4HJ14":{"uri":"/melonJS/docs/melonjs/utils/string/isDataUrl.html"},"Pw5nXb3wMFE1eGQZQY-0N":{"uri":"/melonJS/docs/melonjs/utils/string/isNumeric.html"},"n5q-dndbn5P_d8bp0a2PE":{"uri":"/melonJS/docs/melonjs/utils/string/toHex.html"},"6CtiC37dPYlLLmxVtprV4":{"uri":"/melonJS/docs/melonjs/utils/checkVersion.html"},"BB31X4dVPwkXoHdYvQlFG":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html"},"Q_tM3ZkGJ1FtH3zyvnc8J":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debug"},"WPFWT7IePXCVj9vZ9BXlO":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debugToggleKey"},"wFPxIFsVXQDuVgkYd2xdv":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#hitbox"},"BhygOP2o7wrYRy6c65Ydg":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#quadtree"},"tOCpfkXVzcYCGg0H6kKnz":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#velocity"},"X3gktlXiHowyDyKivqdxy":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#webgl"},"Wd96BqSoO4UxKN87a3BFR":{"uri":"/melonJS/docs/melonjs/video.html"},"Ab3XsLaxBIj5wVVlyotdi":{"uri":"/melonJS/docs/melonjs/video.html#renderer"},"fd6yTXWrhMC_7cZHP9hkT":{"uri":"/melonJS/docs/melonjs/video/createCanvas.html"},"6OVVk31UV2x6odA7V-kKu":{"uri":"/melonJS/docs/melonjs/video/getParent.html"},"sGA7y0v-jy0b2ZfHEX2yB":{"uri":"/melonJS/docs/melonjs/video/init.html"},"YU6wGf0KiCOJRkNM8Uzmf":{"uri":"/melonJS/docs/melonjs/Application.html"},"mKq_zGLWpJieuUT27_joL":{"uri":"/melonJS/docs/melonjs/Application/Settings.html"},"iniot9bACLpRDbSuh3oAx":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#antiAlias"},"2WhV1RnAH9GFPzymw98gr":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#canvas"},"JD8tk36Am5fvCFLwNS5MH":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#consoleHeader"},"sH3BW0zMNmbNBNzXBiN7i":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#depthTest"},"XVyVYa8Ljd3v9RhAcgxmn":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#parent"},"3acmCWR11HIAWJe1pCOXW":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#powerPreference"},"sGIa6VUgcd9D1zuqFaxkL":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#preferWebGL1"},"EuXfK5peEY3C18L9LfJve":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#renderer"},"wn3PoONTydGwqo2wEkUmo":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scale"},"Hky9n72MPFNfKHfwI8C-c":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleMethod"},"ZodndXalAUM-c9FGfvkjI":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleTarget"},"7togCYnQxd7qIBrrgSMmZ":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#transparent"},"bGzmb98YewlOf49_EGx5K":{"uri":"/melonJS/docs/melonjs/Application.html#isInitialized"},"_IKnnqBqm8tssWXu7b7gG":{"uri":"/melonJS/docs/melonjs/Application.html#lastUpdate"},"qxZ2HQzqn3Nf4wHWUaTxx":{"uri":"/melonJS/docs/melonjs/Application.html#mergeGroup"},"uMPSKFChJjtOhAgISfbQK":{"uri":"/melonJS/docs/melonjs/Application.html#parentElement"},"Wwr7ugG5F32aZrgVNo8ro":{"uri":"/melonJS/docs/melonjs/Application.html#pauseOnBlur"},"tlJjL-ab6vkq-xC7Ib5ix":{"uri":"/melonJS/docs/melonjs/Application.html#renderer"},"tjl2Ya1QuWWp5bUy7Yqj8":{"uri":"/melonJS/docs/melonjs/Application.html#resumeOnFocus"},"o_IlD2yUtSvxt3tVOA0w4":{"uri":"/melonJS/docs/melonjs/Application.html#settings"},"_gTQOBMM4jSUUD1SoZkw2":{"uri":"/melonJS/docs/melonjs/Application.html#sortOn"},"vsNm5R-QKnC1sQ8aRkupb":{"uri":"/melonJS/docs/melonjs/Application.html#stopOnBlur"},"ZCzEnAeBgqykQ4tMPXYE9":{"uri":"/melonJS/docs/melonjs/Application.html#viewport"},"BRxuNNcnYcp9rGRzE-GI7":{"uri":"/melonJS/docs/melonjs/Application.html#world"},"_GKHEWQ9AYiaz-u3Aae4R":{"uri":"/melonJS/docs/melonjs/Application.html#constructor"},"7awSAN__a_V3z-W7UkzhL":{"uri":"/melonJS/docs/melonjs/Application.html#draw"},"6_DiCSKa-Vc7tyV6CI079":{"uri":"/melonJS/docs/melonjs/Application.html#getParentElement"},"9u88vfBDyfCqWOFvtdS7x":{"uri":"/melonJS/docs/melonjs/Application.html#init"},"rbOdtk3JiwQ4LIx9O5cCo":{"uri":"/melonJS/docs/melonjs/Application.html#onLevelLoaded"},"j75d5AnHHOJCZrEuRIV7U":{"uri":"/melonJS/docs/melonjs/Application.html#repaint"},"XzRwDztunXvO2zTnjvlvB":{"uri":"/melonJS/docs/melonjs/Application.html#reset"},"vHLaZdV_UbuMpmVhl-8fs":{"uri":"/melonJS/docs/melonjs/Application.html#update"},"IZLQ63e4-LIyRgOgipVQc":{"uri":"/melonJS/docs/melonjs/Application.html#updateFrameRate"},"AeVK7WXHaQXBOOBd46jZ6":{"uri":"/melonJS/docs/melonjs/BitmapText.html"},"bhlHS7gDI7O5XPr65obDp":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alpha"},"HOQml158KrwAsqH2Hv01d":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alwaysUpdate"},"3289sg3UxSo1KSl8RxhM1":{"uri":"/melonJS/docs/melonjs/BitmapText.html#ancestor"},"GPPxY3Ya2dmBjmC2XMOU8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#anchorPoint"},"mVPA2dmZX9xm3cwYCKG-I":{"uri":"/melonJS/docs/melonjs/BitmapText.html#autoTransform"},"EfL-s_spyy6hFd6rt31IZ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#blendMode"},"f-IQLsJiwysj_8vnECOP8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#body"},"XG5PUIgJZh0H1Vk0M88Jd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#bottom"},"o4dsOpzDtorxnqXgc_Fzj":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerX"},"f81d8Ypa9HwB1unn33tf9":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerY"},"gKuGg354MYa1tbT7aCT0n":{"uri":"/melonJS/docs/melonjs/BitmapText.html#currentTransform"},"QGryzhUB-dMG-7dh0kMk5":{"uri":"/melonJS/docs/melonjs/BitmapText.html#depth"},"I82ReRzf_0P9srTg5i5eJ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fillStyle"},"c51yuE2fUHHJ1etXVMTFm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#floating"},"-LI7eWiF7Sg5iaMP9SCcS":{"uri":"/melonJS/docs/melonjs/BitmapText.html#GUID"},"YvJHZbtceDfAQ66Y6roUH":{"uri":"/melonJS/docs/melonjs/BitmapText.html#height"},"UIr9J3J9Mlkn8PlPBTSG5":{"uri":"/melonJS/docs/melonjs/BitmapText.html#inViewport"},"8b9_EtbU71f-9phAT-rdn":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isDirty"},"vYIegsq9fhXnSPJcjSCgo":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedX"},"JVFrFola-uW-tVqBCu_JN":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedY"},"4mxHoL7muVxPaziOMNS8m":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFloating"},"8GL_CQJs7u32aBdNQkQpf":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isKinematic"},"06JIzhjOuyKCHlfvMS4CN":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isPersistent"},"Jndg2zN2mOeINr8GCk4ky":{"uri":"/melonJS/docs/melonjs/BitmapText.html#left"},"T14Mu3SQUy6fIbRRN-rxt":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lineHeight"},"5ElvxzV3J5FJ7wv3PG5LF":{"uri":"/melonJS/docs/melonjs/BitmapText.html#mask"},"m3aJL1dl4bAXBvGSe7oGO":{"uri":"/melonJS/docs/melonjs/BitmapText.html#name"},"gePzxI3V-WHXsGBgxJCm-":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onVisibilityChange"},"A1bSEYZpoFg4UG5cA27Wd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#parentApp"},"AwcfsOpYK5v0cONwuPYUj":{"uri":"/melonJS/docs/melonjs/BitmapText.html#points"},"0Sx5lKaRCUhxCfFxSrdwV":{"uri":"/melonJS/docs/melonjs/BitmapText.html#pos"},"OYwLASDteBqO8IIF9aWHx":{"uri":"/melonJS/docs/melonjs/BitmapText.html#right"},"WFg3IIEbu6LWEBEbAUMMi":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shader"},"XVkAw4MhE-fxxrY27dtMu":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textAlign"},"RhZ3edjM5_iECsyw7X9ld":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textBaseline"},"mI8JWQAuRbTCnjaUESNFM":{"uri":"/melonJS/docs/melonjs/BitmapText.html#tint"},"FI_V3xmsm2AV8a5B3hp8J":{"uri":"/melonJS/docs/melonjs/BitmapText.html#top"},"maudYKhJPrF6UrkhUGCKL":{"uri":"/melonJS/docs/melonjs/BitmapText.html#type"},"lmLPImLKqUoXm3fqCwUZX":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateWhenPaused"},"M1L3aTESCF8SlvBq8nCTm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#width"},"lUZqzOznojzT_mEtg4yWd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#wordWrapWidth"},"rCKLbRx5mq5xVz9Kl6Nho":{"uri":"/melonJS/docs/melonjs/BitmapText.html#_text"},"D-2COiB51uqMK1gKmOMsP":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontData"},"W2GlzQ3BB-ywfpcz_FvJ5":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontImage"},"r6ObMc9ZGaKImTljMPwvV":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontScale"},"pJdYcO69fee1Xg0MD4Dwa":{"uri":"/melonJS/docs/melonjs/BitmapText.html#angleTo"},"rnwTtCs12Q5svDXRurnKL":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerOn"},"gO1T8I7A1nmK2IjofCpDc":{"uri":"/melonJS/docs/melonjs/BitmapText.html#clone"},"DDF8Ph1e2fQU93np9uS2l":{"uri":"/melonJS/docs/melonjs/BitmapText.html#constructor"},"pjSaibRAcFqmK60WuQpd8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#contains"},"iiltaBgvIfVgMBUGVtr4D":{"uri":"/melonJS/docs/melonjs/BitmapText.html#copy"},"YOsUewSfciPHMxBLu2RLQ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#distanceTo"},"Hhb5rE6s7yNfJ9bNEkDYh":{"uri":"/melonJS/docs/melonjs/BitmapText.html#draw"},"UHF82vwdoKJ7qzWSADHCp":{"uri":"/melonJS/docs/melonjs/BitmapText.html#equals"},"LVEj4jkXlANEAMz9LH8wQ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipX"},"8YH4gPTDm-u28A1waFexD":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipY"},"Pph-2imKpJGfVStk8xpeg":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getAbsolutePosition"},"81iR13ysbc425P-0MtUhm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getBounds"},"mPB0WxR9NrofZDFgDJ1W3":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getIndices"},"AIkbcs2Jen7wssfAh6REX":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getOpacity"},"bl2MWpCW-H_-KOABcl-J6":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isConvex"},"AjG14vimawoLusOtKGmSt":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFinite"},"HvQjTZRxRoGJ476W0sLuT":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lookAt"},"M2L6LUrX2MDpEBXnhaGtx":{"uri":"/melonJS/docs/melonjs/BitmapText.html#measureText"},"MAVWpjST2yX7O7zlHfJ92":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onCollision"},"ECyHdkrFtEcnJMrYhHc1K":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onDestroyEvent"},"L20OpBE2LNQPPrph13WcY":{"uri":"/melonJS/docs/melonjs/BitmapText.html#overlaps"},"zAw34bNJtSuKV3aZ0qHhq":{"uri":"/melonJS/docs/melonjs/BitmapText.html#postDraw"},"swIfHceWt14gyhouAb_wb":{"uri":"/melonJS/docs/melonjs/BitmapText.html#preDraw"},"ldCyoSmd5cgK5kTzD600m":{"uri":"/melonJS/docs/melonjs/BitmapText.html#recalc"},"V9RU4SCb-V_252ooDnqWG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#resize"},"rbNxH5G5h0df8xe52vR0o":{"uri":"/melonJS/docs/melonjs/BitmapText.html#rotate"},"0QJjOfDR1543AZ-dFGmdG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scale"},"fwF8OO91cgAU6MJSc-kcb":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scaleV"},"GQvoGsIShPU8k8fE_uMJw":{"uri":"/melonJS/docs/melonjs/BitmapText.html#set"},"X-IGXdKudUZtvK22BpLaB":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setOpacity"},"x_B3ci9dMbl8Mkv0GgacR":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setShape"},"pfDBj92utIUvaUtoB_FI0":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setText"},"mpVwFcHI1Vp6ykhcf-dpj":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setVertices"},"RfGK7axkYbcVciJ0XC7dG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shift"},"GZZepaMyJdMnjDToUdSnI":{"uri":"/melonJS/docs/melonjs/BitmapText.html#to2d"},"ySW0ELBVzmmVOzJTKyiOl":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toIso"},"jn-vLp423fAV0jTRgXyxW":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toPolygon"},"K9vRSOyJEuoy0T6yTmY9R":{"uri":"/melonJS/docs/melonjs/BitmapText.html#transform"},"ESiSXj8j3XVAZb8nKD4PR":{"uri":"/melonJS/docs/melonjs/BitmapText.html#translate"},"xkkIQELM5MG6s7HQC2dHj":{"uri":"/melonJS/docs/melonjs/BitmapText.html#union"},"gogf7Of_uebHfT4AwmwOr":{"uri":"/melonJS/docs/melonjs/BitmapText.html#update"},"hxNgLJMG26U6wAAu0C7yl":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateBounds"},"uUKyVmTx2LXT8cfQ-VAlF":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onAnchorUpdate"},"WR2UqyH48wD81Ngj75S3T":{"uri":"/melonJS/docs/melonjs/Body.html"},"D5viemEDEsLjNtlbI3fdh":{"uri":"/melonJS/docs/melonjs/Body.html#ancestor"},"tLn_eUnonSkWqofDZFw-d":{"uri":"/melonJS/docs/melonjs/Body.html#bounce"},"yp7E13tgnhGZ68gHbTQ4t":{"uri":"/melonJS/docs/melonjs/Body.html#bounds"},"mxZajTBVEtZXzUXSRv0A1":{"uri":"/melonJS/docs/melonjs/Body.html#collisionType"},"rboXo-mRrTDtqZZPHwq4F":{"uri":"/melonJS/docs/melonjs/Body.html#falling"},"tf8a08B36wyxH7QgIG1Rv":{"uri":"/melonJS/docs/melonjs/Body.html#force"},"4_FDBVdi_df8NtmBC2hd0":{"uri":"/melonJS/docs/melonjs/Body.html#friction"},"YD7yLnfTQTN_MJswewYcf":{"uri":"/melonJS/docs/melonjs/Body.html#gravityScale"},"8TA7FRQM85BgQfxmP7O4n":{"uri":"/melonJS/docs/melonjs/Body.html#ignoreGravity"},"bnyEk8obbjvdEkJj-fl-j":{"uri":"/melonJS/docs/melonjs/Body.html#isStatic"},"v9xMgyhnQLa3urxPdFmLe":{"uri":"/melonJS/docs/melonjs/Body.html#jumping"},"s-OtUzW8OkjCdtSZKS2Zl":{"uri":"/melonJS/docs/melonjs/Body.html#mass"},"agZiZWLYIdUi3EO4MraOe":{"uri":"/melonJS/docs/melonjs/Body.html#maxVel"},"Adc6ya6xFQQ6adVKidFKp":{"uri":"/melonJS/docs/melonjs/Body.html#vel"},"U36J_tIOKAGEFf_3ICl06":{"uri":"/melonJS/docs/melonjs/Body.html#addShape"},"E-M3G5V0ZdsUDLXjIA5SK":{"uri":"/melonJS/docs/melonjs/Body.html#addVertices"},"rQ36F50omnXNGGZxT6g7G":{"uri":"/melonJS/docs/melonjs/Body.html#constructor"},"DXNwgK2FpadMrxDiR5asf":{"uri":"/melonJS/docs/melonjs/Body.html#contains"},"pFc2YX1lgvccozI8qIrUz":{"uri":"/melonJS/docs/melonjs/Body.html#forEach"},"fzbqphEZRoVUTs7CcyQx8":{"uri":"/melonJS/docs/melonjs/Body.html#fromJSON"},"4TN5hE9hi4dbKSiGj86QP":{"uri":"/melonJS/docs/melonjs/Body.html#getBounds"},"waXDLj1KBaOn8JoJ9Wca3":{"uri":"/melonJS/docs/melonjs/Body.html#getShape"},"0ZHUONDeF-COP8Ce_-Lrg":{"uri":"/melonJS/docs/melonjs/Body.html#removeShape"},"X4nsWz7MnK8iLLtSUrwwI":{"uri":"/melonJS/docs/melonjs/Body.html#removeShapeAt"},"jEs-JK7N-ecJscfS5RPJF":{"uri":"/melonJS/docs/melonjs/Body.html#respondToCollision"},"4BgZv--GrJMYqHxteQv0I":{"uri":"/melonJS/docs/melonjs/Body.html#rotate"},"qsXVYKAFEXW9gHyD5xt04":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionMask"},"Or4iaJOvJ4FBxz1Cbq3XR":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionType"},"Qu8M-pXYg4UBvA_MaiBqp":{"uri":"/melonJS/docs/melonjs/Body.html#setFriction"},"puVg_DxKEMYRZ3qlG7HHu":{"uri":"/melonJS/docs/melonjs/Body.html#setMaxVelocity"},"2ka-JPLGHPjWSA_km8ez3":{"uri":"/melonJS/docs/melonjs/Body.html#setStatic"},"JoLH0EbZNbRY3JcC5B9ZA":{"uri":"/melonJS/docs/melonjs/Body.html#setVertices"},"aQTu2rtrCPaNyKUSUs8Ur":{"uri":"/melonJS/docs/melonjs/Body.html#update"},"WvDJX3q41Z-hXeYeeIsYS":{"uri":"/melonJS/docs/melonjs/Bounds.html"},"aCBSVxWVxCZYwSn0Vf0EI":{"uri":"/melonJS/docs/melonjs/Bounds.html#bottom"},"KnaRovwyMLn0s2CsHuaVZ":{"uri":"/melonJS/docs/melonjs/Bounds.html#center"},"fKlyv8DWA4o7kya5E1CvC":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerX"},"EV0kSjfmcKulIqhPjpnCB":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerY"},"7InfnrqLyHtAJJkCjgmOI":{"uri":"/melonJS/docs/melonjs/Bounds.html#height"},"MZKA1R38-OuE4gyv1N85E":{"uri":"/melonJS/docs/melonjs/Bounds.html#left"},"wR-q6eVIIUUy3UiAO0QXo":{"uri":"/melonJS/docs/melonjs/Bounds.html#right"},"_7lG6I_Ei0Utoa6XjNnHg":{"uri":"/melonJS/docs/melonjs/Bounds.html#top"},"Cuzys6H9IOYgehVbM7mrt":{"uri":"/melonJS/docs/melonjs/Bounds.html#type"},"t20ZMddRvOk7HUSQhoIAA":{"uri":"/melonJS/docs/melonjs/Bounds.html#width"},"VD69aXFDRcMMO9xWFulx3":{"uri":"/melonJS/docs/melonjs/Bounds.html#x"},"r-E7qkocVbPR1Tna2W7rN":{"uri":"/melonJS/docs/melonjs/Bounds.html#y"},"L1ix4JbJ1C_WDYmvMI8lD":{"uri":"/melonJS/docs/melonjs/Bounds.html#add"},"q-vgAnUEzZqkm2wXab3k_":{"uri":"/melonJS/docs/melonjs/Bounds.html#addBounds"},"TWPJ_9i5CnOcPKA0Ov4-w":{"uri":"/melonJS/docs/melonjs/Bounds.html#addFrame"},"irGZGl0-FuY4x5kuFtgjF":{"uri":"/melonJS/docs/melonjs/Bounds.html#addPoint"},"ayl2rqDyt7ajYSs5RcZ9z":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerOn"},"OC19_u_6PAJsdo5lC9Uj6":{"uri":"/melonJS/docs/melonjs/Bounds.html#clear"},"zOPqNJnmEkx1SgvS70QsB":{"uri":"/melonJS/docs/melonjs/Bounds.html#clone"},"0NfUqz8pKtAqcZv2l6XX9":{"uri":"/melonJS/docs/melonjs/Bounds.html#constructor"},"VAPbakFU_s16VWO5Xazap":{"uri":"/melonJS/docs/melonjs/Bounds.html#contains"},"zq12KvUr0OwqOwN7SKooT":{"uri":"/melonJS/docs/melonjs/Bounds.html#isFinite"},"hDIHFaM6ws1-becw7C1np":{"uri":"/melonJS/docs/melonjs/Bounds.html#overlaps"},"MWFPPsD-0J5NVY4CPVG_z":{"uri":"/melonJS/docs/melonjs/Bounds.html#setMinMax"},"TqmRmCarxisMqpsdtqzKB":{"uri":"/melonJS/docs/melonjs/Bounds.html#shift"},"hD7YHJOwP8zhHtXso7Q_h":{"uri":"/melonJS/docs/melonjs/Bounds.html#toPolygon"},"dCEQHSrzWmnGQWKaFrypk":{"uri":"/melonJS/docs/melonjs/Bounds.html#translate"},"JnCLwwOgtQPG0s6OM1CuQ":{"uri":"/melonJS/docs/melonjs/Bounds.html#update"},"urNeo5G4iw1OglUUE4kQz":{"uri":"/melonJS/docs/melonjs/Camera2d.html"},"F5wu1dZZb6-RuCB9MR9po":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html"},"FFjX4f_QfhrBU0UYyber_":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#BOTH"},"fJpgkWs-_JcGENuKGVyrO":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#HORIZONTAL"},"96C1I_lxnHDvH7bn7GlYE":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#NONE"},"FNhfb4tZekZ09vCkg4ge1":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#VERTICAL"},"_4UjHFU8Fum5Ay3Bd4vJ8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alpha"},"7ss0JGRYgn4FrUJo-5jWW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alwaysUpdate"},"Job4T7dk5tM27g-Ymmr95":{"uri":"/melonJS/docs/melonjs/Camera2d.html#ancestor"},"yxsmm5i-zrwYsaA8zToDB":{"uri":"/melonJS/docs/melonjs/Camera2d.html#anchorPoint"},"rxfKyM9wFqlceNhtPdEjV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#autoTransform"},"dq-FrO7gFX5lZeM_5G9fD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#blendMode"},"g4y9Ldy5Cgg6CYn1mrErT":{"uri":"/melonJS/docs/melonjs/Camera2d.html#body"},"zTewql1XSbHMRP3qJiuMM":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bottom"},"tXdjoMeoaCMWZLaiPUN6B":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bounds"},"zDkECVl2IAfwL3QZ4oxii":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerX"},"4Sv-C97s-M6llduClLD51":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerY"},"_hNma3JETseifpcldZnD5":{"uri":"/melonJS/docs/melonjs/Camera2d.html#currentTransform"},"MULvLEwvx9iSBln5OWwbe":{"uri":"/melonJS/docs/melonjs/Camera2d.html#damping"},"6gxOdUCIRYfDxp0ibEBUh":{"uri":"/melonJS/docs/melonjs/Camera2d.html#depth"},"Y5aHcqJDdN51zGMSQSYkt":{"uri":"/melonJS/docs/melonjs/Camera2d.html#far"},"0JGz7dPDFEa_Hsb7sKssu":{"uri":"/melonJS/docs/melonjs/Camera2d.html#floating"},"nVAAgOvfzTL1ofkdclvcZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#GUID"},"zfWdh7HKHS1zufFAgHMlb":{"uri":"/melonJS/docs/melonjs/Camera2d.html#height"},"aiM-F8GLyUX2JzjG7wiWI":{"uri":"/melonJS/docs/melonjs/Camera2d.html#inViewport"},"CgcKUtqo9oUOXPJsvVePS":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isDirty"},"dMHr7hEO9hsNICOo6Q-TP":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedX"},"DBq0ZJOgfl-9XVoHwrjo3":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedY"},"jxdX0cLLhOm-G8T0nvHUp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFloating"},"pdu51yIdhL3JZ1eq8Iv8R":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isKinematic"},"Kg7TJ_ZdERRf88oORtllE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isPersistent"},"J7CfykqTrp_hXwcG11kua":{"uri":"/melonJS/docs/melonjs/Camera2d.html#left"},"-eZmC9jpUKnizv5FinWMp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#mask"},"LE_KqSoO_arMldjMl8iFh":{"uri":"/melonJS/docs/melonjs/Camera2d.html#name"},"mYT4ULwX9QCqlSBBG02cE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#near"},"pGJKX4v9Mkk197o_8Pue0":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onVisibilityChange"},"uhW2auce-runmPbciJUq8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#parentApp"},"aGjiRZRVRfox_FXHSfKIE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#points"},"bf924XjxAzFvCiMl9cH5U":{"uri":"/melonJS/docs/melonjs/Camera2d.html#pos"},"ytrzLAL9cowZjSO0vUGW4":{"uri":"/melonJS/docs/melonjs/Camera2d.html#projectionMatrix"},"goVB_fTeskz59Z3OQf0PC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#right"},"YtpolD82VR9tIdK2_anGi":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shader"},"vwJ8p9izYunMvZ-Nggozk":{"uri":"/melonJS/docs/melonjs/Camera2d.html#tint"},"7HO64FDJSP1Xki4XOPaD5":{"uri":"/melonJS/docs/melonjs/Camera2d.html#top"},"_YMGUWWWmgv6UVC_VKfid":{"uri":"/melonJS/docs/melonjs/Camera2d.html#type"},"8hSuQ4viKcpNf_zrKh6ju":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateWhenPaused"},"yZYhBHDozpY6bnQwBo9ba":{"uri":"/melonJS/docs/melonjs/Camera2d.html#width"},"j3aX69yPukLpNIQymsteL":{"uri":"/melonJS/docs/melonjs/Camera2d.html#smoothFollow"},"7oHRBrBF5uFYVoy0kdAJE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#angleTo"},"ZiJaQ7bYvAM5rNFoIzjqT":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerOn"},"Q8x6H5hlp7WzG_Y8rpGnD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#clone"},"Khnhy_FoaVUmv5odgna6_":{"uri":"/melonJS/docs/melonjs/Camera2d.html#constructor"},"cZXzIpJsJ0nip7bjgpSi0":{"uri":"/melonJS/docs/melonjs/Camera2d.html#contains"},"rZDOHko-yMXOTqf7e-QHl":{"uri":"/melonJS/docs/melonjs/Camera2d.html#copy"},"SXsYr_RHVTQPIUqZVqpEC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#distanceTo"},"thtmeOpx9z5B0ehtsbMpx":{"uri":"/melonJS/docs/melonjs/Camera2d.html#draw"},"NrDMzIjotPceVli_hvMy0":{"uri":"/melonJS/docs/melonjs/Camera2d.html#equals"},"gSP5BjTcJdydPjkpyjfjj":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeIn"},"4rU56RAgKrs5ISwcq0UiP":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeOut"},"VGdxezTz4EyBIrp3mHczG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipX"},"AilWDSFE-LGrHPlRl5ADG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipY"},"lJWIJMEW5cnc4LWlhSKJ2":{"uri":"/melonJS/docs/melonjs/Camera2d.html#focusOn"},"1AcOuu39jE3eSPQZPe4-n":{"uri":"/melonJS/docs/melonjs/Camera2d.html#follow"},"_As7TFkAQ0fFuNBWYcXTE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getAbsolutePosition"},"Z5d9ON7XpHp9nHkEzaRbn":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getBounds"},"4czLq0s6U8Nh5WkUoU4Dr":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getIndices"},"Kk_Z2LXCWvTaYB6wpcIjq":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getOpacity"},"ZLnp2lHgRFS2MY5s8oVbX":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isConvex"},"4OXUA3ivpCDQUWoDjmpPP":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFinite"},"4_OQnIXu5kdEmEa1vCmSV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isVisible"},"YbHKJ9Kb2MXAUrJWWjLkk":{"uri":"/melonJS/docs/melonjs/Camera2d.html#localToWorld"},"LN2lDPdW2uV3aBgQWcWid":{"uri":"/melonJS/docs/melonjs/Camera2d.html#lookAt"},"RQTtRArBjfR4SKHBykmQ9":{"uri":"/melonJS/docs/melonjs/Camera2d.html#move"},"mrd4Abdkeww98sdzee7in":{"uri":"/melonJS/docs/melonjs/Camera2d.html#moveTo"},"_w5WMPnDRLzrM36udZLiM":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onCollision"},"rlNVELkNB0_Hfq6S56owW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onDestroyEvent"},"djNMUC-CzTm-4tcEA7eSQ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#overlaps"},"soNjYs9-jNAl9ELRjdwXD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#postDraw"},"I7ifTq6ag-Y31QMALreGi":{"uri":"/melonJS/docs/melonjs/Camera2d.html#preDraw"},"ALIOuy5hMtFVbdRYpg-sw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#recalc"},"kSLdWTl8SCujjl7Ugfbnf":{"uri":"/melonJS/docs/melonjs/Camera2d.html#reset"},"_o9AgtIuTEOnCr3U9BWsU":{"uri":"/melonJS/docs/melonjs/Camera2d.html#resize"},"wDgp1g-_k0qliCOdcuAaR":{"uri":"/melonJS/docs/melonjs/Camera2d.html#rotate"},"XbtucepVnfnNXvybDkCCW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scale"},"SxDNgZ181DpZfA3VJTo4v":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scaleV"},"vXXJkZGCx4Ub0uIrcdSLI":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setBounds"},"rfTkRCpd2mrmOQ0ggLCnw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setDeadzone"},"9I5fOVCyCCbgKvDH13IJM":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setOpacity"},"3QsqcHXNXkoV8eLp7UufR":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setShape"},"4G9ghSQTY5spK8TQZRdCu":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setVertices"},"Mpp5_niPg-_EaiRuW1fIJ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shake"},"O7Vr-_9HoenQZmsh89OEz":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shift"},"UmD5VRnx7zHLH3CA1sUbZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#to2d"},"hHGKy9U_s6m7AZE1ywvsl":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toIso"},"wFD82-XC5bBgUvldUWZ3J":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toPolygon"},"wO4ehOjb-TJcHD-szI3Uh":{"uri":"/melonJS/docs/melonjs/Camera2d.html#transform"},"t5G6K9AhEG2WtwaqCdGe4":{"uri":"/melonJS/docs/melonjs/Camera2d.html#translate"},"4GkX3s8gRyzCDRP1pP22N":{"uri":"/melonJS/docs/melonjs/Camera2d.html#unfollow"},"lj_pZDTlH1cXhZReYwcEl":{"uri":"/melonJS/docs/melonjs/Camera2d.html#union"},"8b4jzRO2O_p5Oy4SaHjHb":{"uri":"/melonJS/docs/melonjs/Camera2d.html#update"},"4GruPpy528U-fIUIScZGZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateBounds"},"g2gw8hYVqgrPde8TSfxZI":{"uri":"/melonJS/docs/melonjs/Camera2d.html#worldToLocal"},"lzy-yecMUO3HLNO0W4tTQ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onAnchorUpdate"},"amLhFLeEuALcU1_BrVZeZ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html"},"b0ovXSKbZBGThVBNVrojU":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#depthTest"},"bDWxCbA8LVVR08gSDbQdC":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#designRatio"},"QKf4JyoomRrrkEmPFdp16":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#height"},"B46qrUTAPuhG1biycwAG4":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#isContextValid"},"K85B5egNJc5c7YErEVypr":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#path2D"},"y_gWopcOGiSZ5a6Ob-8QJ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scaleRatio"},"g7xBpOnyIEZTOiY-VhFHY":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#settings"},"jQjoxAvSFxIxr4FJcQ58T":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#type"},"83hWiGo1taLu29xo9S1SI":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#width"},"_jur4bUN3Nqde_HVUIS6a":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#beginPath"},"4ndpLzmiDIVBapJoJGSLx":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clear"},"bAaDSgKukcyuDqmlIK67F":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearColor"},"vbdrF_H0OO6xGS10at9bc":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearMask"},"6y0EpM1ji_4BGGXZYTlTx":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearRect"},"ByreMeGnowDDS0uplKomM":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearTint"},"k7ylJZ2G8tm3W3p-it0CM":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clipRect"},"SrtLV31KfONsZ3_eClM1c":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#closePath"},"sDks2OWnXzuM9_wKaSJMd":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#constructor"},"bI5ECaS3n89xkoUKucwbB":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#createPattern"},"qsM9hIDPBCAVXMkNp72__":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawImage"},"epOVTnI4tATsOxtBnPMkG":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawPattern"},"wmLby7ffOpZjQqAw8raUK":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fill"},"3zbYmRlRLySUPjYArmGH8":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillArc"},"tGJEy9jb-vyg0TWfBbwuR":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillEllipse"},"5m-HJ237fvg9oX-EVVnlI":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillLine"},"0uQJey5C9kkTJ8Jm50oJH":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPoint"},"HYEIVXIcaOnFEAw2oP7V_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPolygon"},"BnLBPvQuK2fiQ4vw7-EmI":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRect"},"AAc4BpE0gzoH8lRCROwIX":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRoundRect"},"tSWEjnH3McaJtT-cWg5a-":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#flush"},"GYVv_xwihETIOxlR0Lbj0":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getBlendMode"},"bbTQ_8NqD_lor95tKqvZQ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getCanvas"},"MpA-mtARbuaJ17bioH9Bc":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getColor"},"526MbAAfWLynriTP-3AUD":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext"},"QwScrwgkWcY7_9D8I-iws":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext2d"},"3BQKzihzJzwbbgi_2lj7U":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getGlobalAlpha"},"4_EEPPN33QTTHQ6agxZ0l":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenCanvas"},"7Q5o54V8ZbEBkOVsvpJ58":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenContext"},"L8Npam1vOJTzK8hZoVzVu":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#globalAlpha"},"2UmdyhJo4Y-T8Z9WcFa_g":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#lineTo"},"lONDRHO4SYxbuh9l8nipQ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#moveTo"},"Tt3vzZpgiOeh_CRjoC7dk":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#overlaps"},"rvUI9oWeXYVs1mm8-Laas":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rect"},"KiaH7AlEr-f6PFYfdCU9X":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#reset"},"zFxWzPiKNXgJk7bhKnHcT":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resetTransform"},"vzgytcx7khDLSUiD0H16K":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resize"},"veOIVWQ_IZCvcAG2jrezx":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#restore"},"a4ozAA9N6i18GAqAWrGzv":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rotate"},"7iwkdywkTExS36OqIFM-9":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#roundRect"},"ye1B2Fb6O9PDStxz5ekIZ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#save"},"doVtCLA1wak2v7N37BbHN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scale"},"vWATNXT_K38HrlFzSm_O9":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setAntiAlias"},"oPSeM5bM4S5w81gcyr-F2":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setBlendMode"},"ERMCTZS2faxNJowOiJttq":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setColor"},"FZf-AMKbJ3y3maGeVIY0N":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setGlobalAlpha"},"KTCMvCxYaJUXzTsUlbGea":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setLineWidth"},"QCrqUD_e8DqwDG2Y6DZ0F":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setMask"},"kNGZQ42SB2z2Qkv6ii4RN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setProjection"},"jVzESnGowmah9JdtAAxHH":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTint"},"XQtROdhcVIjqwFsWvfxby":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTransform"},"jUwmzoOEpwrB2oRJPnMsW":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#stroke"},"46-iyPWRMqNu2GNysnOII":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeArc"},"F4i8G6V-h99bJsZiujcvc":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeEllipse"},"8onL7AW3r-kaKpF1lOIZ4":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeLine"},"qHatd_W2HZ6jKwBe8o3gc":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePoint"},"9V3OR4B-zw6OklEJFcA5g":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePolygon"},"REybgyqn9w4AHZnYMG3Ri":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRect"},"NboklDHodOAeUXez_gttA":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRoundRect"},"mM1iHRrBnFmpNAHaC3qEY":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#tint"},"l4UJWYzsk3W46-ha7k3Ht":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toBlob"},"l1wbola082gt7RPlLGScf":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toDataURL"},"bfs3Om_PKJkK-GvlPJWLi":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toImageBitmap"},"MukREe7jpyqm5dsrFkB_D":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#transform"},"onLwkuAvZinJ-LVTWHNMd":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#translate"},"txXY_cIpQ_v8TnRHs1OYI":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html"},"GTF3vW4VmBrImtv_ovoD3":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#canvas"},"kJTdbKc1uK7YoPOh6vesw":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#context"},"Mo1HqM2ggOwd3WMhYHVKU":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#height"},"NzkSSPck13GdcrizWXaP-":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#width"},"tsCrrIxujRn1jxpabCu8q":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#clear"},"rkDkhofzC_ZQn6o1cETO1":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#constructor"},"02kMN5b5KSiZQnySriiB-":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#getImageData"},"JB6iZDbBB-U8lgGAz5Dyl":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#invalidate"},"5RSWSYz-Bb0UBLcl7Rvxw":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#resize"},"aPv5uGK-4wLPIJNmFtTH8":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#setAntiAlias"},"xIXJ0bP8uYFo5xO93ryru":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toBlob"},"Ge4YaVj5e90Bb7RGhrB0w":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toDataURL"},"GoEvNaY72aAdx71LFVxAI":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toImageBitmap"},"CNEN1g2E6CNNv1TGC4K0C":{"uri":"/melonJS/docs/melonjs/Collectable.html"},"ayK2O8rOxyBQJYXgQslpi":{"uri":"/melonJS/docs/melonjs/Collectable.html#alpha"},"UkoYKhFzMJiK4-xU5w1XD":{"uri":"/melonJS/docs/melonjs/Collectable.html#alwaysUpdate"},"AfpouRMqKgGL03abi7YQo":{"uri":"/melonJS/docs/melonjs/Collectable.html#ancestor"},"OPDu6t_5u_oUoloFr4mgu":{"uri":"/melonJS/docs/melonjs/Collectable.html#anchorPoint"},"Rp0KP1pr-9wXPaV2AgI8s":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationpause"},"_5ZRTeeYWuEa77IOCaZ_i":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationspeed"},"c0Sz8f8J2Y0JRu8pYL4Cr":{"uri":"/melonJS/docs/melonjs/Collectable.html#autoTransform"},"jYah6FLfqIxwDFZXK4GjN":{"uri":"/melonJS/docs/melonjs/Collectable.html#blendMode"},"hLGWqZPwtY8joz-G_lKti":{"uri":"/melonJS/docs/melonjs/Collectable.html#body"},"7mcIdnS5pUyO7QsQhgnn_":{"uri":"/melonJS/docs/melonjs/Collectable.html#bottom"},"f_4ODxCZVhrkP-OltcErn":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerX"},"ye9hCEnHVe40iJYk0rif6":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerY"},"68lmNHG_6ADsgnvq0DydH":{"uri":"/melonJS/docs/melonjs/Collectable.html#currentTransform"},"02X6vwdTbGL1JTuxL8jhd":{"uri":"/melonJS/docs/melonjs/Collectable.html#depth"},"4d2g3_AJHvC7k_ORt-X7c":{"uri":"/melonJS/docs/melonjs/Collectable.html#floating"},"8mAIBiW0QkD3TB2iH7t90":{"uri":"/melonJS/docs/melonjs/Collectable.html#GUID"},"EYRI-pJLoTMlc9Hvk4yF-":{"uri":"/melonJS/docs/melonjs/Collectable.html#height"},"GasDY4WMUQ5eqdL9Keg4p":{"uri":"/melonJS/docs/melonjs/Collectable.html#inViewport"},"vgAYzOF-jnLilTtEw-4UQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#isDirty"},"UqjVy5v1iYXpBdnTNoCxZ":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedX"},"D0Tf9K8xG3hY9A11FE__u":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedY"},"Lip-CshcQWzMQBoXp4-Nv":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFloating"},"At4uem_pHfk6Qn8kI0RTQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#isKinematic"},"bO44lj5_cD7EJxJB7XyuB":{"uri":"/melonJS/docs/melonjs/Collectable.html#isPersistent"},"7lKHHgx8n1WPIAS4gFfq3":{"uri":"/melonJS/docs/melonjs/Collectable.html#isVideo"},"-Y_rsYt1dX2yMYrCC-xHy":{"uri":"/melonJS/docs/melonjs/Collectable.html#left"},"bEvxgGAUIzuVEa7ub0ZMQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#mask"},"kCh0ZR0am5SyKMDseRxxf":{"uri":"/melonJS/docs/melonjs/Collectable.html#name"},"1ly8ILjf9qjDzz0_xW00b":{"uri":"/melonJS/docs/melonjs/Collectable.html#offset"},"YVPFMKYk6Ik-qmK0VEncx":{"uri":"/melonJS/docs/melonjs/Collectable.html#onVisibilityChange"},"Zkvn-aWyWymIet83fp91-":{"uri":"/melonJS/docs/melonjs/Collectable.html#parentApp"},"E7gS6tUOkf9TjlNF_nhaM":{"uri":"/melonJS/docs/melonjs/Collectable.html#points"},"VAGc8M3WS_PgPeZthL2n4":{"uri":"/melonJS/docs/melonjs/Collectable.html#pos"},"pqgItbn4W5ZB1LWc5Yffk":{"uri":"/melonJS/docs/melonjs/Collectable.html#right"},"S5IjOkjYON5D0MvaD8AYl":{"uri":"/melonJS/docs/melonjs/Collectable.html#shader"},"GkpmS9rqGfuPc6Y_LAEGn":{"uri":"/melonJS/docs/melonjs/Collectable.html#source"},"XFmQ5UTh9RhQ9n8eklE_b":{"uri":"/melonJS/docs/melonjs/Collectable.html#tint"},"PfY8m-Z4_9jCHufFjaJ1P":{"uri":"/melonJS/docs/melonjs/Collectable.html#top"},"OOIXMwb97s-KDEnMw9N4G":{"uri":"/melonJS/docs/melonjs/Collectable.html#type"},"XFhIh9KBsVtQl17zVSn2R":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateWhenPaused"},"LoEzltHOMl1WkHh_o8ylG":{"uri":"/melonJS/docs/melonjs/Collectable.html#width"},"5YUaDlTFfczwu-UvrVEFj":{"uri":"/melonJS/docs/melonjs/Collectable.html#addAnimation"},"jWH5vPP-R0Pyv1NCNFl7q":{"uri":"/melonJS/docs/melonjs/Collectable.html#angleTo"},"XIclooqgCwF1RFJXzTCnl":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerOn"},"oO59O1awbjwKPlcGX3o8h":{"uri":"/melonJS/docs/melonjs/Collectable.html#clone"},"T_062u6NSTqYKjH1Zsz3j":{"uri":"/melonJS/docs/melonjs/Collectable.html#constructor"},"vTWll7XTEr3m3WSTWPrbx":{"uri":"/melonJS/docs/melonjs/Collectable.html#contains"},"0sr3hmeyuGpdLNwFeIepu":{"uri":"/melonJS/docs/melonjs/Collectable.html#copy"},"tc9HNxRFBMXZQn0Iro2hH":{"uri":"/melonJS/docs/melonjs/Collectable.html#distanceTo"},"yxZP4g7nKRw1-d6iDd7-0":{"uri":"/melonJS/docs/melonjs/Collectable.html#equals"},"7JhEbvTGqL_prCy54UtY7":{"uri":"/melonJS/docs/melonjs/Collectable.html#flicker"},"0TiimV28Kk9u7GRg5sjDt":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipX"},"_WEeoF576iPfWEc6hyGJP":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipY"},"xhDbhYtiK6YzllpmQ1W5J":{"uri":"/melonJS/docs/melonjs/Collectable.html#getAbsolutePosition"},"7O6VGAAKjFbtRpPdLSaW0":{"uri":"/melonJS/docs/melonjs/Collectable.html#getBounds"},"2ZB9kVoBJahJOgqeHPGl3":{"uri":"/melonJS/docs/melonjs/Collectable.html#getCurrentAnimationFrame"},"Bfrw9sNJn6z5PVcvxDT6q":{"uri":"/melonJS/docs/melonjs/Collectable.html#getIndices"},"q92Y-551NKqUrkoqLQdar":{"uri":"/melonJS/docs/melonjs/Collectable.html#getOpacity"},"HuhbCCrYUEzost9Ignefq":{"uri":"/melonJS/docs/melonjs/Collectable.html#isConvex"},"p7usa4Ev20kLsQIh6Z7Px":{"uri":"/melonJS/docs/melonjs/Collectable.html#isCurrentAnimation"},"zM8_gXn8q3rJYbnGg4CtQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFinite"},"F0X-hrF3ENPr31hN3k8zB":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlickering"},"iR6Fg4rY1dhKGCPpK7CFq":{"uri":"/melonJS/docs/melonjs/Collectable.html#lookAt"},"_i4fnDI2ffgdPM4SgGf1G":{"uri":"/melonJS/docs/melonjs/Collectable.html#onCollision"},"ClkRPfEIfjWZGsizaVPNn":{"uri":"/melonJS/docs/melonjs/Collectable.html#onDestroyEvent"},"6Zon1KF3hL0dLvSGKwb7x":{"uri":"/melonJS/docs/melonjs/Collectable.html#overlaps"},"dgyEgo4APkvGVZNJNWP-I":{"uri":"/melonJS/docs/melonjs/Collectable.html#pause"},"UnKQyo0i4Q5GmcspfbQ9c":{"uri":"/melonJS/docs/melonjs/Collectable.html#play"},"NozTst3YwVXnvQ_Ol5Pe9":{"uri":"/melonJS/docs/melonjs/Collectable.html#postDraw"},"7_wwImxPYSage5nwcdQr2":{"uri":"/melonJS/docs/melonjs/Collectable.html#preDraw"},"IfweYvjd0TGrlFnG6bcp8":{"uri":"/melonJS/docs/melonjs/Collectable.html#recalc"},"ohwCA1SfGpDjNnTVwateb":{"uri":"/melonJS/docs/melonjs/Collectable.html#resize"},"YJB46rrHdMzlNHWeP4ugC":{"uri":"/melonJS/docs/melonjs/Collectable.html#reverseAnimation"},"EcxzOM8eC8B5z6zW7_Bxu":{"uri":"/melonJS/docs/melonjs/Collectable.html#rotate"},"8adGfxI0SVhD2-D4MqM_8":{"uri":"/melonJS/docs/melonjs/Collectable.html#scale"},"JdJBBaZaplDr8OcAQ6c3Y":{"uri":"/melonJS/docs/melonjs/Collectable.html#scaleV"},"DCA1ABsHSiMiG3zwO1JIc":{"uri":"/melonJS/docs/melonjs/Collectable.html#setAnimationFrame"},"b2Gn4F6lIc-mRuYpO_ovG":{"uri":"/melonJS/docs/melonjs/Collectable.html#setCurrentAnimation"},"F5DGAkQn065t2o-tDcASg":{"uri":"/melonJS/docs/melonjs/Collectable.html#setOpacity"},"ZNIyPJ3LkvMSEumbFWFM4":{"uri":"/melonJS/docs/melonjs/Collectable.html#setRegion"},"dx70YqNrAL35c9VRr9fJP":{"uri":"/melonJS/docs/melonjs/Collectable.html#setShape"},"K1BoYPrbr73fJFgWH6hyZ":{"uri":"/melonJS/docs/melonjs/Collectable.html#setVertices"},"NgWmjRp18Bg8yNVbnsyay":{"uri":"/melonJS/docs/melonjs/Collectable.html#shift"},"SGQRJJhhs5WM0-n2GWZkZ":{"uri":"/melonJS/docs/melonjs/Collectable.html#to2d"},"L2TlR9GR7BmEhunFhCFtg":{"uri":"/melonJS/docs/melonjs/Collectable.html#toIso"},"UlH2AxAU38CDkh3Yrb2Pd":{"uri":"/melonJS/docs/melonjs/Collectable.html#toPolygon"},"nb9uAY_8XkExwMltPgIjn":{"uri":"/melonJS/docs/melonjs/Collectable.html#transform"},"pG3SoiT4OSrP7IGKNuwxE":{"uri":"/melonJS/docs/melonjs/Collectable.html#translate"},"ePE9UeW9NEwr9jc-umWwW":{"uri":"/melonJS/docs/melonjs/Collectable.html#union"},"wwIyOdxZ6aU73EJ1xnmfw":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateBounds"},"cglMhnytwEe5WU6URbu-j":{"uri":"/melonJS/docs/melonjs/Collectable.html#draw"},"M-3DQ2wH-MAuDmwvsVKKO":{"uri":"/melonJS/docs/melonjs/Collectable.html#update"},"gpWBT1Go9b7hDsijCDf1P":{"uri":"/melonJS/docs/melonjs/Collectable.html#onAnchorUpdate"},"MA3vcwpZ29SgGYr9hla4v":{"uri":"/melonJS/docs/melonjs/Color.html"},"Mkm940Hr3o8-ofE9SXKA3":{"uri":"/melonJS/docs/melonjs/Color.html#alpha"},"Hj4iDqqdfWzDAsp6ev6dz":{"uri":"/melonJS/docs/melonjs/Color.html#b"},"PSQDw1TyQQBKWZNgTyQBj":{"uri":"/melonJS/docs/melonjs/Color.html#g"},"CFzN-r7UvFTligdqsufna":{"uri":"/melonJS/docs/melonjs/Color.html#r"},"Kfcdhu8RvGj5M9W6OSic2":{"uri":"/melonJS/docs/melonjs/Color.html#add"},"PBN28KawvlnPcUwKEN9zj":{"uri":"/melonJS/docs/melonjs/Color.html#clone"},"zIKpOsQZMdCpGAukJ1K_X":{"uri":"/melonJS/docs/melonjs/Color.html#constructor"},"s1lYcd3NeIHtiT4pVJAKL":{"uri":"/melonJS/docs/melonjs/Color.html#copy"},"Axt0OP8grrRsIm2HwZGU_":{"uri":"/melonJS/docs/melonjs/Color.html#darken"},"VX4Ro0tWxEAPnLl-YdiWA":{"uri":"/melonJS/docs/melonjs/Color.html#equals"},"fd88MXYtS1pAWUnd1oCDx":{"uri":"/melonJS/docs/melonjs/Color.html#lerp"},"J57z2BEXyhm0Is87UChYJ":{"uri":"/melonJS/docs/melonjs/Color.html#lighten"},"QplUmnjmE9JXcvUejey35":{"uri":"/melonJS/docs/melonjs/Color.html#parseCSS"},"1ddRz49TsZd4bNDKGWlvb":{"uri":"/melonJS/docs/melonjs/Color.html#parseHex"},"d2r9fkyPwwvo9S49WgQ7k":{"uri":"/melonJS/docs/melonjs/Color.html#parseRGB"},"yLNVsLL55JTxtbwbVW93i":{"uri":"/melonJS/docs/melonjs/Color.html#random"},"xGrt8qOZXl8wBiQO6XvW8":{"uri":"/melonJS/docs/melonjs/Color.html#setColor"},"aC38XjoyJLwgrVAYYRSo2":{"uri":"/melonJS/docs/melonjs/Color.html#setFloat"},"tR70mlcdO2VE_IWMbRI6W":{"uri":"/melonJS/docs/melonjs/Color.html#setHSL"},"UExMT7AYc4CVAYoJUhO5P":{"uri":"/melonJS/docs/melonjs/Color.html#setHSV"},"kbLR2nK6r2fryGRJDhBLE":{"uri":"/melonJS/docs/melonjs/Color.html#toArray"},"a9yxFNIKiI2z9I4fMvbzo":{"uri":"/melonJS/docs/melonjs/Color.html#toHex"},"KqKSFLR3ia18amxOm8h_D":{"uri":"/melonJS/docs/melonjs/Color.html#toHex8"},"zf3k5-Ktz5umTowvYk7KD":{"uri":"/melonJS/docs/melonjs/Color.html#toRGB"},"JbPJyV1ZU-_JeBBgatBem":{"uri":"/melonJS/docs/melonjs/Color.html#toRGBA"},"zQyx_mg8z09JMa8Cq_KbK":{"uri":"/melonJS/docs/melonjs/Color.html#toUint32"},"nO6LM7Gntkw6LBjChBT5l":{"uri":"/melonJS/docs/melonjs/ColorLayer.html"},"_X1jX5efnfJYL5Kzu17aS":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alpha"},"dh_klT4Oc8u_UE0fNVJlR":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alwaysUpdate"},"WvlcgsKON32r_0gbYTtVa":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#ancestor"},"aHuBNFjdYWM1ZHXl0Uh1J":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#anchorPoint"},"IK_aW_wgvmovMop4EXtX6":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#autoTransform"},"7F-rnGrJMMdcwWN3_0dRe":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#blendMode"},"ta-fI801NbIvm7kcIgGmh":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#body"},"nEJVwf-cr51rEOws4rA_Z":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#bottom"},"yGF81baTYD_-HpNEWu9PD":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerX"},"315vAvsRlI1tC5SX4DtHu":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerY"},"dVL7e-XjSAlVDFspPe_qQ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#color"},"SNDPhsaLJAvVEJVZDDXSc":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#currentTransform"},"y7DZ_1anuU_xv5rk4K-ST":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#depth"},"M01Uiybp7YioAx_VG3Pcy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#floating"},"24XmwQZ0jqZPe8tn04cze":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#GUID"},"JHpAWsS-_RWJ6S8msG1Z4":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#height"},"WRzK6FwS6sxwivd8uYtVH":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#inViewport"},"G_-eJZ8PqQkYIgsmbDGcg":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isDirty"},"THmW0ilOPvEeYfDnP-Z4K":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedX"},"ISvfoYATcAoIdo-HsVaKE":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedY"},"0nR_sMr1DM-AAuCS-lCtZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFloating"},"z2NTXwIB27QjGbaa6B50f":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isKinematic"},"R0xo863NJTgekIZHJWjF4":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isPersistent"},"0MIRt9ffPfKf6NSt3KYfZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#left"},"S0ab7tFR7DVmJ9CqgDA8o":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#mask"},"ok0BonSj6QVrqwFMtV4K5":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#name"},"Xzls2FFB-LWshRBjHh6FC":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onVisibilityChange"},"Hn8XTapVOVumtlJ05-0R_":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#parentApp"},"uKlxExMgD5yDCojli2dFl":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#points"},"qDmtQItKM3ARCCeDpg5W_":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#pos"},"kwk6aDFp3brYPB5aFLQ8U":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#right"},"EcBMc-MsqhBgNzjfhD2jm":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shader"},"SKLi-oHrDVa6g7__MWnAB":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#tint"},"o5TVi_0k4Egh9cIZsD2hM":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#top"},"LYX-GXkMoDQSJ3kEXaAFD":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#type"},"XrRqjuOMrEZbXvVdvg_rv":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateWhenPaused"},"c4q2sCnmqJNrp2vHfOYZu":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#width"},"32YQwbrV1g3HbMfS4e8x1":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#angleTo"},"mBcpnAMTyuHdLiqstSbce":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerOn"},"YGavVDFTT4wG92o0EGlyg":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#clone"},"bAf5rgxxzenL6SZHII43R":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#constructor"},"JGuFhH5eO9UVMqcgUqdcQ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#contains"},"U1OuZ2rEFPWR4q_NDF0nA":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#copy"},"mOWQAa9sQQZ03GbIswMCc":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#distanceTo"},"zoNlyZtlFgGY7SV8J64UW":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#equals"},"owHIEdslifQEOZJlf14Lc":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipX"},"OE9kkA5aiSwe_7JgoepZW":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipY"},"cOBSICnJh6l662dkBwSsp":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getAbsolutePosition"},"3RDCV3Oq2iDlj0tqWeqJr":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getBounds"},"S5jNGXlAXozhV1ebVuEpG":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getIndices"},"cX53YxdJ7GpWcL5WDbp-d":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getOpacity"},"iatZSPRJGVyB1w-rtj6HU":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isConvex"},"5IKiDGOrN1oaRxjc4Prsa":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFinite"},"myewHLFQiNHwtNwEF6q6b":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#lookAt"},"7rnUh1lhRDdqNmPMBUPaq":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onCollision"},"MbEv_kVSfKoopAeriISWL":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onDestroyEvent"},"Ac1x2sldO-aqbAHJWfGe3":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#overlaps"},"1x62K2cqDXTX7-jznM8lO":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#postDraw"},"chYGESxaRxKWWltvMuvBC":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#preDraw"},"uZAAn5KSOAcNSrkhGfVa0":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#recalc"},"LYPmu5keMDdu-ibNc-C_n":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#resize"},"M362qKu1x3LOOR7X23xxK":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#rotate"},"5kwY3FWotI-uLN6C8ZNUk":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scale"},"6H0GOzR5953WN4eKrTWd6":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scaleV"},"pzmy8VJtzhpdqYTQEiqzy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setOpacity"},"CY-iyOrZW_7JMbi1fgZiV":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setShape"},"LZpAmMJfs0YYHlqbJ_f_c":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setVertices"},"ydnvlSfSoUPADvhJUCY-K":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shift"},"d5QCaWqFHJg0hdG2v2jhX":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#to2d"},"RD6Npss-PIZaBLGUf09p-":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toIso"},"5idVcOKt74bRAK_QbRBGI":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toPolygon"},"rvXkrIN7jlo_HKtHykfr1":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#transform"},"s4ffjzL6v1ydcTKwBabAy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#translate"},"mtTVvQFQK24gWTCSADJz0":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#union"},"l8qz34ARMzizWZhOpm21P":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#update"},"c5wqlT5t2T8bTx1lzKmHq":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateBounds"},"ioC9SSp_ii7gMNOwrpQZD":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#draw"},"U3fbkvKyVV_aS1MGgkZUx":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onAnchorUpdate"},"R4BL5phVLwnX_nDF5bqLN":{"uri":"/melonJS/docs/melonjs/Compositor.html"},"rlnXegrTOckckln0Pfm3v":{"uri":"/melonJS/docs/melonjs/Compositor.html#attributes"},"Av9Z_42ceS3fMaSnNOOO9":{"uri":"/melonJS/docs/melonjs/Compositor.html#currentShader"},"e0skydNcduJWXNvtAj4jK":{"uri":"/melonJS/docs/melonjs/Compositor.html#defaultShader"},"HsYPlF-JeoJVlAXvM81j_":{"uri":"/melonJS/docs/melonjs/Compositor.html#mode"},"Ry9W-wBi8IrEYWpaYhFVB":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexByteSize"},"hHEIJifHV5Zh2NsQLNQNH":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexData"},"dC-ObBinoVf37z_MJLDU-":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexSize"},"ew7_w4iPln1q5Z9l7WXY6":{"uri":"/melonJS/docs/melonjs/Compositor.html#addAttribute"},"OGnkMOBM12eMRu_QeGBYv":{"uri":"/melonJS/docs/melonjs/Compositor.html#bind"},"JFdWHXQaGlhWLdOM6J_QY":{"uri":"/melonJS/docs/melonjs/Compositor.html#constructor"},"hMVN-TP4aoVBx-89JAEb7":{"uri":"/melonJS/docs/melonjs/Compositor.html#flush"},"OyrN2LYT90IsyJXzQhhWS":{"uri":"/melonJS/docs/melonjs/Compositor.html#setProjection"},"2NoyOyeDC9-kmQ4RCDUFe":{"uri":"/melonJS/docs/melonjs/Compositor.html#useShader"},"_bbFI4jCNSEU5ksM7vo8g":{"uri":"/melonJS/docs/melonjs/Container.html"},"rllQxDxYQ1BSqPkk50AM7":{"uri":"/melonJS/docs/melonjs/Container.html#alpha"},"9mTNEJDlPNPUC0oji_LCy":{"uri":"/melonJS/docs/melonjs/Container.html#alwaysUpdate"},"_QOtwHriEGCLc1dsYGyoQ":{"uri":"/melonJS/docs/melonjs/Container.html#ancestor"},"02oiQQ2LDnkIx-tdUXfVZ":{"uri":"/melonJS/docs/melonjs/Container.html#anchorPoint"},"EnXUUTcYv4b_qyItNiuvt":{"uri":"/melonJS/docs/melonjs/Container.html#autoDepth"},"qFYiWQfjfx4eJICQ4qNmA":{"uri":"/melonJS/docs/melonjs/Container.html#autoSort"},"LPNwipC8h63HO8iK4jrW3":{"uri":"/melonJS/docs/melonjs/Container.html#autoTransform"},"ZVF0XZo-ZfOttw07zWWgk":{"uri":"/melonJS/docs/melonjs/Container.html#backgroundColor"},"AGvFpeu_RinNuWHrxB0xQ":{"uri":"/melonJS/docs/melonjs/Container.html#blendMode"},"IXuAsjkWM1-1OiY64Xsxr":{"uri":"/melonJS/docs/melonjs/Container.html#body"},"w1FHTwnK6kUcVw9vbVKdQ":{"uri":"/melonJS/docs/melonjs/Container.html#bottom"},"MP2s4ynkkTL-JoZV7s2SV":{"uri":"/melonJS/docs/melonjs/Container.html#centerX"},"onVo4Pzt-I3gLUra0nqTj":{"uri":"/melonJS/docs/melonjs/Container.html#centerY"},"mRFo-zv2gPdZf2a4eIrns":{"uri":"/melonJS/docs/melonjs/Container.html#clipping"},"uVoQP3mTfiNUH5OZZD5aH":{"uri":"/melonJS/docs/melonjs/Container.html#currentTransform"},"Xzwm9E_EBa58Qh4c87dxj":{"uri":"/melonJS/docs/melonjs/Container.html#depth"},"aMVkFrv6jozCQB5ocE0wJ":{"uri":"/melonJS/docs/melonjs/Container.html#enableChildBoundsUpdate"},"F_Pn4pQLwGBAFc-a4twFO":{"uri":"/melonJS/docs/melonjs/Container.html#floating"},"FjeK0g_zTpzuVyOpqqDqz":{"uri":"/melonJS/docs/melonjs/Container.html#GUID"},"3PoqfqWbvdLXlnreion9Q":{"uri":"/melonJS/docs/melonjs/Container.html#height"},"5bjJ4BmzN4moOmNkkR3z1":{"uri":"/melonJS/docs/melonjs/Container.html#inViewport"},"U3lAsi4v9r1xIWvW-Iegi":{"uri":"/melonJS/docs/melonjs/Container.html#isDirty"},"TNgGciDcbiCl7vS1mP7cY":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedX"},"gZWSOMa4zpGfrCNb2my_z":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedY"},"EZSZfO_rWvxvLVBhw61iw":{"uri":"/melonJS/docs/melonjs/Container.html#isFloating"},"tdMBPgsD4KqJxwfajRvnU":{"uri":"/melonJS/docs/melonjs/Container.html#isKinematic"},"67QEZ3Ae_bgm0OuQMPXsY":{"uri":"/melonJS/docs/melonjs/Container.html#isPersistent"},"LmqrQu2EA2bg3zX261VOK":{"uri":"/melonJS/docs/melonjs/Container.html#left"},"uwr93wXw6xCsWz7Zyde5V":{"uri":"/melonJS/docs/melonjs/Container.html#mask"},"jwJ0kq-Roh_FmupqgSH75":{"uri":"/melonJS/docs/melonjs/Container.html#name"},"m2ghRA7GYsxkTO4J-ZKhv":{"uri":"/melonJS/docs/melonjs/Container.html#onVisibilityChange"},"E9RIG_5UQZXZzLRovLLWn":{"uri":"/melonJS/docs/melonjs/Container.html#parentApp"},"J4ryJeIL7XldAroX5znFF":{"uri":"/melonJS/docs/melonjs/Container.html#points"},"k0YRRHL7KV6NZHW_negay":{"uri":"/melonJS/docs/melonjs/Container.html#pos"},"dJS__4Z_V38YyzYaMrKWA":{"uri":"/melonJS/docs/melonjs/Container.html#right"},"85NRc1_gpP7TKbUa2LFZT":{"uri":"/melonJS/docs/melonjs/Container.html#root"},"P7lfEAHBU7uSaRVu75542":{"uri":"/melonJS/docs/melonjs/Container.html#shader"},"DUkB2vph-TV9vtlLSXh_O":{"uri":"/melonJS/docs/melonjs/Container.html#sortOn"},"5NM4hP7Z1f0E81j9zgwaj":{"uri":"/melonJS/docs/melonjs/Container.html#tint"},"Nk1-TGF48QcZGimJ81S1N":{"uri":"/melonJS/docs/melonjs/Container.html#top"},"vSkqscUn2TM2ldHoFOYyH":{"uri":"/melonJS/docs/melonjs/Container.html#type"},"42frC4RTn1gn8EnZuT8wc":{"uri":"/melonJS/docs/melonjs/Container.html#updateWhenPaused"},"NuFQ2mhcE-iyLbeNh4vBg":{"uri":"/melonJS/docs/melonjs/Container.html#width"},"UbDb_H0Io2iMTUruItGSt":{"uri":"/melonJS/docs/melonjs/Container.html#addChild"},"TH5ih9ZGzNE4aBbyFwxmN":{"uri":"/melonJS/docs/melonjs/Container.html#addChildAt"},"H4ysCSxyoYlUIpriph1R4":{"uri":"/melonJS/docs/melonjs/Container.html#angleTo"},"1vEFIciPeZrw9wdL03KDX":{"uri":"/melonJS/docs/melonjs/Container.html#centerOn"},"7mRcJfR5SWpCej_UT5haK":{"uri":"/melonJS/docs/melonjs/Container.html#clone"},"IcTh6-98wzwj2ls-xisJy":{"uri":"/melonJS/docs/melonjs/Container.html#constructor"},"3lGaRnhIppSudpMUtTIPM":{"uri":"/melonJS/docs/melonjs/Container.html#contains"},"kke3N0Oby6rn69CbNymr8":{"uri":"/melonJS/docs/melonjs/Container.html#copy"},"rg_1unX5_s33flMHDSoEm":{"uri":"/melonJS/docs/melonjs/Container.html#distanceTo"},"YmmTVdh_yq3QGOAnqatHQ":{"uri":"/melonJS/docs/melonjs/Container.html#equals"},"iao7IPhALoG4W1_RHStCM":{"uri":"/melonJS/docs/melonjs/Container.html#flipX"},"JucFH20EYKHhunPNwyEKS":{"uri":"/melonJS/docs/melonjs/Container.html#flipY"},"ntfY3j9WF8dyef3wnZem7":{"uri":"/melonJS/docs/melonjs/Container.html#forEach"},"Hg0UIyZOrrzWDOuNUyWeN":{"uri":"/melonJS/docs/melonjs/Container.html#getAbsolutePosition"},"cywRncYzn8vtfnahU_VRY":{"uri":"/melonJS/docs/melonjs/Container.html#getBounds"},"aUmZ6gBSzQb7p09L24Dwr":{"uri":"/melonJS/docs/melonjs/Container.html#getChildAt"},"PIRJdJS8ndSBE_sslaxfe":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByGUID"},"fGmU-hyuthHE9QBrdnjDD":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByName"},"kran_hB_k-rMgOYAo_LIL":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByProp"},"4QcyR2dAuAs46SaEACcx-":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByType"},"wit2Z39wgST1MTVzPSV0P":{"uri":"/melonJS/docs/melonjs/Container.html#getChildIndex"},"OifvNyKeIpR48C5uaRudw":{"uri":"/melonJS/docs/melonjs/Container.html#getChildren"},"BvkxZt9uy8PZMniRZEPDk":{"uri":"/melonJS/docs/melonjs/Container.html#getIndices"},"sDub-1qPA7a5JKljjeTfr":{"uri":"/melonJS/docs/melonjs/Container.html#getNextChild"},"otaxF4ue3SypBeMm_TLud":{"uri":"/melonJS/docs/melonjs/Container.html#getOpacity"},"DHWd9Pn_HawvK2AlW0xVh":{"uri":"/melonJS/docs/melonjs/Container.html#getRootAncestor"},"zS5iG3j0VHp_jGdePycXR":{"uri":"/melonJS/docs/melonjs/Container.html#hasChild"},"czdIAJuIZrKkO4htqhM-f":{"uri":"/melonJS/docs/melonjs/Container.html#isAttachedToRoot"},"fk46D2s8TP0jjLRtMbwII":{"uri":"/melonJS/docs/melonjs/Container.html#isConvex"},"UjyP25i-jgytEiM994Jhv":{"uri":"/melonJS/docs/melonjs/Container.html#isFinite"},"geWtjeyau2K5t8WqObl6i":{"uri":"/melonJS/docs/melonjs/Container.html#lookAt"},"myaejMbbHZP6V4r97ABYn":{"uri":"/melonJS/docs/melonjs/Container.html#moveDown"},"rTXUGV2yGflqsEgNROqnq":{"uri":"/melonJS/docs/melonjs/Container.html#moveToBottom"},"sWhO1wNf4r6qlvWFbvMEt":{"uri":"/melonJS/docs/melonjs/Container.html#moveToTop"},"dlCA09Bwd2DseKKErcDsG":{"uri":"/melonJS/docs/melonjs/Container.html#moveUp"},"xJPVZrqIT03Odv-pLHrw8":{"uri":"/melonJS/docs/melonjs/Container.html#onChildChange"},"bIHe2PaZ226X6FT-iQBOK":{"uri":"/melonJS/docs/melonjs/Container.html#onCollision"},"otgsmEawku3ByYT2oD7c3":{"uri":"/melonJS/docs/melonjs/Container.html#onDestroyEvent"},"95eK5M_WEVo8fkoJutAPn":{"uri":"/melonJS/docs/melonjs/Container.html#overlaps"},"eNgq5h5Auo1rfZ-GXTM83":{"uri":"/melonJS/docs/melonjs/Container.html#postDraw"},"te9eoPpK433yym0hXslUO":{"uri":"/melonJS/docs/melonjs/Container.html#preDraw"},"DEgeYbu6SRNPTM6iHlS5I":{"uri":"/melonJS/docs/melonjs/Container.html#recalc"},"HGlrnqS1I9osGNr-_sJta":{"uri":"/melonJS/docs/melonjs/Container.html#removeChild"},"WwmCJR5-6qqDK4txwQsY-":{"uri":"/melonJS/docs/melonjs/Container.html#removeChildNow"},"o2-7LghZEno_AaEq3wgZG":{"uri":"/melonJS/docs/melonjs/Container.html#reset"},"sIDi-nlxCngEQRjmNL_q9":{"uri":"/melonJS/docs/melonjs/Container.html#resize"},"u-NhEx2dEDsoz-EC4X36W":{"uri":"/melonJS/docs/melonjs/Container.html#rotate"},"RM9btngfh4Uo_O_aZ1BFa":{"uri":"/melonJS/docs/melonjs/Container.html#scale"},"KrHxpOrxqKzf0c3savBkg":{"uri":"/melonJS/docs/melonjs/Container.html#scaleV"},"Rl0YqOqnm4X8leGmPeeK4":{"uri":"/melonJS/docs/melonjs/Container.html#setChildsProperty"},"WRfo-HhhegArqpmh0-bfo":{"uri":"/melonJS/docs/melonjs/Container.html#setOpacity"},"HGv865OdGt1jB4AqUMBuP":{"uri":"/melonJS/docs/melonjs/Container.html#setShape"},"ZRzI3XTszXjcyyku7O3_z":{"uri":"/melonJS/docs/melonjs/Container.html#setVertices"},"LaVR2CofsYwnf7tGIVL58":{"uri":"/melonJS/docs/melonjs/Container.html#shift"},"DydlAgtkXOyIWssu-vbSB":{"uri":"/melonJS/docs/melonjs/Container.html#sort"},"fkzUZtY82ilxVc6yRLw3i":{"uri":"/melonJS/docs/melonjs/Container.html#swapChildren"},"7ftVCES4d_LDgcwF6fKMu":{"uri":"/melonJS/docs/melonjs/Container.html#to2d"},"bWs-6Lxgxkm-AQOdoxkKm":{"uri":"/melonJS/docs/melonjs/Container.html#toIso"},"qQQaDIifzTc_WaUKYPMpu":{"uri":"/melonJS/docs/melonjs/Container.html#toPolygon"},"O1voZcYW36QwM4H2EXdpV":{"uri":"/melonJS/docs/melonjs/Container.html#transform"},"f1Wk9cbHkIXVC7oGfaDSx":{"uri":"/melonJS/docs/melonjs/Container.html#translate"},"g9HxrlEgqOe3rt7bWu6-X":{"uri":"/melonJS/docs/melonjs/Container.html#union"},"ogY21jZbbHFljCFjC6-mv":{"uri":"/melonJS/docs/melonjs/Container.html#updateBounds"},"Tt4gblJiMiQD1dTvvmwA6":{"uri":"/melonJS/docs/melonjs/Container.html#draw"},"0fumJA6BsutTSVJaxfFv_":{"uri":"/melonJS/docs/melonjs/Container.html#update"},"fzOBPhR-Uv6_FXdrDVKXH":{"uri":"/melonJS/docs/melonjs/Container.html#onAnchorUpdate"},"qSOFHs24uCMnVQ9R2oO1k":{"uri":"/melonJS/docs/melonjs/Detector.html"},"J3U4tALxO2pdYIpmt8dLx":{"uri":"/melonJS/docs/melonjs/Detector.html#response"},"fXPb4QcTR7OYZLtAqe6EI":{"uri":"/melonJS/docs/melonjs/Detector.html#collides"},"HGdL01ycaEbGH2LN-gHAD":{"uri":"/melonJS/docs/melonjs/Detector.html#constructor"},"0DLZYns8RW5X-fIU_dA9R":{"uri":"/melonJS/docs/melonjs/Detector.html#shouldCollide"},"Ij0MzZtt2kJxQ8XvGBa4v":{"uri":"/melonJS/docs/melonjs/Draggable.html"},"yHYxX-WPR7doT98N3UaOg":{"uri":"/melonJS/docs/melonjs/Draggable.html#alpha"},"I5qCWg8RdxtW9mdkpMwFd":{"uri":"/melonJS/docs/melonjs/Draggable.html#alwaysUpdate"},"aEapBdw-lPKM80gPTYUzP":{"uri":"/melonJS/docs/melonjs/Draggable.html#ancestor"},"yGm8r3zDQ2VqMwn6SBgVH":{"uri":"/melonJS/docs/melonjs/Draggable.html#anchorPoint"},"olzUpiwjCIA5IQcldeYUm":{"uri":"/melonJS/docs/melonjs/Draggable.html#autoTransform"},"Wqq88GxBsAn2AmgKTkczl":{"uri":"/melonJS/docs/melonjs/Draggable.html#blendMode"},"JitoXkLowsOMFSzICRbbI":{"uri":"/melonJS/docs/melonjs/Draggable.html#body"},"13AzRwydf3fpoXKQDmH0e":{"uri":"/melonJS/docs/melonjs/Draggable.html#bottom"},"G4tAnpYNtMQrLPTJggkIP":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerX"},"4h0_knoWaTNylGKG6PDhr":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerY"},"-sVnvR5uDBuolYdTypUO8":{"uri":"/melonJS/docs/melonjs/Draggable.html#currentTransform"},"Gg_zxk1g1wX6c9pVnCiqW":{"uri":"/melonJS/docs/melonjs/Draggable.html#depth"},"KidM2TB4h6bqVzn1DqzDQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#floating"},"yWzBtFIvA3yxMcwFPIpLZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#GUID"},"6U-UqN-Ue8zqy8m7HS1dV":{"uri":"/melonJS/docs/melonjs/Draggable.html#height"},"OwzpMMPKz-tOahIM207tB":{"uri":"/melonJS/docs/melonjs/Draggable.html#inViewport"},"C4x8W0ecezJ9OibBKL_5T":{"uri":"/melonJS/docs/melonjs/Draggable.html#isDirty"},"ATDj_xhltdO_Arh77h6k0":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedX"},"fIpm7jVjo3NrN3cbUb9xA":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedY"},"3F6_Mv2WPIa8cBq8idoLC":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFloating"},"4w2Liamz7Dzc1hSL9kmmf":{"uri":"/melonJS/docs/melonjs/Draggable.html#isKinematic"},"j4B5UcP1phUyj936ORisl":{"uri":"/melonJS/docs/melonjs/Draggable.html#isPersistent"},"pOt5QYXYUolew5uG0_OJw":{"uri":"/melonJS/docs/melonjs/Draggable.html#left"},"bfWDqjlwNpn7V9r28FyQl":{"uri":"/melonJS/docs/melonjs/Draggable.html#mask"},"bbzY7edZ4xkwJ-Fv21WJP":{"uri":"/melonJS/docs/melonjs/Draggable.html#name"},"lWihuJksnNRWtifDQ07oN":{"uri":"/melonJS/docs/melonjs/Draggable.html#onVisibilityChange"},"7cXtJnBtmzzjgRFi4MURE":{"uri":"/melonJS/docs/melonjs/Draggable.html#parentApp"},"T8gvl_TTwIMCat3pG0mpV":{"uri":"/melonJS/docs/melonjs/Draggable.html#points"},"pGyVJPZUM-5tyM4BDNFzk":{"uri":"/melonJS/docs/melonjs/Draggable.html#pos"},"P1-nKOdQBMB45LoZb34BI":{"uri":"/melonJS/docs/melonjs/Draggable.html#right"},"10qm1OGCmtxUFrz2ymRcb":{"uri":"/melonJS/docs/melonjs/Draggable.html#shader"},"tLQiZ9BwT_8MYpQwUlol1":{"uri":"/melonJS/docs/melonjs/Draggable.html#tint"},"TApgs5xy-hi3tK7DWYWAH":{"uri":"/melonJS/docs/melonjs/Draggable.html#top"},"VPAKONWqASslKp-SRYLEW":{"uri":"/melonJS/docs/melonjs/Draggable.html#type"},"z85K51r7SFytBVv8HNhpP":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateWhenPaused"},"6A_5WEKNyzLw3tHT5eou4":{"uri":"/melonJS/docs/melonjs/Draggable.html#width"},"qcDBOQs9A2LlnoLeql29k":{"uri":"/melonJS/docs/melonjs/Draggable.html#angleTo"},"MKHxdhj8dxnTTqgst-Ptz":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerOn"},"ldLnaj2GHhwXWALuPZfN3":{"uri":"/melonJS/docs/melonjs/Draggable.html#clone"},"WRzHFvefDh3G14UfTD9fC":{"uri":"/melonJS/docs/melonjs/Draggable.html#constructor"},"h14qmfVLNQkAgYZllz6N0":{"uri":"/melonJS/docs/melonjs/Draggable.html#contains"},"A-bpuBqzdUygvogQaTt7X":{"uri":"/melonJS/docs/melonjs/Draggable.html#copy"},"psz33xohDP2IbaSx2dkJl":{"uri":"/melonJS/docs/melonjs/Draggable.html#distanceTo"},"D9lV32UVoSznRtWX8DmwF":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragEnd"},"vXJXKjyaVHek663KJohaX":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragMove"},"cmAzfR9cU1nOoW5B63vQk":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragStart"},"bkZWgcBKCtEXjYarS94hI":{"uri":"/melonJS/docs/melonjs/Draggable.html#draw"},"tj-iU8-ZtZUbZWLsjGL2Q":{"uri":"/melonJS/docs/melonjs/Draggable.html#equals"},"Oc0yYERc49E3p35O1sTL3":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipX"},"onEooiq7zayWlNS6ucOKS":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipY"},"GfslXa28xD0BVCXik2aWo":{"uri":"/melonJS/docs/melonjs/Draggable.html#getAbsolutePosition"},"T4Du_37NhvSix1lp03ruQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#getBounds"},"hzgL0E0Nt6--9z3gbNBCO":{"uri":"/melonJS/docs/melonjs/Draggable.html#getIndices"},"pyVREKbsKseOisBjnqLDw":{"uri":"/melonJS/docs/melonjs/Draggable.html#getOpacity"},"YI69ORCycPxVHrWL7IbAh":{"uri":"/melonJS/docs/melonjs/Draggable.html#isConvex"},"K3POFm6ed0TSeidyURV0s":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFinite"},"TiYNdltK5GlVTQjf9t0-D":{"uri":"/melonJS/docs/melonjs/Draggable.html#lookAt"},"W7nNKh3evw_HhsD1JvafR":{"uri":"/melonJS/docs/melonjs/Draggable.html#onCollision"},"lnep-osUxc9fsRB30vjCy":{"uri":"/melonJS/docs/melonjs/Draggable.html#onDestroyEvent"},"XNXQpeTTL_t_7PFPJkx20":{"uri":"/melonJS/docs/melonjs/Draggable.html#overlaps"},"eeJiWppCih25EWxB5DJRR":{"uri":"/melonJS/docs/melonjs/Draggable.html#postDraw"},"DTG_RxV9tRVbRRrmcLvnD":{"uri":"/melonJS/docs/melonjs/Draggable.html#preDraw"},"1tGuqp6t4GHiL737UcljM":{"uri":"/melonJS/docs/melonjs/Draggable.html#recalc"},"x26VMCaA5D3SMCDFPzpeA":{"uri":"/melonJS/docs/melonjs/Draggable.html#resize"},"abCzMvkxmYP1g4dHxjYk7":{"uri":"/melonJS/docs/melonjs/Draggable.html#rotate"},"mmTPqvWuGI3kmqTB-HF8I":{"uri":"/melonJS/docs/melonjs/Draggable.html#scale"},"emFiXhlfVhPRG93hvneae":{"uri":"/melonJS/docs/melonjs/Draggable.html#scaleV"},"mcGLNomcpRmF0cjaIM2jW":{"uri":"/melonJS/docs/melonjs/Draggable.html#setOpacity"},"SfWMh1kjHn46IELPTxyTG":{"uri":"/melonJS/docs/melonjs/Draggable.html#setShape"},"lgMTYRH65hZJ6PLTeSHI_":{"uri":"/melonJS/docs/melonjs/Draggable.html#setVertices"},"QrVxn9vjbaL14EWKppWde":{"uri":"/melonJS/docs/melonjs/Draggable.html#shift"},"vtANGTKftIdgzboaRPrmA":{"uri":"/melonJS/docs/melonjs/Draggable.html#to2d"},"rFLhMV5iqpJNofb1ZTBDf":{"uri":"/melonJS/docs/melonjs/Draggable.html#toIso"},"lI33wwBI4-sGlYUvWY7hR":{"uri":"/melonJS/docs/melonjs/Draggable.html#toPolygon"},"EZ_HRPGYcsdkAQjHY64s-":{"uri":"/melonJS/docs/melonjs/Draggable.html#transform"},"bLexl-c7VVYSJg2-w4Fuo":{"uri":"/melonJS/docs/melonjs/Draggable.html#translate"},"uQ8Z4qmROrqIDF0_Q6UYo":{"uri":"/melonJS/docs/melonjs/Draggable.html#union"},"DAYCNuuK40nidmBrMAMdD":{"uri":"/melonJS/docs/melonjs/Draggable.html#update"},"htUFdI7NYAQ3ZarltcZmI":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateBounds"},"b8mpBhsSayWpiw07Tx2H_":{"uri":"/melonJS/docs/melonjs/Draggable.html#initEvents"},"U5W8HBDKmaf9BeM-Z3PY2":{"uri":"/melonJS/docs/melonjs/Draggable.html#onAnchorUpdate"},"NWmtJX4sCCM04x5xl7XlR":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html"},"X0f-E3bEK-MH1G7ct_-Gh":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alive"},"rB5h_IjyjUplSMg5bSojW":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alpha"},"kuIfI8oUEx4RXwlTlJtxo":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alwaysUpdate"},"ShSzTgflYsY2noAduLPMG":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#ancestor"},"cjJm7q_zbtaTcndIhjvhL":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#anchorPoint"},"cgOff_aaBrGUwd9z2vW0o":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#autoTransform"},"AiRZOXU9eKjzohM193uqu":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#blendMode"},"q9DKM1-L5UvY8MdeZMuJC":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#body"},"zARZvtuln_OXTBup9Y7QU":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#bottom"},"qVsQsqErDyus1J4r-PKpK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerX"},"3ZF0IOnvCXWH_qXq0loCR":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerY"},"9solcg4FbONDr3FlL3Lud":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#currentTransform"},"mJwA2igjSPdolJrSw3LLJ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#depth"},"QkEhJtGl_5amzmeGLGY6e":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#floating"},"o5ov03TTNEeV7sJAbyhpD":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#GUID"},"OzEaeS3Zu6F8S4bmBc9ae":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#height"},"VJ7Co9vo0fC-dcgI_cejj":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#id"},"wKRptxyveEwW7i4eeFN9x":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#inViewport"},"A6x7xvTusutPDHldx6w4A":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isDirty"},"mBwEypMgIFVZjeLk8dTi3":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedX"},"XDSIGr9RRXoqvYun-BSv4":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedY"},"YoKFMKx9kz3YZ1GloO318":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFloating"},"EHzX1R5QjAeyK6Ksx5qhr":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isKinematic"},"7rq6FHwwzCXuyAX9Tft_w":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isPersistent"},"HnRxmAKVwkZLg2cCFheLa":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#left"},"VE5OR-0mdW9eNfTi0bxlf":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#mask"},"hPefZjdOr-VWTKtmoP0nF":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#name"},"XPTOT_lijJx9w9S9phaUd":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onVisibilityChange"},"fA5WiV3bgLUeHCX1j2p-c":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#parentApp"},"qG3eaqQZhytUA09FcUXQ9":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#points"},"d83vjRB_CzpEQR0aqFTL6":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#pos"},"G1OjoFi6RukSVFcgrCxhr":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#renderable"},"J8kMPpkHoiVAVlrGBytzz":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#right"},"QPiF2eaEclClpxFcBZezw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shader"},"TiaTLUcQavCxo_CLfesMm":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#tint"},"v36xgtzaTpFkDIOi6vaFl":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#top"},"3J2HNlbbyk0l9UF7X6W7n":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#type"},"l7zx80DJW7CshQimElJHq":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateWhenPaused"},"tGTIuUcnOGvC__-nxRF5M":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#width"},"BdzjR_8cylHdCee1BeisH":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#angleTo"},"23gJukOA7Lk_1zKLWvg0x":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerOn"},"guC9drXJovUZAz4-wy2_W":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#clone"},"pLt0Mt6NwoUB9OonhVI6M":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#constructor"},"24jUzyosfa60SuqdfBOYB":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#contains"},"v9bf9AsS_aTBnbhF71h6g":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#copy"},"sb3eiJHaInqpkuwAJ4PtT":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#distanceTo"},"imdCryTYMnPt98ub8_E1J":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#equals"},"zVle7xHCW_NPfXPZ7rcW9":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipX"},"HfmXL7Lgs0e5EKqPJGIFy":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipY"},"jgNJY9EMU0xOvUOGw0Uy3":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getAbsolutePosition"},"iQs43YkiuOak-biAyGRfq":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getBounds"},"5Iv2rqdjdzIiqyMZxO9Ir":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getIndices"},"2wMOrYXeMGMC55A3HY8rA":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getOpacity"},"8q8P7CmnAW1GrYCK-nlYC":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isConvex"},"JhOL5YVZjYY1OGtaUntDl":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFinite"},"Vk-GDNSZPOdaQyMIfcdUM":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#lookAt"},"OBQW9j6ua3hLnmG2eYvCe":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onBodyUpdate"},"xoZpUI5kU3k5NL-EuucLN":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onCollision"},"_Y0UQY6KvrnHnsHXUfHgN":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDeactivateEvent"},"Cxu7aAclGD9HBMlYrPdxz":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDestroyEvent"},"uegicD7FJaDUxUX2vphVc":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#overlaps"},"typnExpPdK3CFd0-TazBa":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#postDraw"},"4vu0YVeDCVlOOdczxYd5j":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#preDraw"},"WEehJERfpUrFLypIjIbfD":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#recalc"},"Hzn9NImKU_pXQNQcYeoZn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#resize"},"8ZtcMvSkl6uUsVZBLDzjO":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#rotate"},"wlp_ZRG7pSQIALBggDU3Y":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scale"},"HNf9-DcbVFUbNFH_SppTl":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scaleV"},"HCKisONSVpkI6LyYZ5t0Q":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setOpacity"},"_iwW8t1684GdhmqXwP6LW":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setShape"},"hirkQDLvmZDJTd7GWJGnQ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setVertices"},"b9NxbsZJcWnMGjQoa-gjK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shift"},"nY4aNHfQ2Mrq6c3K69RQh":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#to2d"},"pM59NLyTMangYQkTn-5nr":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toIso"},"Zqt_jzzOHEF7lRH4BuUNQ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toPolygon"},"YD_n78VB65ryYj1x3fqXw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#transform"},"Vx2Uzs8PSFEpfbAKynEGZ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#translate"},"sZC3Mb5tbsVpTalOme8DU":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#union"},"FrTD3qOk8sWZGX5Kl17Kr":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#update"},"Lcy-y69-8v7TzDM1r5ybV":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateBounds"},"ckOxZXF5RRXLqMc253hk9":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#draw"},"-geiKSgQUREhhkAlNTj4z":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onAnchorUpdate"},"zyyuS_12avGi1P9m7djt4":{"uri":"/melonJS/docs/melonjs/DropTarget.html"},"LR7QRIAwma0es9XWVjdLx":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alpha"},"ZXypN5lC33_kF5OObp6TT":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alwaysUpdate"},"i2nEV8Pi7ukkagPzQElT9":{"uri":"/melonJS/docs/melonjs/DropTarget.html#ancestor"},"uZI34lhVvzPAW4ZqdP1Nz":{"uri":"/melonJS/docs/melonjs/DropTarget.html#anchorPoint"},"CwkO_Y2LuipUCnuImvspS":{"uri":"/melonJS/docs/melonjs/DropTarget.html#autoTransform"},"8hyOTnjdN2lHIxJ8yPJlE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#blendMode"},"a5O_oIRyAwJ2iFvrAwJDG":{"uri":"/melonJS/docs/melonjs/DropTarget.html#body"},"N4vfzNTwbtWIFTQlYeWcx":{"uri":"/melonJS/docs/melonjs/DropTarget.html#bottom"},"n6M5M2PKUQ_H_g16i4Awb":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerX"},"JUc5t5VjzUyq3s4W8xS42":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerY"},"ZLvksZ85OPeavIHHo0Iat":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkMethod"},"Z6IhL7WD1LvcMICOc6YGX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_CONTAINS"},"wlKrsLvgi3YZkWk09CUJX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_OVERLAP"},"C80e0YTj35q7XfFm_vOkV":{"uri":"/melonJS/docs/melonjs/DropTarget.html#currentTransform"},"yHmsnaBwPf8nq5LPKA86D":{"uri":"/melonJS/docs/melonjs/DropTarget.html#depth"},"ksKrVLZ9i9Jm74Rr1Vkjj":{"uri":"/melonJS/docs/melonjs/DropTarget.html#floating"},"OBVrp4RsTFBfNhkZMFrVG":{"uri":"/melonJS/docs/melonjs/DropTarget.html#GUID"},"LGiq0z7Yj_t9Ph_d7VVIQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#height"},"9AEjPEVSDNZJXKyq3EJex":{"uri":"/melonJS/docs/melonjs/DropTarget.html#inViewport"},"2rASH3pkss8aYu0kqM178":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isDirty"},"Q_ehA7p4RbrHNHx3sF0IP":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedX"},"fbPGc5VdR_t5KvZUG4IQh":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedY"},"-2VmTc_0cuOtogrxYt5Hc":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFloating"},"s1P27cOyK94BDCgggcdV_":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isKinematic"},"KoohN96eZYEaEhg_AdJoL":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isPersistent"},"YIjQKGjrd1Aa2Uf8VHseA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#left"},"JftjSkmaNiPYCwSo1KnoS":{"uri":"/melonJS/docs/melonjs/DropTarget.html#mask"},"qxiXgQRRkr4zDEB2rSMJC":{"uri":"/melonJS/docs/melonjs/DropTarget.html#name"},"3BIU6pSM5jd5FAYCgOFK-":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onVisibilityChange"},"JUATs-P2OvhLettAna7zh":{"uri":"/melonJS/docs/melonjs/DropTarget.html#parentApp"},"lSTBIqwpjkRU2lm8A_GGv":{"uri":"/melonJS/docs/melonjs/DropTarget.html#points"},"vPc0dB4hNzgyRbqfeCj2h":{"uri":"/melonJS/docs/melonjs/DropTarget.html#pos"},"BvmnhB4w86wV2pLWHDCvB":{"uri":"/melonJS/docs/melonjs/DropTarget.html#right"},"fnZmd9yArN_Za-pNApAzV":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shader"},"U58lPHdv69GP5cx7lq3Va":{"uri":"/melonJS/docs/melonjs/DropTarget.html#tint"},"7bP-_eeKvUgsw5TU0HI1K":{"uri":"/melonJS/docs/melonjs/DropTarget.html#top"},"YgF1WwRVsVCTERcwgcbth":{"uri":"/melonJS/docs/melonjs/DropTarget.html#type"},"PJrKg104TcEFfiQKhs8Rp":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateWhenPaused"},"G7XgYlh3m03zLre9DZ-c1":{"uri":"/melonJS/docs/melonjs/DropTarget.html#width"},"JqZ0WPQFonKMi08E0VFYh":{"uri":"/melonJS/docs/melonjs/DropTarget.html#angleTo"},"IcCiedCkz5aqRaPeeo48H":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerOn"},"l8mtx8K44CfJMrvThk0uK":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkOnMe"},"9DVQdWiDFKv5jz0xOEigQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#clone"},"RbeOMuGE8mujlMoZS7fvu":{"uri":"/melonJS/docs/melonjs/DropTarget.html#constructor"},"8xB9lGeO-RLZRqDYENvy4":{"uri":"/melonJS/docs/melonjs/DropTarget.html#contains"},"iHnRhMgMSXXirChD0D0_X":{"uri":"/melonJS/docs/melonjs/DropTarget.html#copy"},"VgNBbKa1lU6M8Ue2qcrgA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#distanceTo"},"yFfmynUZ64TJqRhDFY5ob":{"uri":"/melonJS/docs/melonjs/DropTarget.html#draw"},"1Mh98r2Hh_vKYozk6TRcz":{"uri":"/melonJS/docs/melonjs/DropTarget.html#drop"},"2FmGKnApXzfOY6eLmyRyp":{"uri":"/melonJS/docs/melonjs/DropTarget.html#equals"},"E3gdaB_-FpzjFDkCK2phA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipX"},"PKg9A3_YmICuZKIipowz7":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipY"},"VfnZbf6iBGYRyxCkb_2we":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getAbsolutePosition"},"LCz5E8ocSHV98Pw9Sdu83":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getBounds"},"UH6z04RlMTrTpx6BjCrSi":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getIndices"},"s7QQYE6YMUWRBBlHYn9VZ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getOpacity"},"jCA9Ky-7L5OFL7_f3BER4":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isConvex"},"1YxnqM2UP0H-Pw0_hDQTP":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFinite"},"UcWMvQGQMQwFb155SRNu3":{"uri":"/melonJS/docs/melonjs/DropTarget.html#lookAt"},"Q6qcgpDMQ9hxWoWeX0n3y":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onCollision"},"GLly3wjry-npbbP-xhFdI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onDestroyEvent"},"QfE8v4ts5hu6Hk7QsFukB":{"uri":"/melonJS/docs/melonjs/DropTarget.html#overlaps"},"P0In71SRNqTug2DiuSXFC":{"uri":"/melonJS/docs/melonjs/DropTarget.html#postDraw"},"qnIna18pG_NQFkVb5r2_f":{"uri":"/melonJS/docs/melonjs/DropTarget.html#preDraw"},"C3YLuvOi9PXK1LkrXmaD3":{"uri":"/melonJS/docs/melonjs/DropTarget.html#recalc"},"DxyV44WxdGxpq6bBoL7hf":{"uri":"/melonJS/docs/melonjs/DropTarget.html#resize"},"t9wQv46xaKC_Gb4_4TDR2":{"uri":"/melonJS/docs/melonjs/DropTarget.html#rotate"},"7S4kbDxDtwBfKOmjabatJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scale"},"1JYVnmBCinjAEvpfAwFns":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scaleV"},"3hwUdinAVbMaAjASvR3_8":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setCheckMethod"},"LpUDL6wYjP11W4rCmVMhJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setOpacity"},"1McBkNyWGyfOMWX15a5KT":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setShape"},"faDuPlHnadee5ErAVn8n5":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setVertices"},"7MDAy_tad9jGk0hSFXxTN":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shift"},"Do-T1PAL6otEgHBa-dp_W":{"uri":"/melonJS/docs/melonjs/DropTarget.html#to2d"},"E2obSBBmEFEl5fH35_-pK":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toIso"},"YoHxFQ5HxiQxaEynrgRvs":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toPolygon"},"0vwA65hTlX820Z4SB9tO-":{"uri":"/melonJS/docs/melonjs/DropTarget.html#transform"},"_X5xhHk7-3k64Nfyp22AR":{"uri":"/melonJS/docs/melonjs/DropTarget.html#translate"},"4PbltIj2siCKgZVltuLtY":{"uri":"/melonJS/docs/melonjs/DropTarget.html#union"},"BY0RpjKDj_vulyJm2eSwJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#update"},"TizbS-HEcBfYHtbjbWG-3":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateBounds"},"qt81IeX53_XpFliYeXMF1":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onAnchorUpdate"},"_S9PJwzpEENsqyN4d99PH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html"},"z6CzsfNZjQCDKY7vJXQhK":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alive"},"WClI3mT-xf7kKun8-Md_z":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alpha"},"oP9VPqeu6jrBV4bPFVaaP":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alwaysUpdate"},"bpZKekF6RqN7aOx9v0Dv8":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#ancestor"},"60l2U89QCimJuqOW6Vgh6":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#anchorPoint"},"ejWB_YVp-kv0d4jujbEXS":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#autoTransform"},"IS15z6VDjpHfgw1N1TUxb":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#blendMode"},"UFn1_0P5cqbjJ3rTZSQ2G":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#body"},"PO6sCaVhuXBMMI6IDfQab":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#bottom"},"1btXSNLOC7m97pRGUCsS0":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerX"},"NkN7TPTbMno0pKSllg4ks":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerY"},"XDWy-xElDDruqqywj2UqX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#currentTransform"},"sDrLOLCjEbupLLI7_JDdO":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#depth"},"fEVC-kF3GwMItXPlRvyvh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#floating"},"Ki2YLBkg-YcLthhNGwAR_":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#GUID"},"tK3E0vKAjhIYULGBSPEOH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#height"},"9UtwU_xKbs4XIToeVHRvb":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#id"},"rtPIiyHhuZXcH2OIRyUYv":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#inViewport"},"Recqj5H_rhiCd4dIgUDCM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isDirty"},"jEbNOwMb1gJB_vTHLpwqP":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedX"},"4g4_V2WDZoSzJb1Y-zKaN":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedY"},"hrcTOK-HZkiMzF4fMYULE":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFloating"},"V9kDJi7V_ysp9pfteCEoX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isKinematic"},"FILSHTP2baOmCBpnKFGHI":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isPersistent"},"yJylavotEEIVuQZSJurEp":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#left"},"qQFIYVrGUVEgcFuu9yNhh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#mask"},"wN-qY7n4KR2G13-CqWqZO":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#name"},"mg4i1rT_5PMNQ15ga7Yck":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onVisibilityChange"},"28q8h8CSUmavez8symN84":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#parentApp"},"E0cRp13ApnjAxPuYCE0pj":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#points"},"6FQfBTxSbIxKbfXBnjPsU":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#pos"},"bqda7QRSmHx3i_Yo1w9CV":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#renderable"},"JGN2a2dwD_5-0-S-D6BeB":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#right"},"3Ni39tuwryumWpdikDERT":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shader"},"cxnnx26_NlScsVc2Q4fIR":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#tint"},"BTYdzAIzsTLqwxIiawd8Z":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#top"},"ajH5DvT_HKGU9XZfRnALB":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#type"},"EUHCw0l5WL-ADZkFh_Mhe":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateWhenPaused"},"v_OfQ1vwKFy7iR-7yD1Is":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#width"},"SC3lw0-qLtG5JZ3z1MEv_":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#angleTo"},"Ng8m_dg_vcTYDGwyMBoz4":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerOn"},"EyV5G5fMKfTv5qjlN22l_":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#clone"},"KoMvTMB2qSdaR0OQ0HvC3":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#constructor"},"blLE1BbSpHzDdrlmJERgr":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#contains"},"qFNSwiwM21f1Scp8dwmgM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#copy"},"CWf-l42iL4ZUd6M2IWsy9":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#distanceTo"},"Co-Oplft0dE_Q6ngNnqBI":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#equals"},"i_lnmq1XpF_BJzZts2tA0":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipX"},"a-DAqURK7QmWoT2I2ij9e":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipY"},"GAgbfD5Bs0KKFr32NNJSQ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getAbsolutePosition"},"i0hZNfN24vhZ3I4G-uaEb":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getBounds"},"F4VDEd5qoORvlfTsSOMLN":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getIndices"},"4j6OxFnnDqOlkfZd3_TY1":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getOpacity"},"0F9LyajbTPm8PtnRAtDsg":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isConvex"},"mgw0EfhIwUuqj-P9HeMtw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFinite"},"3DxBZj997Xfac9v3h80ZM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#lookAt"},"bm-e5OObuHB4dgOwZ64zO":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onBodyUpdate"},"b0vCz46KW21Mq9FJMvY6c":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onCollision"},"zZ1ghXYQhxtri_ABVigUD":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDeactivateEvent"},"9eRHWILfFqHckx5UzPt57":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDestroyEvent"},"UC588UO28xxcBXD1h2NPj":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#overlaps"},"RhRuECjGdXfNCkEj0nQ0G":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#postDraw"},"2gdlr_dbM8bxjLyeBT8lh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#preDraw"},"kctN8D4sr38nQoo-eM9aw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#recalc"},"GLtTIMSjQTH-L4S4OtRrl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#resize"},"qUiS8qbG5DC4zjCDPw1m6":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#rotate"},"ejbJ132YicImzwHX0I-6Q":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scale"},"aif5trUck0X1EtyuEOebN":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scaleV"},"ugyAI2UojhnJ8FONPpDDU":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setOpacity"},"FuN0u7hHpSsb-erBHZhLN":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setShape"},"IkitorPlCKU_DMwMA_Du0":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setVertices"},"zjDC-oqBwDvaWmHrWk862":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shift"},"shfTsiRcAA-VjOl_2paBU":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#to2d"},"r_aW1asspgvMpZ4QorlLS":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toIso"},"zTKxjSoX4Prlb54-T2cHk":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toPolygon"},"rTBTs6mbtANgd6-pwQ5ti":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#transform"},"co2dVJFcliFxlE39Ap9Cu":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#translate"},"nb3q3MR5VeOdxsRLKe7ts":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#union"},"9ndDTnFdRX9SkXdFL2ffP":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#update"},"JawdpSgm6YEjdTCS9-QZj":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateBounds"},"i-StHkwH928JDbUWqbRug":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#draw"},"4rCptvFcIisMOwxJVy04a":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onAnchorUpdate"},"jjt0AZ9S7f4aVGNbfQDUl":{"uri":"/melonJS/docs/melonjs/Ellipse.html"},"zdiO33Gzu6GBoQWGRf5vW":{"uri":"/melonJS/docs/melonjs/Ellipse.html#pos"},"gHXDj0yxJpwap_OR7nemf":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radius"},"8SJ10J8LTxA9bjrUyvpBa":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusSq"},"HVaKb1V-20z9jqRQ462Lm":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusV"},"PPM1LHglvMkGe9NHoFgEo":{"uri":"/melonJS/docs/melonjs/Ellipse.html#ratio"},"Q0G6Wtl3rqDQG7yeN_0G0":{"uri":"/melonJS/docs/melonjs/Ellipse.html#type"},"eGbHAe2SicJdPfdNRCZgh":{"uri":"/melonJS/docs/melonjs/Ellipse.html#_bounds"},"TGrg2wvqBnJ0rfKXaDQY6":{"uri":"/melonJS/docs/melonjs/Ellipse.html#clone"},"_Iosc5HkbQPUBBBI1f-Qc":{"uri":"/melonJS/docs/melonjs/Ellipse.html#constructor"},"3rN-MfZIvh9E098wy5doz":{"uri":"/melonJS/docs/melonjs/Ellipse.html#contains"},"xbJNaKMJz1dNGLM2cnVT7":{"uri":"/melonJS/docs/melonjs/Ellipse.html#getBounds"},"Cr-62zzt6U9SvrnMpP-lw":{"uri":"/melonJS/docs/melonjs/Ellipse.html#rotate"},"Ma_tTY3Ko5C8FX43Iculk":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scale"},"2lwg3H68K5jy1IcADS6gE":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scaleV"},"c9ln4g0Nq6Xfg1_dxpUN9":{"uri":"/melonJS/docs/melonjs/Ellipse.html#setShape"},"4xM7TfyL5YcicsaqBOfX3":{"uri":"/melonJS/docs/melonjs/Ellipse.html#transform"},"y1Rfz9igxSc9bmx3Sif3j":{"uri":"/melonJS/docs/melonjs/Ellipse.html#translate"},"GCUklxAJPkSco91e99twM":{"uri":"/melonJS/docs/melonjs/Entity.html"},"5R__NFxY72cpQMMt4BYOo":{"uri":"/melonJS/docs/melonjs/Entity.html#alive"},"9nEKmixGktJ-FTiaaHSfK":{"uri":"/melonJS/docs/melonjs/Entity.html#alpha"},"Bfz6EItb6HnLdsSz6lPBT":{"uri":"/melonJS/docs/melonjs/Entity.html#alwaysUpdate"},"Jnn2ALMpI3wrcGXTLFZv_":{"uri":"/melonJS/docs/melonjs/Entity.html#ancestor"},"_oo_SVoxwxgnN0R3j8-ZD":{"uri":"/melonJS/docs/melonjs/Entity.html#anchorPoint"},"Xn-qae_zdxHGZ-uMQr5rx":{"uri":"/melonJS/docs/melonjs/Entity.html#autoTransform"},"xup7pIkW_YX_oR6xVndE3":{"uri":"/melonJS/docs/melonjs/Entity.html#blendMode"},"LkK_Y6lLoa8BvqceP1BOi":{"uri":"/melonJS/docs/melonjs/Entity.html#body"},"2TAeg0xL0uLBtL6XG0BPH":{"uri":"/melonJS/docs/melonjs/Entity.html#bottom"},"XnrCPrW_R_F-SM2h8hAQQ":{"uri":"/melonJS/docs/melonjs/Entity.html#centerX"},"vK8k7mix0ObanGm1LsSMY":{"uri":"/melonJS/docs/melonjs/Entity.html#centerY"},"4sJghEcMymRwNBKrEPI3E":{"uri":"/melonJS/docs/melonjs/Entity.html#currentTransform"},"dHEydSEbyPyco7k7EoNCT":{"uri":"/melonJS/docs/melonjs/Entity.html#depth"},"VQ1a6qEp8_Kw6En4Mi23O":{"uri":"/melonJS/docs/melonjs/Entity.html#floating"},"unB0Cvn2FQHcXGbX7AVsz":{"uri":"/melonJS/docs/melonjs/Entity.html#GUID"},"RDO4K1NEMDSXvy0hQfbik":{"uri":"/melonJS/docs/melonjs/Entity.html#height"},"iSNn-8P9aQSlqQH5UE4_w":{"uri":"/melonJS/docs/melonjs/Entity.html#id"},"gY7ateiNIS6xJcSEDIB1C":{"uri":"/melonJS/docs/melonjs/Entity.html#inViewport"},"vW9ns0ixaizMSdap8u_NT":{"uri":"/melonJS/docs/melonjs/Entity.html#isDirty"},"01KyFrdMLQjJwlDZZqRf0":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedX"},"G7-kPbHlJnHIKQ3T5HUgi":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedY"},"wPqHQfq-o0kJm6KuFGlK2":{"uri":"/melonJS/docs/melonjs/Entity.html#isFloating"},"QP4NoG7SogtH5XoX-IWBE":{"uri":"/melonJS/docs/melonjs/Entity.html#isKinematic"},"YA3YaZGsMj7NO0M5qL4jg":{"uri":"/melonJS/docs/melonjs/Entity.html#isPersistent"},"w--lWw2ai57k4v3_ZrTxy":{"uri":"/melonJS/docs/melonjs/Entity.html#left"},"r_aTEaY8PlY_aYKP0O1d4":{"uri":"/melonJS/docs/melonjs/Entity.html#mask"},"CIzhDGHatGumdpQk8d3au":{"uri":"/melonJS/docs/melonjs/Entity.html#name"},"nRjAzCiDp-I3x3-SJTZrf":{"uri":"/melonJS/docs/melonjs/Entity.html#onVisibilityChange"},"hZc7CmuPVwHjAw1Wrmn4c":{"uri":"/melonJS/docs/melonjs/Entity.html#parentApp"},"6OeoKrlCpZ1JiZSyLs1-7":{"uri":"/melonJS/docs/melonjs/Entity.html#points"},"Vc7yKAs_OAgG0BLrKb6fw":{"uri":"/melonJS/docs/melonjs/Entity.html#pos"},"CHJvOpsLB4ui3P2tgZdBf":{"uri":"/melonJS/docs/melonjs/Entity.html#renderable"},"qU5fZDcAhzKY4awllH17B":{"uri":"/melonJS/docs/melonjs/Entity.html#right"},"sIWfs8seyM24UXDnJbSUU":{"uri":"/melonJS/docs/melonjs/Entity.html#shader"},"PpcbcbO6C38hjnti7Seei":{"uri":"/melonJS/docs/melonjs/Entity.html#tint"},"JXKPylR0iCIL1fFiJP_Dq":{"uri":"/melonJS/docs/melonjs/Entity.html#top"},"mjyIi_PWWWMRJdq85TmKC":{"uri":"/melonJS/docs/melonjs/Entity.html#type"},"yaRu2isVw5-IBl-7RlK1v":{"uri":"/melonJS/docs/melonjs/Entity.html#updateWhenPaused"},"htsZ3lHushinOVR6l2_Ll":{"uri":"/melonJS/docs/melonjs/Entity.html#width"},"VephsQnece7GmmlpvOAYL":{"uri":"/melonJS/docs/melonjs/Entity.html#angleTo"},"Bd1s18VlpL0zE6yw05jeQ":{"uri":"/melonJS/docs/melonjs/Entity.html#centerOn"},"UfObQDrndomOn6MN7j95G":{"uri":"/melonJS/docs/melonjs/Entity.html#clone"},"ltCUpbUbKJYXe49aOclin":{"uri":"/melonJS/docs/melonjs/Entity.html#constructor"},"Jicd_tcSIzYGxnQHsP9wO":{"uri":"/melonJS/docs/melonjs/Entity.html#contains"},"ywTxF0P-zOfR27kAscGm4":{"uri":"/melonJS/docs/melonjs/Entity.html#copy"},"bGsVq-xgHBEMeYYirEqR4":{"uri":"/melonJS/docs/melonjs/Entity.html#distanceTo"},"3Rh1duFUcmx82Axf97NHN":{"uri":"/melonJS/docs/melonjs/Entity.html#equals"},"5HwwpD6WtmnNZM0E0OZen":{"uri":"/melonJS/docs/melonjs/Entity.html#flipX"},"q2xu_3bxp6JYHhn5EdeDk":{"uri":"/melonJS/docs/melonjs/Entity.html#flipY"},"saZtxHA6Pw3GhY7NRX3ed":{"uri":"/melonJS/docs/melonjs/Entity.html#getAbsolutePosition"},"kI_njGmad3AJJmZsTRkhK":{"uri":"/melonJS/docs/melonjs/Entity.html#getBounds"},"f8PRDxn83zXOsagydXbVW":{"uri":"/melonJS/docs/melonjs/Entity.html#getIndices"},"mcZ8z3qtHlPoSRRKQ2g6f":{"uri":"/melonJS/docs/melonjs/Entity.html#getOpacity"},"SAKyjpwj9zx3wxSgFNYG9":{"uri":"/melonJS/docs/melonjs/Entity.html#isConvex"},"HFR9wzuiWXrfRkGNZi-PK":{"uri":"/melonJS/docs/melonjs/Entity.html#isFinite"},"iC8BBz2QgRth_UcB3NqNX":{"uri":"/melonJS/docs/melonjs/Entity.html#lookAt"},"SdcqIUx3pZuh6mWOwIzda":{"uri":"/melonJS/docs/melonjs/Entity.html#onBodyUpdate"},"dPw5udQFSY64qvmNCcv7f":{"uri":"/melonJS/docs/melonjs/Entity.html#onCollision"},"jbHB3ej4OqSMA4tC7Ofzj":{"uri":"/melonJS/docs/melonjs/Entity.html#onDeactivateEvent"},"WuwtG7BdEzLRy5N-3AVqk":{"uri":"/melonJS/docs/melonjs/Entity.html#onDestroyEvent"},"oUsLsdH7dbnwRrqANjeXA":{"uri":"/melonJS/docs/melonjs/Entity.html#overlaps"},"9W6K89xZHHsGIJQ31Kezd":{"uri":"/melonJS/docs/melonjs/Entity.html#postDraw"},"T-_S3PFxbh44QrixnSd12":{"uri":"/melonJS/docs/melonjs/Entity.html#preDraw"},"rKgN3ffSWGrD_wIUK_6MN":{"uri":"/melonJS/docs/melonjs/Entity.html#recalc"},"jZ4lDCNWPtIg4gzEslAVg":{"uri":"/melonJS/docs/melonjs/Entity.html#resize"},"f-2tc1JI94RinMtdpEKmo":{"uri":"/melonJS/docs/melonjs/Entity.html#rotate"},"lks14itaNYlXWDWXozo50":{"uri":"/melonJS/docs/melonjs/Entity.html#scale"},"NKbSLNAVnAWG7AAHkLS-i":{"uri":"/melonJS/docs/melonjs/Entity.html#scaleV"},"blxbJjpSZgN32D81yMcBx":{"uri":"/melonJS/docs/melonjs/Entity.html#setOpacity"},"12lR8sjfSBIQqKM030eOf":{"uri":"/melonJS/docs/melonjs/Entity.html#setShape"},"X6DbNkS7Fs_xeFaWFmYml":{"uri":"/melonJS/docs/melonjs/Entity.html#setVertices"},"Rsg8iXgGHUWC7DnPUHSnY":{"uri":"/melonJS/docs/melonjs/Entity.html#shift"},"h3ThN9EVwl11J0xAMPkkj":{"uri":"/melonJS/docs/melonjs/Entity.html#to2d"},"BRLJMD8VZF8d407DmCdZc":{"uri":"/melonJS/docs/melonjs/Entity.html#toIso"},"DG4CwGex2aMTuZTWYhJ4_":{"uri":"/melonJS/docs/melonjs/Entity.html#toPolygon"},"RWDewRro_LePMTQVpiDz7":{"uri":"/melonJS/docs/melonjs/Entity.html#transform"},"73mW-YKhMxtzaUq3aMTEZ":{"uri":"/melonJS/docs/melonjs/Entity.html#translate"},"P_1YEPE9xNXECBLYAPzQv":{"uri":"/melonJS/docs/melonjs/Entity.html#union"},"U6PEESo57VbSQ5QSF6s6g":{"uri":"/melonJS/docs/melonjs/Entity.html#update"},"VPl8nCjXHpDjsmX45hkQM":{"uri":"/melonJS/docs/melonjs/Entity.html#updateBounds"},"Rpa_3FXyyZePHgC5BAnAT":{"uri":"/melonJS/docs/melonjs/Entity.html#draw"},"z6Qhwz22fBOtiIq2HqKAu":{"uri":"/melonJS/docs/melonjs/Entity.html#onAnchorUpdate"},"S_nHr46I8KuCNzQVTiD9M":{"uri":"/melonJS/docs/melonjs/GLShader.html"},"Zh2b5M41kaShnmFx4Acv1":{"uri":"/melonJS/docs/melonjs/GLShader.html#attributes"},"AazhvLFK5iyw_Urtf7rFp":{"uri":"/melonJS/docs/melonjs/GLShader.html#fragment"},"FXy64X6vsgJRS43dnOMYO":{"uri":"/melonJS/docs/melonjs/GLShader.html#gl"},"4XD4fgUHDVWkvYT-cdLPG":{"uri":"/melonJS/docs/melonjs/GLShader.html#program"},"475zYEezmHL_Zj1F1qwYU":{"uri":"/melonJS/docs/melonjs/GLShader.html#uniforms"},"l-7hO-sE-2mHwWOHJVnFe":{"uri":"/melonJS/docs/melonjs/GLShader.html#vertex"},"yghb2XFTcEhDsO1Mzxz0R":{"uri":"/melonJS/docs/melonjs/GLShader.html#bind"},"lfrMKhufG9LHx2mR1hrPF":{"uri":"/melonJS/docs/melonjs/GLShader.html#constructor"},"_an2EEp-z2ryFYOqwc9VR":{"uri":"/melonJS/docs/melonjs/GLShader.html#destroy"},"2LBlDbpRB21NLYN9-cGU1":{"uri":"/melonJS/docs/melonjs/GLShader.html#getAttribLocation"},"xciT840ZZlMNP5wYgT8Rv":{"uri":"/melonJS/docs/melonjs/GLShader.html#setUniform"},"r89WjgtaOWSrBbz1lDnay":{"uri":"/melonJS/docs/melonjs/GLShader.html#setVertexAttributes"},"xy7h7gFNhl-qKes420UBs":{"uri":"/melonJS/docs/melonjs/GUI_Object.html"},"OCTjKV6Dhmnk7UxD89W0_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alpha"},"KeGilaXlN4Xp8vrfF9T2Z":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alwaysUpdate"},"FRjEHRQj3v_Zagq8MWXQH":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#ancestor"},"ymOqaNvza6jBd3Asy7x_F":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#anchorPoint"},"sDkgmP5l5wPaoD8JzD877":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationpause"},"nH7X9xpLsGGtvguZbMIK7":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationspeed"},"FpgzLCJB89NwiGuRr6KlI":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#autoTransform"},"zG521LLqo9ZPR2sCMAufw":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#blendMode"},"bGrvijjxqVQhy9yNb3pc9":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#body"},"fHIY_vH0--Z_nmiJcEcFy":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#bottom"},"o_AQjTHmE7LqGfKN2FKUB":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerX"},"stRrVIzITU6sZvLeVQl57":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerY"},"ZQOsW4vBBiCnTIat1HmS2":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#currentTransform"},"NaH2SvEeLJMUm1Rt6mJ8R":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#depth"},"GO3z3sEJYbc5M5hOqe33V":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#floating"},"epOk2ZjkzdQuG3NSIRbwO":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#GUID"},"t0ITKB1FT7jWVikq3fuvU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#height"},"758jzM0xlgrX9rZ5i6_xX":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#inViewport"},"0ZiElb54V6aAQ0UdZCv4H":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isDirty"},"CWaKLd6Vx3g48mdyr8--a":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedX"},"nJhh8ApqkywFFkXtpty73":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedY"},"rP4oNwdsnFSBsulFNgXyv":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFloating"},"-uG1FtL-dEeva-CdS6AhD":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isKinematic"},"yhyyFxzvveFwS3uoZHUdS":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isPersistent"},"XWQDp98c9pCfd-lHKFLMR":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isVideo"},"_wc5sJRW3D5tNpYbFhlhh":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#left"},"97Hz9FX4oQqIcVouDqbOJ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#mask"},"I8nufOr6CXjhUuyvTO6HW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#name"},"6I6C3w5KaoCXlO71mmoMB":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#offset"},"05Duq_3sKroWeEHuY289k":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onVisibilityChange"},"QdksfsLsoUkB2CsK7FKXo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#parentApp"},"J0FuhJAG2HuX8TnkSLtPv":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#points"},"IrF8Wu9bIFXyoQU0XfHLk":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pos"},"SWHvJIlW-zbIrhoeKw47l":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#right"},"Ui8zCM_F_pgbYO_YyBPP1":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shader"},"1B4GmhDJqjnXtL4ttXDjT":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#source"},"DLrumSBXbY7G9eBQrZ61n":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#tint"},"yOJAy2ZLd98PbGbwPQYIf":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#top"},"wY-4irn5RNoLkovUDefxF":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#type"},"nuE2ed-cGa4AcDysqKPxP":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateWhenPaused"},"flgYttSAb2JmHfvCYdhNU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#width"},"hFzpc86z6tJAA9DKvn_ab":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#addAnimation"},"PSUTUZKre8E56BeVO1Otb":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#angleTo"},"nefq3KXV12g8bgq7lMwBy":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerOn"},"TolMiSw01gbuClbpRU_Xd":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#clone"},"L4YrNfcdiSkYmDpiUjOD3":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#constructor"},"kyiJ6qHyCG0_S8N1Le_9Q":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#contains"},"rT1S0MmCrA084GEs0Ob_8":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#copy"},"E-r3IHm7CIjYtc4vkPJeZ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#distanceTo"},"bA9LoMdgEdXK9Z2AyRiKj":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#equals"},"eGjH7iVKHf18sNkevz8AW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flicker"},"c-k2upp46zvEofbCyBIpc":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipX"},"oPtpTVdSp2Ws08ZwTnp8D":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipY"},"sOoO08ZtvvMoWAOUP-NF9":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getAbsolutePosition"},"fwM6zrG0oAarQ4Uwxcire":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getBounds"},"2cyjPEHqDhreL7ntOMJUx":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getCurrentAnimationFrame"},"RaljX80xMpD1wW3MiF94N":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getIndices"},"CWAsPFe3-C--GHDDZ97xT":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getOpacity"},"qft371G4IpqXAtk9hzWFZ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isConvex"},"fGF05bEVaNN4J1bgJdrLN":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isCurrentAnimation"},"iaBSDvnM6fy_D3l_VLmKZ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFinite"},"uAh8CvL7GJXHKCxOEzxv0":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlickering"},"TJEx7gfW298qmGg8DuPJt":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#lookAt"},"O25c80X5lDn15fXil2lqr":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onCollision"},"vNBhyJ6_YaM6KmJ0ETZJu":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onDestroyEvent"},"GShVyGBLZTw8E3gnLkRDy":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#overlaps"},"27e_Oa7pqz9heUWfUozoM":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pause"},"YQo-dcR3xk2X3qGVFsK47":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#play"},"ZTS_AkqFrrsq19PszZAnH":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#postDraw"},"lxqwtslMhmfDpW0Wze5Ru":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#preDraw"},"1SKLXX_JtxuLMQEunjVOo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#recalc"},"faWD36I4HHdrnzh6pXEeT":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#resize"},"E4rw_pqNW9u_ZOk5u8X6H":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#reverseAnimation"},"hWJ3gLE9V-qSrDmk_LkuJ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#rotate"},"_1g7OgvNxNpDDevjpgYOW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scale"},"V5gTLVv7tJ23y5au2nbI_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scaleV"},"OyQMEefloVBTCZJAjctDe":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setAnimationFrame"},"WMXbh9NjXNO-19HakMxoz":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setCurrentAnimation"},"7S9otkzROGvLIV-LgaPj6":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setOpacity"},"JwQikn_AyEhof32Q-L92g":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setRegion"},"WTAUekPnywgTnT8t9XJdJ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setShape"},"ExdzODomRxQ-C5UQ6ttYe":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setVertices"},"hRlH79HPLBooAgdnVOHYR":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shift"},"s8e11_LeX7DiOHGEEIb2k":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#to2d"},"prcSEOHAtytV41B_PEEz4":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toIso"},"RdxYdPhx4EbtVNUQ2YF2Q":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toPolygon"},"PUL1ZwjYhRsP8m5BVyuat":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#transform"},"9N0APCA3ebdvsmRT9C_Zk":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#translate"},"FAbQYdMzOGylwCpA6yC9k":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#union"},"ojiNmbCv-wiiNwjXhUrDg":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateBounds"},"6gnSZUZzd5HDbCu9jP6mV":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#draw"},"em2XEy_JAI7XwnXGbh0KD":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#update"},"yrOSFeQc7CsNSVFknwpuC":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onAnchorUpdate"},"6gfcfdYxFgN9nFhB6DwVT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html"},"EFXo9ovozY51rMt8zR6g4":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alpha"},"XxQ9kSwB3XGrH8tIA-_eS":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alwaysUpdate"},"akrKCsAY6c5uqE9hVZeTN":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ancestor"},"5yCODTU9zGzxNYhxf3S6N":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#anchorPoint"},"GfewFo0tunKg2HgORP1dP":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationpause"},"s9umQ7mTz2j-NeOYyo2K7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationspeed"},"ki5AW0McWUqTFgrJ42Az_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#autoTransform"},"8T1K6RRYR5WLmtCp9K3NQ":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#blendMode"},"sHDV5k58N9RHCeMMP9SNm":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#body"},"uPj6LEak3B1rnp8c22r45":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#bottom"},"6XW7MtPy1iU7-hjMcEIR9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerX"},"LHqwQyJK7fM-QODROklrI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerY"},"e39BS78fvl8W395F74UOa":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#currentTransform"},"K6_ahOAskPR92ITPklj4F":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#depth"},"RYPfW-LGj1DD3-BEmh7C7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#floating"},"hZCpluRy353nGCdZZ63Tz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#GUID"},"9WsGlyCquqo_ARwrlQsbK":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#height"},"MrleV58YcMTWJscg7JZVs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#inViewport"},"5U4U9Iw57Mic8UyoDAII1":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isDirty"},"CbNiMDDkeNksyF3bA9ly7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedX"},"qKer9ZbGI_hw4CHsWDmBD":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedY"},"FBZqmmXJJxeadlPRtqin8":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFloating"},"es7aTdaoGgTio3t-KHCRs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isKinematic"},"DZNjTK7FJFvzBlziUBLyf":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isPersistent"},"Z92Ws1Ve46FLEadcPQMnL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isVideo"},"KEqPnepdfTIJAqxTsy7J1":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#left"},"NjcTl385bI6RaPE0Dfsh_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#mask"},"SpOJrbhKzCEZt0GxJ5xnT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#name"},"UgBKyAXKbI-35CudZ8lkZ":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#offset"},"tkME3Hps9gISWFyThlMzs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onVisibilityChange"},"Od7P0471WneFUi3hVlILR":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#parentApp"},"4QNtKY84WuWitZ1sPDyiy":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#points"},"YAVuzmyqmcbMWkhm67938":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pos"},"DLSbfB3O4OCmtSMLf7RGO":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ratio"},"cli_3OGnOY-dEtiGmQYuS":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#repeat"},"SPmtEEYuXoGpUiA5O-XRv":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#right"},"mD58YCFZyvq6BMuYR_DzJ":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shader"},"nnXCI7jgGiwEtxmjTlUBI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#source"},"Soc9KAZDndSQL91mn5e07":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#tint"},"gfdoGmByEJLN4n6KF20Xu":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#top"},"zx6CejVhHYvz-7vZKNujn":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#type"},"Eut23WQotWhBZEjCCuy3l":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateWhenPaused"},"r00hVKsMoJFwuM48LDur0":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#width"},"9gs-2RjVkdH94tcK_ncKM":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#addAnimation"},"4iAIWUIJ6UsKlDQsp_AIL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#angleTo"},"jN5-O3AHyEc8uBqR1GUNF":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerOn"},"f0tIHxAT-ogzZ4HYf_AXa":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#clone"},"SizAfukPtSiU5eKPxfdBL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#constructor"},"K685VdLFNyfA28VcSONCV":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#contains"},"axwBnxIBjmLsXNHMa8w3E":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#copy"},"qRu78sVeldLIw_hH4X3iG":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#distanceTo"},"7zSPblT19oCftXD0ofj6U":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#equals"},"oVwMXtcxlDT447THYZPau":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flicker"},"HGT4JGYQbZfE95Ut_G8O7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipX"},"Zk7DtRFLrGMJZ2rWWDg2x":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipY"},"R1Rphn9UKVVMooAvGAYFE":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getAbsolutePosition"},"FK1JjyjhXVTDl-jfJOj-Z":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getBounds"},"9S4uoQd2QA1JVWucOH5xN":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getCurrentAnimationFrame"},"oc6vDHerhyn_huaFCvKGY":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getIndices"},"O971OCydN8gXelCuyopN7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getOpacity"},"wMVPJwQZJw_vtYTd3IYnD":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isConvex"},"j8_IbgYlou8rbbr9rfv3U":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isCurrentAnimation"},"3SkMub46E56d1YGWuTCyP":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFinite"},"thrheaD8kD0weaHoz5b3N":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlickering"},"suwcnSdOL3hlVDTTi__mr":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#lookAt"},"CYPekHQKdLNIC7FNLPdrI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onCollision"},"15OQ7QA8QOuKtj1QuuCbP":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onDestroyEvent"},"T4bbLQxFiesFYCo3k2uJm":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#overlaps"},"M1vaUpn71e6daRJH0eKdU":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pause"},"2dXxa6EVXxXFwJKY-Zew3":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#play"},"xa1BuJ3zThNBudAi5mpbW":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#postDraw"},"Tmd1-5pH85BMpkEGp2DeH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#preDraw"},"gbUCO6Yr008euvqj9euPB":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#recalc"},"fdGeBTHZnO3q6tChDt08n":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#resize"},"287hu9yaqihRFGFK7r3uG":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#reverseAnimation"},"pfBOZSANvzbdHEFQgjkuV":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#rotate"},"e-YasRfWtzJFVTb94WY8D":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scale"},"yoDugl8Iwgw-hGzenACef":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scaleV"},"6UsKFDa5waT-YFCNl-_5S":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setAnimationFrame"},"Ylw0Nh0TbHiH1etT5qWWv":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setCurrentAnimation"},"C896KCGfzP9QEZRjFVbeK":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setOpacity"},"QWWRX2AJ6eSB09AlzMP-I":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setRegion"},"pzbRTswiyxYYblYObmIbv":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setShape"},"rWh6-4op-VgvZAJd14sA4":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setVertices"},"6Vluytps3FY9uKpB__thh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shift"},"aDMY-jyTZ0BMcjUmh5wiI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#to2d"},"vuUnw5Z6klKfjiThVk-nz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toIso"},"wdGAejeRJz-sfXk8gQ0Wi":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toPolygon"},"OrtzrHkhFG_WwRoRryRJ0":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#transform"},"0_vb2QaPrVdOtKAblMW4B":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#translate"},"-Bm63BT2arB-JQ072ciIv":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#union"},"YZV1EFaPUxPIXnA3UndtT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateBounds"},"fO77RvaVSeLUMZx0ANTiW":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#draw"},"19QcLSEe60tezQc90bQut":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#update"},"cr8PDHlKa3DAGApZ3tzF6":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onAnchorUpdate"},"WdCfry3aitHMGX6pxPheE":{"uri":"/melonJS/docs/melonjs/Light2d.html"},"vAORPJgF6rb_34L1cEBtO":{"uri":"/melonJS/docs/melonjs/Light2d.html#alpha"},"C-nypnvEJb9aI2U8ZDMY4":{"uri":"/melonJS/docs/melonjs/Light2d.html#alwaysUpdate"},"FhudbGJ67JoT7lB2KQaW2":{"uri":"/melonJS/docs/melonjs/Light2d.html#ancestor"},"9_VVO6UtsxzIz3VrJLXg9":{"uri":"/melonJS/docs/melonjs/Light2d.html#anchorPoint"},"wFDNglAIITVwH3Xionw0A":{"uri":"/melonJS/docs/melonjs/Light2d.html#autoTransform"},"-pJLcNww9jIo9x458tgXg":{"uri":"/melonJS/docs/melonjs/Light2d.html#blendMode"},"2f1aWe4j76-CZKKejYMwy":{"uri":"/melonJS/docs/melonjs/Light2d.html#body"},"ufPJUTDBOqm5PkLtboAYL":{"uri":"/melonJS/docs/melonjs/Light2d.html#bottom"},"yREg4DckaR9ux6bNgxDf2":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerX"},"oYwuyilvYJxOGwXbl7fZa":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerY"},"h5LML6G-Lkj44f6lf5e_8":{"uri":"/melonJS/docs/melonjs/Light2d.html#color"},"FwflEnUX0PL45KppOm2wH":{"uri":"/melonJS/docs/melonjs/Light2d.html#currentTransform"},"AL7hsRsadfAmho06ikWt5":{"uri":"/melonJS/docs/melonjs/Light2d.html#depth"},"KGfjdtXETc7s3E6xfVAGV":{"uri":"/melonJS/docs/melonjs/Light2d.html#floating"},"lXXDicrxxdqjApbAqVBcl":{"uri":"/melonJS/docs/melonjs/Light2d.html#GUID"},"GEn69DF0WiGFmdmPQg2gC":{"uri":"/melonJS/docs/melonjs/Light2d.html#height"},"x5eHJAE6hkK3quDJDZm-X":{"uri":"/melonJS/docs/melonjs/Light2d.html#intensity"},"afZjtmNVyNqPC7eGhTcf6":{"uri":"/melonJS/docs/melonjs/Light2d.html#inViewport"},"cKMG842AXWbD69qvOiPEX":{"uri":"/melonJS/docs/melonjs/Light2d.html#isDirty"},"R4UuiyaFsGoUAgy8mlhWl":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedX"},"ZZKNrPgwWnBPnzmILLk6o":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedY"},"vwhSkmyaxUZJ-e23BYWd_":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFloating"},"Goy1-4J4pUoOAkAzhU7xh":{"uri":"/melonJS/docs/melonjs/Light2d.html#isKinematic"},"qSFGy_9_e-hlznECF_HMW":{"uri":"/melonJS/docs/melonjs/Light2d.html#isPersistent"},"On3a26jKauvC2y3u-eRXu":{"uri":"/melonJS/docs/melonjs/Light2d.html#left"},"YnnEGE6E6gJXPVVlsUHcL":{"uri":"/melonJS/docs/melonjs/Light2d.html#mask"},"fIRuBqf-CG0_yCoETdRfk":{"uri":"/melonJS/docs/melonjs/Light2d.html#name"},"yh9VFG2MxHRP_delPlNgW":{"uri":"/melonJS/docs/melonjs/Light2d.html#onVisibilityChange"},"yyZN-ZEfCdkkPmvbB_cPn":{"uri":"/melonJS/docs/melonjs/Light2d.html#parentApp"},"IU5QlBB9OHsluWrygYVjS":{"uri":"/melonJS/docs/melonjs/Light2d.html#points"},"lpQt-1i0qBeyKw8vJ9iTk":{"uri":"/melonJS/docs/melonjs/Light2d.html#pos"},"dY-eRc3nQCjQze2frqNYh":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusX"},"WK8ziZbFLwSMOPob9vDE5":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusY"},"rV1HGoEMg1MKOVdGX13Ed":{"uri":"/melonJS/docs/melonjs/Light2d.html#right"},"0Hw-2muvvMMCGTf1h0ZFm":{"uri":"/melonJS/docs/melonjs/Light2d.html#shader"},"eK73ybDRPZsjE8cAfelnb":{"uri":"/melonJS/docs/melonjs/Light2d.html#tint"},"3wcio2R_tJg5FC6W02nfP":{"uri":"/melonJS/docs/melonjs/Light2d.html#top"},"N_oerTxtunJ2HqezpaUwC":{"uri":"/melonJS/docs/melonjs/Light2d.html#type"},"7rUfi3gWgD_Zl20Oogmd2":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateWhenPaused"},"SDsJsXjxvSWZQSfgT8kuY":{"uri":"/melonJS/docs/melonjs/Light2d.html#width"},"AnmcEAHGbQzwl8oHs4C_7":{"uri":"/melonJS/docs/melonjs/Light2d.html#angleTo"},"L5nPKRoZTfRvgEKL7cj7F":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerOn"},"iAhbDeiTsHf97tePpzzKj":{"uri":"/melonJS/docs/melonjs/Light2d.html#clone"},"xZHUKK79Uv27_xfiSNBWX":{"uri":"/melonJS/docs/melonjs/Light2d.html#constructor"},"gNW_EJ1EKLoPHNoXrLuUF":{"uri":"/melonJS/docs/melonjs/Light2d.html#contains"},"PVHpoUcL2wox7e_AYseo7":{"uri":"/melonJS/docs/melonjs/Light2d.html#copy"},"DvLdSteUvC9Cgjia_S2i1":{"uri":"/melonJS/docs/melonjs/Light2d.html#distanceTo"},"6lBz_vTapiURxwR4WvGZI":{"uri":"/melonJS/docs/melonjs/Light2d.html#equals"},"Rj_mVromTvFVjjiSyp3_o":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipX"},"28x8977hsuhwGF785m4V-":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipY"},"Ogdduf7o0RLyOld28MRA2":{"uri":"/melonJS/docs/melonjs/Light2d.html#getAbsolutePosition"},"kSmotrGp4lfOmn6LT29rh":{"uri":"/melonJS/docs/melonjs/Light2d.html#getBounds"},"gQYhkmyk-BrzEmhsvca3z":{"uri":"/melonJS/docs/melonjs/Light2d.html#getIndices"},"3KjmF6e_s5YnrdckhW1IE":{"uri":"/melonJS/docs/melonjs/Light2d.html#getOpacity"},"NWr_cJDTjfEeiVzc1Ghtm":{"uri":"/melonJS/docs/melonjs/Light2d.html#getVisibleArea"},"QU2Dh4dMTxRT2f6ZhTi4d":{"uri":"/melonJS/docs/melonjs/Light2d.html#isConvex"},"wqxHL_Pm5EOQ6eI6dS8bv":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFinite"},"JBcN6dE7at_qlLaRmW72X":{"uri":"/melonJS/docs/melonjs/Light2d.html#lookAt"},"gNp7naS48n6FgMefTOzcY":{"uri":"/melonJS/docs/melonjs/Light2d.html#onCollision"},"TPwr4OatSrdC-rNO4hiP_":{"uri":"/melonJS/docs/melonjs/Light2d.html#onDestroyEvent"},"vmUDfKLX58xMbittFgytv":{"uri":"/melonJS/docs/melonjs/Light2d.html#overlaps"},"Tg-0yTK98ZdRLo-U8zJDh":{"uri":"/melonJS/docs/melonjs/Light2d.html#postDraw"},"LvmYeBoWh1eLdjZG5d5ls":{"uri":"/melonJS/docs/melonjs/Light2d.html#preDraw"},"_CxCPLBH9cRd8j8sUFMGb":{"uri":"/melonJS/docs/melonjs/Light2d.html#recalc"},"rz01OEJCWNtheEmAZZ73s":{"uri":"/melonJS/docs/melonjs/Light2d.html#resize"},"9ecUuea0-xUAu7fTQpp2Q":{"uri":"/melonJS/docs/melonjs/Light2d.html#rotate"},"Pn0dNY3gy8baPz0kdj2il":{"uri":"/melonJS/docs/melonjs/Light2d.html#scale"},"Pv3lMKX-0RglruJO-ZS0v":{"uri":"/melonJS/docs/melonjs/Light2d.html#scaleV"},"nBrwgaj7T3rwPxLPgI7S-":{"uri":"/melonJS/docs/melonjs/Light2d.html#setOpacity"},"4s0yOH599JkhyjgZo9R6k":{"uri":"/melonJS/docs/melonjs/Light2d.html#setShape"},"tg_0z00ZvmbqRmWY7I2hi":{"uri":"/melonJS/docs/melonjs/Light2d.html#setVertices"},"Z4mh6IX_wA3iyoZgL_znx":{"uri":"/melonJS/docs/melonjs/Light2d.html#shift"},"bSoI0qaalU0pRKtYa8Hf9":{"uri":"/melonJS/docs/melonjs/Light2d.html#to2d"},"wSNN8mk2Jy0yc7slplYin":{"uri":"/melonJS/docs/melonjs/Light2d.html#toIso"},"44vbclHprl-YD4c7w-cw6":{"uri":"/melonJS/docs/melonjs/Light2d.html#toPolygon"},"Mh6M63zcH1I0Hui9rtWie":{"uri":"/melonJS/docs/melonjs/Light2d.html#transform"},"BuU7iGnIMEIPpgRxOUNaa":{"uri":"/melonJS/docs/melonjs/Light2d.html#translate"},"2-H0UUoBra8QYpAbsD02T":{"uri":"/melonJS/docs/melonjs/Light2d.html#union"},"OTPbbB-GFkkW-iBJfoyEW":{"uri":"/melonJS/docs/melonjs/Light2d.html#update"},"QbdWA-YP1bdb2ri_Jd4Vd":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateBounds"},"H3akYjcoW_BKBaH-4gbtI":{"uri":"/melonJS/docs/melonjs/Light2d.html#draw"},"KV3Ij0JQ97VcXxaGm8R5P":{"uri":"/melonJS/docs/melonjs/Light2d.html#onAnchorUpdate"},"jWK_TVM_TTE9QT-3c0BeO":{"uri":"/melonJS/docs/melonjs/Line.html"},"AlZSEFW0hT69sCqZeWYdr":{"uri":"/melonJS/docs/melonjs/Line.html#points"},"DTjRWdWHMk6gvskhE-JzJ":{"uri":"/melonJS/docs/melonjs/Line.html#pos"},"pOXTA7X8noGM78r2Cj5oU":{"uri":"/melonJS/docs/melonjs/Line.html#type"},"QJ2u7A4bWfCVSxU5gRv0B":{"uri":"/melonJS/docs/melonjs/Line.html#clone"},"yMHt77uBcfCcuXUxvrJAu":{"uri":"/melonJS/docs/melonjs/Line.html#constructor"},"a6XeNNL0lOCBXxgxXfICp":{"uri":"/melonJS/docs/melonjs/Line.html#contains"},"l54xSMZ0bkfzdbO-firxw":{"uri":"/melonJS/docs/melonjs/Line.html#getBounds"},"DeCRGFpjdtTzVH86wHgIU":{"uri":"/melonJS/docs/melonjs/Line.html#getIndices"},"iLcCKW4pB7QRmUsI2VsNW":{"uri":"/melonJS/docs/melonjs/Line.html#isConvex"},"nMyBleNJWrLDCUjm9HOft":{"uri":"/melonJS/docs/melonjs/Line.html#recalc"},"-Ma8qqKP62MOdDaTlE7ow":{"uri":"/melonJS/docs/melonjs/Line.html#rotate"},"_sRDEVpSK4DqkxX-2RX2d":{"uri":"/melonJS/docs/melonjs/Line.html#scale"},"qXXrsIfI1qGJeq3n54M0E":{"uri":"/melonJS/docs/melonjs/Line.html#scaleV"},"ymKsWjvJzgJg49l5m018H":{"uri":"/melonJS/docs/melonjs/Line.html#setShape"},"v7eOUM6ZN_2bU7k0jIt0y":{"uri":"/melonJS/docs/melonjs/Line.html#setVertices"},"8Jk-esl8kXA_JxkBiuCQL":{"uri":"/melonJS/docs/melonjs/Line.html#shift"},"h1KgapMUz_jAKSMZHxUZJ":{"uri":"/melonJS/docs/melonjs/Line.html#to2d"},"PQEGebqmAuEfD8p7D7ewc":{"uri":"/melonJS/docs/melonjs/Line.html#toIso"},"S-a9VorsteKuH5-10lPwh":{"uri":"/melonJS/docs/melonjs/Line.html#transform"},"xFSLnKJEreMBY1yCpTbbb":{"uri":"/melonJS/docs/melonjs/Line.html#translate"},"gajATUx0L55hQOp3hiFYy":{"uri":"/melonJS/docs/melonjs/Line.html#updateBounds"},"9Cjffq9kYt-TxeCp8sH7V":{"uri":"/melonJS/docs/melonjs/Matrix2d.html"},"eAO_lcUSvyk8dNWGspKrE":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#tx"},"40bGDzRq5RtWVRhfPD5dV":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#ty"},"RguoXMlPWgdx_MzGCjucR":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#apply"},"ANtKZiMwo4pl_Sr6v9ODa":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#applyInverse"},"DbKSxXYXSmejhAcQLRrGV":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#clone"},"rQFyrCZQVz79RdN77BcCm":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#constructor"},"L7zcZO14Mzr4-VeAK9FkX":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#copy"},"aHH9VgbZD0nPO8wC8jniX":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#equals"},"FnXAKDKLZ2quZwG_kjBh9":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#fromMat3d"},"CMdOU2o1vunH44VRSUzH4":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#identity"},"b8Un9Q9ig3AqiQmv0cV4r":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#invert"},"cDSZLMb2Ug1vehkPhvkXy":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#isIdentity"},"e_jPrQUWAej-FuysA6RBv":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#multiply"},"pcAsZp_s4ZH8jqAOFJ1T1":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#rotate"},"ztf5Aan-578nOYyjpv9qI":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scale"},"B2zJ5hgLKwfm-1BCaQpuM":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleV"},"ZpVnsRd28JbPkFM4cjjsZ":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleX"},"oXfgEAd_zr32q9u9ZeMgC":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleY"},"NWoNKRewSaaeYBotfBy7e":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#setTransform"},"Y_SkWwSuf0Px3Kd_PxqXO":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toArray"},"4aN5wZ73HcZ9iY9ckPMpd":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toString"},"4Jh_-DuJ_bVSBa42Z646M":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transform"},"hkhxbNYlJVmaOm1dN4TDJ":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#translate"},"LnaZyB1fdnRhetOauipQ4":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transpose"},"zvELaNA0DUKy2Onpwu23Q":{"uri":"/melonJS/docs/melonjs/Matrix3d.html"},"bkiGvufaBYXV3toYwSUL6":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tx"},"4FFgtyzuVZq2wl1z9NRd9":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ty"},"LgYh-R9kbO9Jd0_NRDgk6":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tz"},"fBSyPQ_qGzr2Mnmiz1bgt":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#apply"},"3dV2ZKLKbzirJUZkLKsAW":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#applyInverse"},"2Jkxrg-ge47E95v7KmXdG":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#clone"},"ejV8DxQYX_64WptaMRhbK":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#constructor"},"Dp9zTNZbVOr6aw-Qfq6Sv":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#copy"},"6vH3CQN9o4PbyjsrE1sFg":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#equals"},"juwdn-n1BYnqA8PgpA-E1":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#fromMat2d"},"8XrARZxoQiiGjBdSjI_Ck":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#identity"},"RoDnrN8mskYcXiD3rXj0M":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#invert"},"OPjnF2ABeZSx-Gvi3Lb0V":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#isIdentity"},"j7EbiOM_YK9-uriIoCdMQ":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#multiply"},"xBLVxezGhOeIN7GHS2paa":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ortho"},"fpJb_zzrqzBR_n6q69iJh":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#rotate"},"MJhTw9LRkHIDXzdjQ_o2A":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scale"},"MWt1zLV4WoZ5AxHE7bVTh":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleV"},"5LkMVSUoCr9SYWJes1Jp5":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleX"},"ojxTkJ4RltlGWnIARaGpn":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleY"},"ivX71rW4GRwlLTtKt9HiP":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#setTransform"},"jCkVzGn7fKSa2pXwLN4jw":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toArray"},"ptWSN7tRbF_-YKJrwzDLZ":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toString"},"QI5xxo6ixm_e6Dg1BxJBC":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#translate"},"aLrKjyqF6JoEZdcx9VLKi":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#transpose"},"weQEiwwM5WstU8mhjDPnX":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html"},"n9GxHmMESC-2QFd-KB0eI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alpha"},"9kf6fJepNDaQjPiK3-2T1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alwaysUpdate"},"Mc99RAz1ZG8z88M8iI-UK":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#ancestor"},"wSPzjN5ISlaHfxkQ7V3T_":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#anchorPoint"},"IyVSn8J6A4rvRAc_sLm4u":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationpause"},"xY8nMnDd8U_DKjbIc1kvt":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationspeed"},"2UF-GI4q4hwA9YzVHhLmk":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#autoTransform"},"5HxmvV_ua9Wxqc2FjGjAP":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#blendMode"},"kasA4RCiU3TLa2vyL3MG0":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#body"},"y1OHhNGxDm5djb2Kqb3tF":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#bottom"},"fDT_TjmjUQHUXxEuCgIDB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerX"},"cU2KQSuB5_g4BIqeEbhjN":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerY"},"QkNYXcfatDRUx8R_cUIkd":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#currentTransform"},"-Wj2iSVY4pr5rnCnIYelC":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#depth"},"cPJQknq8dIJFk3aw2G1aS":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#floating"},"5xyk6oFe6P5kbxqiuTrRn":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#GUID"},"JVB19E-J1vaLP6WuWHudt":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#height"},"GuoSS06gFZlUZlECeoRNl":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#inViewport"},"u3SbtXmQu99gVcDQui3gW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isDirty"},"4mT3lcK8pVvijj_VtbE6p":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedX"},"Mj0QrOj73nbf_ACB2oJ1Z":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedY"},"MElU0mQ9ylz0u0pGWrRns":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFloating"},"1M59XfM6E85Lhf_4ouPo2":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isKinematic"},"F0y1dofmRBCU536UuPakB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isPersistent"},"og3e1b-Z9i6V3k2BJlaYl":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isVideo"},"M_WX6rnO6O2yf_YLWl__m":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#left"},"p3mX7W5IB5tbOBaH7Yf87":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#mask"},"WXJZ7r7mysdP65Lg8jDlt":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#name"},"E-zqr4qMG251PkmSUTasG":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#offset"},"1z3Jno5yQXLq9wTeqDvIr":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onVisibilityChange"},"o3aatkJO5VVEZ2fqfWtma":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#parentApp"},"G8piTiP7UlW0nxRnPLUNR":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#points"},"V9rm2tmBt0DcyR1McmD1S":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pos"},"n6F7Mztc3Kn-f8mbrmZAK":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#right"},"3rtmBvzO47JzHjo-pEStl":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shader"},"CSqmWpdTAg8exCVeI9fsT":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#source"},"ry2DbxVTuVxHwFQ6bqgKI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#tint"},"RcsdPOu2Na9JwEoTcvI6j":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#top"},"JGQgZKAeEx49eVhNlubt7":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#type"},"4xI3h-v7nSVAZjbIkqLPW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateWhenPaused"},"oc1S88ZQfXvVhltjEfpJY":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#width"},"fMI07czGt5Jrb9lMH6_V6":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#addAnimation"},"pd6m9zf67ImTZ7OUdgnbL":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#angleTo"},"F-aBBTuHJASxeZHnJI4DV":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerOn"},"fdMJIMXS2CQFQT0D0-N1q":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#clone"},"fY2UwslGXRMCta-kW_kdQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#constructor"},"936neVmZktWl1CmMVExen":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#contains"},"THewOWgzQPtrnGTNRGkfp":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#copy"},"hdA1LwgUpgNBv8DFSSEnI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#distanceTo"},"7kmk-jvtF1dCcDkakfZNI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#equals"},"8wHMDrbtWC_SaHByokeaq":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flicker"},"wpA1O3B0d8nVAupFXHWVf":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipX"},"DEF7d6e7ljke0SC1-IXTt":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipY"},"4zNTvCGXkZX23IBV2n9RJ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getAbsolutePosition"},"qyZZqKERz7ZgGP9rZrgkq":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getBounds"},"96UYLVzhbGpMA4MJdLsog":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getCurrentAnimationFrame"},"YPaikptaCtf_LbFsITguf":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getIndices"},"Y7qtMAdw45C4NVSea2FV7":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getOpacity"},"MD55QxAoTMtgR3sVRc4Yq":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isConvex"},"wTaiVuuFZZzQt8eMulvYU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isCurrentAnimation"},"T3jkSd704jQrQ5KghkiRE":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFinite"},"855hKxlwfXShHlAYjYvIZ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlickering"},"lZ7UzslyGs_uCmHZP2OE7":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#lookAt"},"SSxT5epXvldun9KH_uoVg":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onCollision"},"fK8ijlnbFisKfIrmeCnJ1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onDestroyEvent"},"vENrnCXZ6AYkWm6QVket1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#overlaps"},"gf8APSmh3yiOYPlilRbNy":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pause"},"c_XDDtO0ISxHdWytseOT4":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#play"},"XCGjvw9Augn9JE1xPF3cE":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#postDraw"},"JLLapkAHAwfkdsrq5M6Gu":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#preDraw"},"v-6TtNhMClrYs5Oc_rwMb":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#recalc"},"d7-dfjPXw_3PxnSHChu9S":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#resize"},"Ef6su8EkDIqj9DytujD-k":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#reverseAnimation"},"uoA68qykIdGMa-QLgYWlh":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#rotate"},"IH1ryWwigDleY6E7n9GMH":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scale"},"jShxIPtSXg2sd6ulzriVg":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scaleV"},"N_6cdFNS9vH2_xSFP62wC":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setAnimationFrame"},"YyXQRKz-2KtktpTf67mpy":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setCurrentAnimation"},"xF9_DBBrqEftT6cYf5buW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setOpacity"},"Wo8A5WqlycjG-1k_dJFH5":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setRegion"},"X7UjTuCQP-OBEqmJpds-r":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setShape"},"opPrXGYE0akxi1x6370Ce":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setVertices"},"9PPNHjwnCpnl1sVEq2NqH":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shift"},"m6qR4EmSaCkUIW5ebuOFw":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#to2d"},"f2p14PPDUPMv0g3r27VRf":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toIso"},"0YwAIPrEFGsyvIbijTfIx":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toPolygon"},"D47BjH5rd396vSJgAm7tt":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#transform"},"HAUe56I1BPsvXC2xdTMun":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#translate"},"zbvr1upO8GFfvgHYayve2":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#union"},"rMFis2GK-SLNBriwpv4Mw":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateBounds"},"Xgk-RO8sBTB0RrGXtmaB9":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#draw"},"h5HvTS2j04PqSYjJoJsl-":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#update"},"hWXDXaSFckiUsHCdGphVN":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onAnchorUpdate"},"HXKny6FVJyLTekYgg3_pb":{"uri":"/melonJS/docs/melonjs/ObjectPool.html"},"R_YFlsSzW8PJ5ab7OKW9w":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#exists"},"v-MPhJRZgePj5GfF6lBe2":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#getInstanceCount"},"pcCOyZXzM3LAcRFcNFcTO":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#poolable"},"utmGTGsTC5RBN9OR7gg-E":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#pull"},"m9e-rh3KFor7tdfvProY8":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#purge"},"2-p-5MdCD-IUFzo4IqTqt":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#push"},"44A0lf9YIQGk06Y_3O76I":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#register"},"TKdiEfV3hKbBgg1FUTsaa":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html"},"6JIgn5v58kvbukpr5iP6X":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#x"},"BOLKY-cn21IHxJbFDQg_6":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#y"},"ppxdzN0MjUxuthRI3K5hY":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#abs"},"vlQKwgv-VKNlN4-dIQGuW":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#add"},"0V-oojk9P-MBgUWBlx6Uq":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#angle"},"nKykWqEPWXeRhgFIMy-6q":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceil"},"oUqlNn7yN4bQesnpUyaA9":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceilSelf"},"KybK3RNufmwTXMB8RRAf0":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clamp"},"pmUX0lT_QIhLM7n8YfqA5":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clampSelf"},"7Cur4rFV00r_Q9IuFligH":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clone"},"odW0XIbRRT1enouzN9H1s":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#constructor"},"qd3yqRVq1TaB93zpK9BeN":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#copy"},"cT3Bbnw0h_KUcQWUI1PLv":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#cross"},"uUZHGKFalSgYICx8Kde2F":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#distance"},"3iMBPyKljp5WYqBTl5nqg":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#div"},"5diKhpLVztNfWA_Y0ClnJ":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#dot"},"EnkgIHy91q1MflzoMOMwe":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#equals"},"ip80ymAlhCZEZshBYoHN_":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floor"},"SkA2x329InYhVMuJzbhen":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floorSelf"},"hxy0xKSFciLlfTdeKdWGm":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length"},"5szR6fmLnAeC28_6-P8ZT":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length2"},"1nzz_xCp9uLvNO-ajBCzr":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#lerp"},"pYeixpCluB_EkPHq3Fx66":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#maxV"},"MSkqLW_E14YZKyBPy-cpC":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#minV"},"k5paiAuxUNIvqrWdmy0FF":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#moveTowards"},"H_3mGarU1GraBougqVA41":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negate"},"ZGtriSOa0FBsQqlPgBX8O":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negateSelf"},"U4sBthexkZmkBNRLBEx9K":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#normalize"},"wf93NEYQzU9witUf8ZKbc":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#perp"},"L6HZLZevjGJlzJ0M-LbmK":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#project"},"A2HI6IyuupE_QA2Jy-ZnX":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#projectN"},"k9SkSEJkp3lU7qezyeT9m":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#rotate"},"bCSJWlWRVPgkKEaL8VoPg":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scale"},"dEZnziOfDPm8Nc8AAIuqX":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scaleV"},"5EJA2nUAT235UWhRzePBL":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#set"},"7GvDXipwZ9FZoDqRGJMTj":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setCallback"},"X4lZET1YvE9oHYJmosgUX":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setMuted"},"HBxMl1iPcFQ7Bs8u56Yv4":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setV"},"JLTADRDvMsttzsW7-C0lG":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setZero"},"NP8LthBp5owsbHl9sCW0S":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#sub"},"MpJZWa8DW5zzWc5oiWWz3":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#to2d"},"8P2hzbfY-0NufrGZP3ZSM":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toIso"},"UCy1Tefhi1KVHZvq7pdqg":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toString"},"c31ZdeftcIObo4gpLg_dV":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toVector2d"},"iwsA5uxrg6pQ5Q9wSxp2N":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html"},"osDe837GxVWIwH7SumUxh":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#x"},"J7Q4qkBKlpYLzzlqlR8PK":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#y"},"X1Q02hz25ZxOyCWJPk6tX":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#z"},"EHeqSe3LPca9Wg6WEo_Q7":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#abs"},"Om8oKFsHqM01cwX3A-i1p":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#add"},"H2ifWhhVsXopWGAtnn3EE":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#angle"},"lcO7tvaS0n9TMGE-hQ28J":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceil"},"K5RPYODSc9BtLlxW9QdcB":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceilSelf"},"pZKv1aSBFtwyatuV4t4qd":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clamp"},"ognRX870TPZRqvAJazpBw":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clampSelf"},"VU7ORD92QNqAWPyYZ2DWb":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clone"},"dys88j6Gan1KmF3HqeKxh":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#constructor"},"MAbiGhV5dH0zOKzY8PYzH":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#copy"},"0j70b5g0fAGAe6vZm_4Jz":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#cross"},"EcIWb4rHXbdt_MheZKETC":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#distance"},"-xhP50byp5Oyq9fPkB02G":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#div"},"5GEl43OHmLWSAWXu8x8X4":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#dot"},"Azq_w6ZqmS95heh8qfGt3":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#equals"},"-mlalN8fm_nfLOlz7NOu_":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floor"},"NKx-u0d2FmV47AoMw991K":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floorSelf"},"-SyVhzSvWm8tbpq9HzpxQ":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length"},"T8M-VNrOlcGnKTgM4QNiY":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length2"},"khonf4dSkjQTMfmwjR1Ph":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#lerp"},"7_H_HtLAlRcrZ1FG9nXZ9":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#maxV"},"FIL_qhPn8IETJIXx09vqB":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#minV"},"Qn6cFNyaE-G8gMxyu9wvy":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#moveTowards"},"1NlLK3jGFkhdFsVBOBZIF":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negate"},"csRdcNFVLTgtumUCtPsLc":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negateSelf"},"gZVNpCz6va1KIcZcXUT3J":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#normalize"},"YTED1geFSNYFK-YF4bQNJ":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#perp"},"88MG9OAufDbYz6kwlMi-C":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#project"},"dT9gLOg_Fx5-9TXt_PgM1":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#projectN"},"FbVZ1K6nK7HgEFRrNTvAK":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#rotate"},"s5pn5LebNpTr1dm2-7UgC":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scale"},"ymVLE4IRQ1JN1O0cZnrCX":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scaleV"},"M9cnOZdZyakmpEO556xih":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#set"},"g8I6Z9Pagr3EuN9BG2Jsz":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setCallback"},"NxEg5oELr34dJgg0ZHJxV":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setMuted"},"00g6dIZoN3yTMD5bFcQgB":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setV"},"Aj2OJPClkOD1mow5cUJ2o":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setZero"},"CE9Xfmk96IkucKJ7Mt_sZ":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#sub"},"CVMZAfTDKLTCpMYsFrNRA":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#to2d"},"UCM2bTG4I2ZXu6tvxyxyV":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toIso"},"AA4uWaA_kSKswK6vbQM5k":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toString"},"IpZtnnkqkqIVaO7TEu_c3":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toVector3d"},"Ye3Qvytb7owpsgN1IVMDA":{"uri":"/melonJS/docs/melonjs/Particle.html"},"frhU_3N-qyemP6_hOsJQL":{"uri":"/melonJS/docs/melonjs/Particle.html#alpha"},"zcpavLRxGJOH3PQOk043e":{"uri":"/melonJS/docs/melonjs/Particle.html#alwaysUpdate"},"-qZscfJ95jcz5aJ4pTUAx":{"uri":"/melonJS/docs/melonjs/Particle.html#ancestor"},"AaBB3sZ-9GyJYFdx_pdSF":{"uri":"/melonJS/docs/melonjs/Particle.html#anchorPoint"},"_Oo3BsJJ4O-EJHUwPwZPm":{"uri":"/melonJS/docs/melonjs/Particle.html#autoTransform"},"FoNUAQcMXzgvV00mXoqp_":{"uri":"/melonJS/docs/melonjs/Particle.html#blendMode"},"ETMRnBp8PKf5ONc8JIH7B":{"uri":"/melonJS/docs/melonjs/Particle.html#body"},"S_aZPqxSqqRuzo5iugyOJ":{"uri":"/melonJS/docs/melonjs/Particle.html#bottom"},"zEnWwhLwb5YsfDa7L1z9u":{"uri":"/melonJS/docs/melonjs/Particle.html#centerX"},"TKqgjpH839QJFze3RhQBi":{"uri":"/melonJS/docs/melonjs/Particle.html#centerY"},"XJSZR__xo3WVGKlxmdtAL":{"uri":"/melonJS/docs/melonjs/Particle.html#currentTransform"},"EfscTqNSWF_rxsU5h6PAX":{"uri":"/melonJS/docs/melonjs/Particle.html#depth"},"egHJJxkpgpO_FqIOM6v0y":{"uri":"/melonJS/docs/melonjs/Particle.html#floating"},"9ITdVYfeVMl3mzLZ-c3tn":{"uri":"/melonJS/docs/melonjs/Particle.html#GUID"},"qg_IFX5yXsDh-sxQxe59s":{"uri":"/melonJS/docs/melonjs/Particle.html#height"},"hy7cBRt6CnRTGs5A3oE4j":{"uri":"/melonJS/docs/melonjs/Particle.html#inViewport"},"MViEibmHDGZsbUx8ifFcs":{"uri":"/melonJS/docs/melonjs/Particle.html#isDirty"},"iDujjk_8oR-uRIAYV_oMH":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedX"},"XSy-i-xJlKAPkUjObxB4u":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedY"},"odkKJt39w6AIVhwGoAYg3":{"uri":"/melonJS/docs/melonjs/Particle.html#isFloating"},"gfG2QDHdx2xQUdRilqx6o":{"uri":"/melonJS/docs/melonjs/Particle.html#isKinematic"},"Xw73JoALXacF1W2cf2bbB":{"uri":"/melonJS/docs/melonjs/Particle.html#isPersistent"},"VcGBO0YRWKO4HJhJi0LB0":{"uri":"/melonJS/docs/melonjs/Particle.html#left"},"Pgqbqj2cG0jAHrUoP7gAA":{"uri":"/melonJS/docs/melonjs/Particle.html#mask"},"B2MzbkljiA75p4Q3e2-iF":{"uri":"/melonJS/docs/melonjs/Particle.html#name"},"gPEmBawWrL9hIpWalV66V":{"uri":"/melonJS/docs/melonjs/Particle.html#onVisibilityChange"},"9Erju6G1hr3z8PYT1PCzT":{"uri":"/melonJS/docs/melonjs/Particle.html#parentApp"},"MBKnUypS42llBDkUl6Mbm":{"uri":"/melonJS/docs/melonjs/Particle.html#points"},"dhXThUFpzY_dyrfxI7Xzs":{"uri":"/melonJS/docs/melonjs/Particle.html#pos"},"37aLU0QMlvz64P7ZA-BWu":{"uri":"/melonJS/docs/melonjs/Particle.html#right"},"g0CkGqOudujm7D5RsVbM_":{"uri":"/melonJS/docs/melonjs/Particle.html#shader"},"9AH3UucVmK84Osa4_S7vn":{"uri":"/melonJS/docs/melonjs/Particle.html#tint"},"ajFSvvtgkWuz0nlMsa1Jd":{"uri":"/melonJS/docs/melonjs/Particle.html#top"},"RnPfLuMBfR-6n_IrWFhHT":{"uri":"/melonJS/docs/melonjs/Particle.html#type"},"lYZuzPOAPJ9oCR3_aVN3a":{"uri":"/melonJS/docs/melonjs/Particle.html#updateWhenPaused"},"9kRE1ZyHPI5yn1hS-snQc":{"uri":"/melonJS/docs/melonjs/Particle.html#width"},"Ha2BWQ7TA7hRNSIJF7PLZ":{"uri":"/melonJS/docs/melonjs/Particle.html#angleTo"},"mOdAcRflRgh6yGtcGdwYx":{"uri":"/melonJS/docs/melonjs/Particle.html#centerOn"},"w18TxkJqFBtwLYxv40oOk":{"uri":"/melonJS/docs/melonjs/Particle.html#clone"},"K7jAr6fgoIJ6F7cPTFCs4":{"uri":"/melonJS/docs/melonjs/Particle.html#constructor"},"oRzqwNHYHmWRAtkP53XQO":{"uri":"/melonJS/docs/melonjs/Particle.html#contains"},"AWjM5zCJlnoEd6k9M_sRk":{"uri":"/melonJS/docs/melonjs/Particle.html#copy"},"p4UpApzLnT-eWNBBHJhoK":{"uri":"/melonJS/docs/melonjs/Particle.html#distanceTo"},"RXKfEYrS1WVsVbitcKbHW":{"uri":"/melonJS/docs/melonjs/Particle.html#draw"},"mjEIsnfX6QPjy_Z9AJC7g":{"uri":"/melonJS/docs/melonjs/Particle.html#equals"},"HE01J54wUQ_QQgjoTJMNz":{"uri":"/melonJS/docs/melonjs/Particle.html#flipX"},"RnlBJ0FNU3SzJIhLILR4J":{"uri":"/melonJS/docs/melonjs/Particle.html#flipY"},"FbPl6HXvs5v0aDcYbD1rG":{"uri":"/melonJS/docs/melonjs/Particle.html#getAbsolutePosition"},"VXvSY1j1P4QGyxbVCcVDq":{"uri":"/melonJS/docs/melonjs/Particle.html#getBounds"},"GfzIzkt0ELLgRurSSskmQ":{"uri":"/melonJS/docs/melonjs/Particle.html#getIndices"},"J5e2DpbH6Nm0WPUIa-0KN":{"uri":"/melonJS/docs/melonjs/Particle.html#getOpacity"},"9xzVo6jTeVfsiTkryUr1o":{"uri":"/melonJS/docs/melonjs/Particle.html#isConvex"},"7q2t2UqknMRtNwpEnjd5a":{"uri":"/melonJS/docs/melonjs/Particle.html#isFinite"},"JGqKODcZdea-zR9VilI1r":{"uri":"/melonJS/docs/melonjs/Particle.html#lookAt"},"KB2FNgYPDdxDvNNE8ENgu":{"uri":"/melonJS/docs/melonjs/Particle.html#onCollision"},"aU9YEZ1u8c_NxxiSc3Clh":{"uri":"/melonJS/docs/melonjs/Particle.html#onDestroyEvent"},"r97HV0lpfJgtLZynx09ax":{"uri":"/melonJS/docs/melonjs/Particle.html#overlaps"},"sgHZbYzwyjHqQoQWPfsLu":{"uri":"/melonJS/docs/melonjs/Particle.html#postDraw"},"MQO48jPxyhwk-WUEmtX6M":{"uri":"/melonJS/docs/melonjs/Particle.html#preDraw"},"hMKY-1OIAstV2yRmLgi1G":{"uri":"/melonJS/docs/melonjs/Particle.html#recalc"},"XUe56lSgK4ZWtQV8q5HZ1":{"uri":"/melonJS/docs/melonjs/Particle.html#resize"},"fsvVEg5YNLyHCubvMyIY8":{"uri":"/melonJS/docs/melonjs/Particle.html#rotate"},"A61CWhH5_rmGUrG968J3h":{"uri":"/melonJS/docs/melonjs/Particle.html#scale"},"B1xSWhKSrKXbI8F2oGXYx":{"uri":"/melonJS/docs/melonjs/Particle.html#scaleV"},"4xH-FVTLT81zC2YWR3RqB":{"uri":"/melonJS/docs/melonjs/Particle.html#setOpacity"},"sahBfKRgwOtg-7ZBTS3Vp":{"uri":"/melonJS/docs/melonjs/Particle.html#setShape"},"UY_Sm5rXELGwqFlkVz_sz":{"uri":"/melonJS/docs/melonjs/Particle.html#setVertices"},"Q03Luy1gRoD5Con8tygRV":{"uri":"/melonJS/docs/melonjs/Particle.html#shift"},"YCD0VAQkqd49SvPmvvajz":{"uri":"/melonJS/docs/melonjs/Particle.html#to2d"},"7G9zb_9-w7CabwQMlCA0i":{"uri":"/melonJS/docs/melonjs/Particle.html#toIso"},"jCRSghkg1QV1pWXe6_tb0":{"uri":"/melonJS/docs/melonjs/Particle.html#toPolygon"},"AIaOBGVCXY_v4PG1qs_gG":{"uri":"/melonJS/docs/melonjs/Particle.html#transform"},"eIQJfE2zilSHrpoQ2a486":{"uri":"/melonJS/docs/melonjs/Particle.html#translate"},"559yheu4CfetVRcVydhPU":{"uri":"/melonJS/docs/melonjs/Particle.html#union"},"hTZ4lo6AtYvNlbYwhufqb":{"uri":"/melonJS/docs/melonjs/Particle.html#update"},"Hx-FeXQHX0IqRWpgbZgUX":{"uri":"/melonJS/docs/melonjs/Particle.html#updateBounds"},"ulbG9A4LeaqflPYVdRRE1":{"uri":"/melonJS/docs/melonjs/Particle.html#onAnchorUpdate"},"_WCJzQNQILx8VY2Oh-I8y":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html"},"PJbdnvsy-g8X2LcU8CyMB":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alpha"},"F9PgiuF6hsoq8WumuuCyT":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alwaysUpdate"},"2xHKqeAYQvfAb1EIeTUoC":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#ancestor"},"xHmo31LE7yF1vrr3Dj0fE":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#anchorPoint"},"uf5MCJjv_89NkyckuORXU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoDepth"},"WTAeMh0y_jNiMc9dlJdep":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoSort"},"oxYZ5lzHgOouQwucLdqjj":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoTransform"},"Pt3uYotrbL8GSE8TbUDRZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#backgroundColor"},"rSJeGGxCJpsM9JLeRqcMW":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#blendMode"},"3fJSG7mvGzH4TDUeoidoP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#body"},"xtAVuWo-J-Vvusa9-Px0c":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#bottom"},"sKzZQllX_r4uZj_i2EFZF":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerX"},"zgUZU2ZODLAdwmsYdrLlK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerY"},"mLbsb6fCMi0BTBS7iLqDB":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clipping"},"wqOiR9AfeVmB-rtQ5-RWG":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#currentTransform"},"f4zMJdEqhcISbszS7eI43":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#depth"},"0voWXZi629wqwfCCLKL_P":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#enableChildBoundsUpdate"},"Gr8gjRGXUlNrFRGsCcCnY":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#floating"},"qrAG2W1Gh94ENlzscS-m3":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#GUID"},"11ZQFoT5Y19MSsI_U4XG6":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#height"},"gtJfY-m6ubGZqPP_Y54sz":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#inViewport"},"ffDDIyXhibGPjuPHzSn0W":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isDirty"},"UeG8NQJw9amdRdVuNubhq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedX"},"Rsp5nHhWLE2sV2grB-0kF":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedY"},"_qB9tNFvFEpKmM_IP0ojR":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFloating"},"wKvEOI9YyDq8c3fLVE9Kd":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isKinematic"},"9kBeuB2Dy9AOtuv6RWrqr":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isPersistent"},"yKFxryxgoAI43gy9aXDA3":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#left"},"Gea_910jhnYBCqsU-l6rb":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#mask"},"z4xyLPQVfokiiqH_UBLXk":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#name"},"tYzeQknxr3pgWxA89dUo0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onVisibilityChange"},"vGBQODj7hYsGD7wggDrkq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#parentApp"},"F6T4JWR2pKDFSk3XC_vtw":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#points"},"yIzKxOV5AlHBjP4AsWzGZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#pos"},"LoRc6WmBPxGDX3IYPwVRn":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#right"},"vVPA9iYo0pzkA2yMQ7Yst":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#root"},"xFj0usfSWdEpdOgDzc-CV":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#settings"},"bOwLoiPbb7p_sjTGKeyVo":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shader"},"vuFgpoCf8WYH0ZK2wIznd":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sortOn"},"p4rt05S2qahJiZD4wDAPq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#tint"},"roAdab7pwhrP7ciI8hjk-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#top"},"FnHLgw74O5_nKoaQK-U3d":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#type"},"LJqBaafAzBEsLUkBa7Yie":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateWhenPaused"},"ABkbe82k8Xu4ecxdGlQgK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#width"},"0Xebu0b0HL450PGKbGXnL":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChild"},"77SVdZRuXtcXNkLh91n3j":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChildAt"},"77PcS1WMVF40rLrxaaWGn":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#angleTo"},"qgq0y-NzMOcKi4wcVSmIv":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#burstParticles"},"JpDz-G1myty0b_agDtAqz":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerOn"},"ulbvIjb8pXFuOuRAnGPNT":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clone"},"RMr6INZs8l09GjBaVryK4":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#constructor"},"xzWQeG2WzAmSovJpcGiG7":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#contains"},"5B51jlVlyhui_JMWblEnP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#copy"},"t9YLHF3Prdize-PtCBhid":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#distanceTo"},"a0uZQiVNJNdD1hpXXJ4Sp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#equals"},"S5B4DLBXnbdHazO184a_h":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipX"},"d3Qrtw_JYlPqK1gMjBSXy":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipY"},"tIprage_7vHdyIw4bEYgn":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#forEach"},"MI68tfYW8pnNAtmHEnBkX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getAbsolutePosition"},"xIzFX7_8tTtK6OSJuokMP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getBounds"},"IbiKBuOVnKqzXqkQW2tG6":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildAt"},"5Erm7yQycowTrtlEnCqKt":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByGUID"},"2axLt8UDGRnMj4hKmEEPv":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByName"},"UjqAkin34-50GBJzMVH1I":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByProp"},"7ncMbWZX5mZqE9_IN2WEm":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByType"},"xcWeb4c8JFMILThwsXvtP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildIndex"},"IRe1IPpiDuWFdpNPKN0kN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildren"},"8tvfR2ZxT5_xirJEkPIOQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getIndices"},"bZkZAey_BbNHp-fVSA5Ny":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getNextChild"},"ZG_tGRMUKYODV__Ai1TIZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getOpacity"},"7-d_l_J1pEFNaUD9t0qOF":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointX"},"Ea2w28_8tOXY8QqUj8mqI":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointY"},"02uSThxX81JS7EHu_Wd_b":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRootAncestor"},"7QDDVfWNVyl0dHPRtLvjX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#hasChild"},"U1fpsSV0J11KcoC229J1_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isAttachedToRoot"},"7x7NvBXJipa9W-0Bqhzkx":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isConvex"},"2rqZPFFy-z20-Q_Fpl_LZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFinite"},"1l0yTNJWHSpyPNBoPUikQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isRunning"},"jJquwxOcdWc3cj5mTHgmY":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#lookAt"},"O5eidim40saCIvHBVycVt":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveDown"},"5c_F3-N6RS--B55oEH0n4":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToBottom"},"YDGZRnzHHRqbkTwZccet0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToTop"},"q1slaVJeHWnD6UAt8xmni":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveUp"},"PiTg4GkXKRgGI-ZZaEfCZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onChildChange"},"MZS-g1xisYEngoJ3-tOxw":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onCollision"},"hvc0iKv3YU51v16lXylRN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onDestroyEvent"},"gr2O-MhNMbBNzikQYv7H1":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#overlaps"},"-0N2u95p205NDL38znIQG":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#postDraw"},"ZYfq_6nbK36QQl0qW7fLa":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#preDraw"},"5NXJx3YS8dB3A1mxo10-y":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#recalc"},"wzoNNO62mj7fRXOY8SXJl":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChild"},"lsdWTH1LfphS0Ojeo1DoQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChildNow"},"WTyOOhR1P4Nl9RJJMwurQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#reset"},"rHlQJMnTCMiVSzCgrvNW5":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#resize"},"xm8mAm0D9ADvDhpCZ5AWT":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#rotate"},"L190YOo6tuIK9dwk0RfIH":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scale"},"C5BQz0E-6OLpS5JlQzWAZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scaleV"},"vza03dfjLqEH0Jb9S_P7V":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setChildsProperty"},"8NW3nSqMphn1D0gReSiZh":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setOpacity"},"SUrDxMR9ICk6-yiz4-T_R":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setShape"},"eSR3klun-vPVvh4mjNknU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setVertices"},"APPZfdA8lFtART8yzhI0Z":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shift"},"zzTMcgSecqaf4YVwVDnqA":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sort"},"w6mSFMHvgJ5U8gtR3f5cM":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#stopStream"},"6TdyOUDB5HdVYWSOz7pDs":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#streamParticles"},"6NWlawaatpZWSOXPgBP0_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#swapChildren"},"CF-uyqXFokU6BnlWcNteh":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#to2d"},"_eA1YzUqgug609aBEZD19":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toIso"},"4SSoLunVSp-5mZ12yShXn":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toPolygon"},"MbQ6iCxsFwvyXb-RlIXjH":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#transform"},"GZA_vRnsLuvmNQPcUOv85":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#translate"},"6Dg2yymB-wprH3YgueiBe":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#union"},"Xe6yYj9Jwb-uSc6K3ffko":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateBounds"},"CXsg_1UqJ__0IlsiQmeR1":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#draw"},"0H8YmvDbjMmE_FWSZ-KQo":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#update"},"RMxRDnrOn_0IYphubkoBT":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onAnchorUpdate"},"IJPIuByxTThCsn11CB0J3":{"uri":"/melonJS/docs/melonjs/Path2D.html"},"h2EgGklAk8ql2krNczpLk":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcResolution"},"eDElHvncuuK0RMVxuOIfC":{"uri":"/melonJS/docs/melonjs/Path2D.html#points"},"ZbhybbZxoD3cipa5aHbZr":{"uri":"/melonJS/docs/melonjs/Path2D.html#arc"},"YWwM5_acdidF2LBVffiiP":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcTo"},"ucon8dNp1qqcAb2JoGV0Q":{"uri":"/melonJS/docs/melonjs/Path2D.html#beginPath"},"9pqu_rWvj1ARW2m6-31aM":{"uri":"/melonJS/docs/melonjs/Path2D.html#bezierCurveTo"},"Jat61p7q5vJNw96WXQt4E":{"uri":"/melonJS/docs/melonjs/Path2D.html#closePath"},"3twJR1PerSGH74uiH5EPq":{"uri":"/melonJS/docs/melonjs/Path2D.html#ellipse"},"ydsRPe5bvWJjv4KniWXzQ":{"uri":"/melonJS/docs/melonjs/Path2D.html#lineTo"},"W8WGYSQaQN8JWMHaGbOlz":{"uri":"/melonJS/docs/melonjs/Path2D.html#moveTo"},"wEc01DKzOc4QeEDo_kBz-":{"uri":"/melonJS/docs/melonjs/Path2D.html#parseSVGPath"},"fLOlFBHryA4yCUTXcLfZa":{"uri":"/melonJS/docs/melonjs/Path2D.html#quadraticCurveTo"},"sHMxIJdCGjVnjti-6h--B":{"uri":"/melonJS/docs/melonjs/Path2D.html#rect"},"Z7OGDuEp314JJDCK_elyJ":{"uri":"/melonJS/docs/melonjs/Path2D.html#roundRect"},"f1in_GR5ozWOD6qbFREKC":{"uri":"/melonJS/docs/melonjs/Path2D.html#triangulatePath"},"aR2ypQPLhR_nnEUNvLDQH":{"uri":"/melonJS/docs/melonjs/Point.html"},"IkMPJcQUjFZmT2u5x_G9q":{"uri":"/melonJS/docs/melonjs/Point.html#type"},"4LYK3WrccDyicVQHkRkuv":{"uri":"/melonJS/docs/melonjs/Point.html#x"},"ozUo3kutqKp-zcK_vOEVe":{"uri":"/melonJS/docs/melonjs/Point.html#y"},"WXL40P00fcirzl7V4ezcj":{"uri":"/melonJS/docs/melonjs/Point.html#clone"},"qkP8DMfA1mET1phyoiYwQ":{"uri":"/melonJS/docs/melonjs/Point.html#equals"},"oZs6i7hFj-YL2emck5-Bu":{"uri":"/melonJS/docs/melonjs/Point.html#set"},"By5iTw89owWOVxcwzEiMm":{"uri":"/melonJS/docs/melonjs/Pointer.html"},"v7ElYwUuUrTa0G1SEc4_z":{"uri":"/melonJS/docs/melonjs/Pointer.html#bottom"},"FBrbzDdbsaXtg-qeGnzB8":{"uri":"/melonJS/docs/melonjs/Pointer.html#button"},"FuRxHBA0m06zH2IJROD-J":{"uri":"/melonJS/docs/melonjs/Pointer.html#center"},"Oo9n8aloX28kerWAmmMf2":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerX"},"1m2ZNONL_5woPq9pMhEs7":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerY"},"OctMw4qkANtk3XyHUAskX":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientX"},"_ELDGynRFEgG18TSA__lC":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientY"},"GLHBcd5QmG5cO1t9wmdba":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaMode"},"JuyBoTKSaOjS-2QBDggkR":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaX"},"OVU_TtwHFHOOvjbAVTVVK":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaY"},"1Y25TLhhDhQ8KODfjCi30":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaZ"},"lH_IB6Pnr_PyHB2NURzvF":{"uri":"/melonJS/docs/melonjs/Pointer.html#event"},"QkNnc89pazhgq7YD9V0Vl":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalX"},"QfPh6RfZtEfMDQH_Lf-vQ":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalY"},"WeYbLWRXO9bqSgYiO3UQC":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenX"},"SFNDXtmMJRRB_2WoSzgut":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenY"},"jmAVP7iqwLm2CX713tXdD":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldX"},"sDJoKOPjnR6PVJ7RZV2yA":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldY"},"otfrPRBysXCa3I-ZWDALE":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameX"},"0dYtu5Z3zHIn4So8dW4A7":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameY"},"eoJg_s_J9nC3g5K3WVUfG":{"uri":"/melonJS/docs/melonjs/Pointer.html#height"},"D-YA4tySJYuY6NvtDXyq0":{"uri":"/melonJS/docs/melonjs/Pointer.html#isNormalized"},"TgD9NtuTYEEThw6d70tK0":{"uri":"/melonJS/docs/melonjs/Pointer.html#isPrimary"},"M7HgyC1yBNnno-aBKIm7h":{"uri":"/melonJS/docs/melonjs/Pointer.html#left"},"4BxPV386U85PFkPOqLgfV":{"uri":"/melonJS/docs/melonjs/Pointer.html#LEFT_"},"91RpbSINyRQyPPLy6qeYN":{"uri":"/melonJS/docs/melonjs/Pointer.html#locked"},"mBpMXSUOwgvDabVOOjxLg":{"uri":"/melonJS/docs/melonjs/Pointer.html#MIDDLE"},"M7-2BDo4xNUgtFVWzsYsI":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementX"},"e7-4hWbhvfp3M40DaIx7y":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementY"},"x0Qof8IOwnTffVz4Olrr6":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageX"},"cq0qxZuuxVQ5FwoPSAD4E":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageY"},"eCRijwir-7OZyTxKsAQQf":{"uri":"/melonJS/docs/melonjs/Pointer.html#pointerId"},"aYIlln9nGjGICTRxnrHZi":{"uri":"/melonJS/docs/melonjs/Pointer.html#right"},"hz_tr2OpTXCEDZhyG6sxf":{"uri":"/melonJS/docs/melonjs/Pointer.html#RIGHT_"},"6QQSvWpCSYRslw1xPMnQA":{"uri":"/melonJS/docs/melonjs/Pointer.html#top"},"azuXoMU8kQV5hGCduxVP9":{"uri":"/melonJS/docs/melonjs/Pointer.html#type"},"Y2d2j83RGsnFftCiKcq9L":{"uri":"/melonJS/docs/melonjs/Pointer.html#width"},"0IEy-RzL_XDeyLqmDcSJR":{"uri":"/melonJS/docs/melonjs/Pointer.html#x"},"iOCJc3npSaFuBebTflir6":{"uri":"/melonJS/docs/melonjs/Pointer.html#y"},"6NNUdSdgmDlmILBdmLNuX":{"uri":"/melonJS/docs/melonjs/Pointer.html#add"},"cQzIcaTNR0hQ0jVfMfedc":{"uri":"/melonJS/docs/melonjs/Pointer.html#addBounds"},"3WH8o8xfinqAY_PWobMqE":{"uri":"/melonJS/docs/melonjs/Pointer.html#addFrame"},"4w26R3rkXJD0bFnSxwA1Z":{"uri":"/melonJS/docs/melonjs/Pointer.html#addPoint"},"wfwJw3SGwnqACtzvfXFMp":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerOn"},"4Kg6LP0fbEBTJDEyvooXb":{"uri":"/melonJS/docs/melonjs/Pointer.html#clear"},"6swnr_-v-1f4Q06tmrOf0":{"uri":"/melonJS/docs/melonjs/Pointer.html#clone"},"Nucz4pbdPSnX8DRGK2i7T":{"uri":"/melonJS/docs/melonjs/Pointer.html#contains"},"tk49tfFSCCcCzf_sKzziE":{"uri":"/melonJS/docs/melonjs/Pointer.html#isFinite"},"7Vax30ZEjYazcpY-OdAKb":{"uri":"/melonJS/docs/melonjs/Pointer.html#overlaps"},"9E6hxfc_aMbOqmcCuW26O":{"uri":"/melonJS/docs/melonjs/Pointer.html#setMinMax"},"i5_lMpCI4OQOQP9mi63is":{"uri":"/melonJS/docs/melonjs/Pointer.html#shift"},"MgtJyyCYarru7emp3rI6V":{"uri":"/melonJS/docs/melonjs/Pointer.html#toPolygon"},"xRk2HeO4VeihlgFqqjYhC":{"uri":"/melonJS/docs/melonjs/Pointer.html#translate"},"bnuXsjPNeao356ak_pfsk":{"uri":"/melonJS/docs/melonjs/Pointer.html#update"},"GXYedrz7GaUhJiJ6F84wa":{"uri":"/melonJS/docs/melonjs/Pointer.html#set"},"7dlasGXJf3FM0wXDMFBaT":{"uri":"/melonJS/docs/melonjs/Polygon.html"},"DShNF8P2TH7JSdfFfY1RH":{"uri":"/melonJS/docs/melonjs/Polygon.html#points"},"p-vBu4ShMQOV0tp1vxuti":{"uri":"/melonJS/docs/melonjs/Polygon.html#pos"},"57VERY1gEnNNu-I4WtUpP":{"uri":"/melonJS/docs/melonjs/Polygon.html#type"},"c-UfGXFp24GDATeHVHLfq":{"uri":"/melonJS/docs/melonjs/Polygon.html#clone"},"AZAa-rPfKgVg1GX9RYP5N":{"uri":"/melonJS/docs/melonjs/Polygon.html#constructor"},"Q1mZ3_4p3tdgrM8h-X97e":{"uri":"/melonJS/docs/melonjs/Polygon.html#contains"},"CrMSJGjLt_pN0SHrvz564":{"uri":"/melonJS/docs/melonjs/Polygon.html#getBounds"},"ABNpXSeEKeWnP-WJn8-Cy":{"uri":"/melonJS/docs/melonjs/Polygon.html#getIndices"},"lJDWXWFNszJ2Vr_pJmcJp":{"uri":"/melonJS/docs/melonjs/Polygon.html#isConvex"},"qbMsx_VwcuIiTBsKK1oUA":{"uri":"/melonJS/docs/melonjs/Polygon.html#recalc"},"qPaq5xrD3EpwU5tNadAqu":{"uri":"/melonJS/docs/melonjs/Polygon.html#rotate"},"e91Id1QCXemsu5yeGh7s6":{"uri":"/melonJS/docs/melonjs/Polygon.html#scale"},"Xsq9EndHBJKXRHFGZRl0M":{"uri":"/melonJS/docs/melonjs/Polygon.html#scaleV"},"uVaTbutVhP2MQV3hKJUPq":{"uri":"/melonJS/docs/melonjs/Polygon.html#setShape"},"rTLr3-TexRZ4XRWjo-RS_":{"uri":"/melonJS/docs/melonjs/Polygon.html#setVertices"},"wIL2cmukQW36Se29vxwwA":{"uri":"/melonJS/docs/melonjs/Polygon.html#shift"},"wySRU5wuruQSsykJ6XedR":{"uri":"/melonJS/docs/melonjs/Polygon.html#to2d"},"614tMDqA6I6bt9U3aa47E":{"uri":"/melonJS/docs/melonjs/Polygon.html#toIso"},"NMFzh_cASRvDXwfiqklP2":{"uri":"/melonJS/docs/melonjs/Polygon.html#transform"},"BJeCHbflJ5ZqQGp0LCkb3":{"uri":"/melonJS/docs/melonjs/Polygon.html#translate"},"uGUNtbjEhSFU1FYrthOIv":{"uri":"/melonJS/docs/melonjs/Polygon.html#updateBounds"},"UVx18JTuGuxye3G7wBkzL":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html"},"8XsTQGwdj66duelRzdLeN":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#attributes"},"Bc5kclrKLQ__k6b9jQPzn":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#currentShader"},"r0_qdYNZbO6DO3bf8gyZn":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#defaultShader"},"ob5isEHINY3EyIFUiVEl_":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#mode"},"Nz_1uWVVxVddHyR-XcpwQ":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexByteSize"},"q6vSYj7rAySbycVZXVSmw":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexData"},"XKxMv2eQXBS3jSFMk8yh8":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexSize"},"KZrP9qG4WjYFYl4FkY4n3":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#addAttribute"},"FiRGZr08VPIoZYApW0Kh9":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#bind"},"-RHVv3r0AehPVfsUGV_sb":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#constructor"},"5WjKJE9y75WAHR64vR7jV":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#drawVertices"},"wUwH6ov74yb1mk0mLAwFB":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#flush"},"cQGza92-v0W_MDRYjods2":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#setProjection"},"MaEUWLgMPZmmaTlQ9GdOJ":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#useShader"},"QiBKQChbdhAO3tcfRgg-V":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html"},"WVxN24KX49nJg6NaY_iDZ":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#attributes"},"ylqQM7rF5d4clxKp3nMmO":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#currentShader"},"uYVee_Rg2MY5-PMt3eVhC":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#defaultShader"},"MUQinCsqBbCQiIp0R8vVu":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#mode"},"aPWNO_c_3L-EbD_dMW-ls":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexByteSize"},"dba0M1aT_nCz_5eiJeB6W":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexData"},"9OHP9okDZHtJmNkqQn5yW":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexSize"},"uL_5n5PbIAPrNx19ltqXB":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addAttribute"},"j_CiUWa_34E90ec3_GjpJ":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addQuad"},"Urwzrm-C7EutLyeJ7I4Su":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bind"},"k2FQZn8k61yqpEy6bagr_":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bindTexture2D"},"Rgl6f6O1WJQlhEfIm6jSH":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#constructor"},"w7Y0EEZhu0RG1ITPOO42U":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#createTexture2D"},"dLd63Qf7uRorsNtcQmkqf":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#deleteTexture2D"},"iCrFOYJrr_LGRbvegwbXg":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#flush"},"y3hmKF11uXbuPHIOdiUBi":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#getTexture2D"},"W-HwtEHv8E6kvcGD0gjmy":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#setProjection"},"S4IveElEkDlSfF5l_po5p":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#unbindTexture2D"},"JVhzfWNinYRnvBGpEaVmB":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#useShader"},"1OqBX4K2sGHyXnkEnEXhB":{"uri":"/melonJS/docs/melonjs/QuadTree.html"},"z8a1gIShiYeJm9hBcJAuL":{"uri":"/melonJS/docs/melonjs/QuadTree.html#clear"},"JmMmd6jOs2LV5AE4_08z0":{"uri":"/melonJS/docs/melonjs/QuadTree.html#constructor"},"97LCydHT4dTo93QT8TnW0":{"uri":"/melonJS/docs/melonjs/QuadTree.html#hasChildren"},"eerwx8GYucqXgsKo0dajN":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insert"},"qiZeOA5G8MMbtHoi3nWmk":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insertContainer"},"IuZajiHQV4sxr84OAWeTp":{"uri":"/melonJS/docs/melonjs/QuadTree.html#isPrunable"},"kdoJ_AlA_ElVmHwszspX3":{"uri":"/melonJS/docs/melonjs/QuadTree.html#remove"},"tA-_JbTq9WXn145fMZtd4":{"uri":"/melonJS/docs/melonjs/QuadTree.html#retrieve"},"BUfFABuM4yd9UEXhigHWC":{"uri":"/melonJS/docs/melonjs/Rect.html"},"Kh4wDzAFvtQzTBis7Edvg":{"uri":"/melonJS/docs/melonjs/Rect.html#bottom"},"jBI0NKkwFoDdLASPiX3Ul":{"uri":"/melonJS/docs/melonjs/Rect.html#centerX"},"hast5v9xTlnsl-ks4rSVM":{"uri":"/melonJS/docs/melonjs/Rect.html#centerY"},"RCJnlba437lUTcqZPFB2Q":{"uri":"/melonJS/docs/melonjs/Rect.html#height"},"0iIpqaSyiCD6tKEJOtWug":{"uri":"/melonJS/docs/melonjs/Rect.html#left"},"7r3XbFY3gIY4IGuPrBP4t":{"uri":"/melonJS/docs/melonjs/Rect.html#points"},"U1obQTNvOqZgMKE501ukj":{"uri":"/melonJS/docs/melonjs/Rect.html#pos"},"0PMAf-PSRK8DFaye5h193":{"uri":"/melonJS/docs/melonjs/Rect.html#right"},"6i2zKBrizvgFfkMyewSbe":{"uri":"/melonJS/docs/melonjs/Rect.html#top"},"bcRQznv2SbsPHwGKsn70S":{"uri":"/melonJS/docs/melonjs/Rect.html#type"},"S548xI-V9UxGpqvr5Q8bD":{"uri":"/melonJS/docs/melonjs/Rect.html#width"},"2xxcScX2H3pRYHXw7tj21":{"uri":"/melonJS/docs/melonjs/Rect.html#centerOn"},"S7SE8MdzAOTE9lLDp-P5j":{"uri":"/melonJS/docs/melonjs/Rect.html#clone"},"mi1mKKbyLMDqDAXe9oyz0":{"uri":"/melonJS/docs/melonjs/Rect.html#constructor"},"potzNnMqSovhPY4rKYj2m":{"uri":"/melonJS/docs/melonjs/Rect.html#contains"},"pAAMbTTvkiy5YVuqYbWaD":{"uri":"/melonJS/docs/melonjs/Rect.html#copy"},"9hTzldANTWPf2QfG3xHLR":{"uri":"/melonJS/docs/melonjs/Rect.html#equals"},"VMjKvbsvoAs4oAsTtUfOg":{"uri":"/melonJS/docs/melonjs/Rect.html#getBounds"},"UwKuh70UqM6fGfxjBZWN2":{"uri":"/melonJS/docs/melonjs/Rect.html#getIndices"},"4J6nxmPuLLvK3fov1N7NQ":{"uri":"/melonJS/docs/melonjs/Rect.html#isConvex"},"fpQrWcH4EfbqWrMP089aT":{"uri":"/melonJS/docs/melonjs/Rect.html#isFinite"},"aT4eKWZOt5KGK_37a_Kdm":{"uri":"/melonJS/docs/melonjs/Rect.html#overlaps"},"XVhOTF-8ELzeBAT97uKmG":{"uri":"/melonJS/docs/melonjs/Rect.html#recalc"},"5PB-aZ4qNrIVG1nbFtKjD":{"uri":"/melonJS/docs/melonjs/Rect.html#resize"},"_lw1CP6aoJ-SpjJnOPxA0":{"uri":"/melonJS/docs/melonjs/Rect.html#rotate"},"eUMKvYKwsfGmZontiAz4K":{"uri":"/melonJS/docs/melonjs/Rect.html#scale"},"y5GRyz3Dq4I3vxdz-3r-R":{"uri":"/melonJS/docs/melonjs/Rect.html#scaleV"},"0Tl73wxGcRo5Nbo9j6qBo":{"uri":"/melonJS/docs/melonjs/Rect.html#setShape"},"H0pQ7TfcM6XV66lIKB0cr":{"uri":"/melonJS/docs/melonjs/Rect.html#setVertices"},"FN38qy2R9Y9nLNtftZ20u":{"uri":"/melonJS/docs/melonjs/Rect.html#shift"},"UDQGJWRDUk1bNOgpPdArr":{"uri":"/melonJS/docs/melonjs/Rect.html#to2d"},"gaGW1AjmjPlnC1k0U9oDF":{"uri":"/melonJS/docs/melonjs/Rect.html#toIso"},"kWG--8xkT1CfGhB8tlCwc":{"uri":"/melonJS/docs/melonjs/Rect.html#toPolygon"},"ExXjS-ryBhkTpO5zqzu0e":{"uri":"/melonJS/docs/melonjs/Rect.html#transform"},"Wea1Zkev4wHR0dzvdqcP2":{"uri":"/melonJS/docs/melonjs/Rect.html#translate"},"rlkHY3klmnzkHbJ_29hmJ":{"uri":"/melonJS/docs/melonjs/Rect.html#union"},"5EpucVrhEl7sI7XV3WHJd":{"uri":"/melonJS/docs/melonjs/Rect.html#updateBounds"},"GQRLbG487C_GvPqNJwPkl":{"uri":"/melonJS/docs/melonjs/Renderable.html"},"barLi6KwKE3mXqLLrsfjk":{"uri":"/melonJS/docs/melonjs/Renderable.html#alpha"},"PkLba854_nbfpdAj08d5G":{"uri":"/melonJS/docs/melonjs/Renderable.html#alwaysUpdate"},"a98TRaVScOI-M17WVkt1A":{"uri":"/melonJS/docs/melonjs/Renderable.html#ancestor"},"nSECFoDXnPRdVp4mYZ6w4":{"uri":"/melonJS/docs/melonjs/Renderable.html#anchorPoint"},"EWJqBRxzfM5xRbHTccLF5":{"uri":"/melonJS/docs/melonjs/Renderable.html#autoTransform"},"-TC2bG3ND-OGPH6SGXqD6":{"uri":"/melonJS/docs/melonjs/Renderable.html#blendMode"},"aTGTHEI1julOMlMHiXw-M":{"uri":"/melonJS/docs/melonjs/Renderable.html#body"},"qpnu6qOEAFeHQTS2dU7R6":{"uri":"/melonJS/docs/melonjs/Renderable.html#bottom"},"I3oZR8qXEFzuI0jtTGQOG":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerX"},"5ZnFj_qY4jJhjae04rncN":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerY"},"iIgHHvcoa1uhi6DCTJ_Z-":{"uri":"/melonJS/docs/melonjs/Renderable.html#currentTransform"},"BoqFShiX5Lda3a2HSS5-F":{"uri":"/melonJS/docs/melonjs/Renderable.html#depth"},"H_OLMavlHY4kHm_zdV4Rm":{"uri":"/melonJS/docs/melonjs/Renderable.html#floating"},"-KHCT86OPTyJ6Rn2YL1JB":{"uri":"/melonJS/docs/melonjs/Renderable.html#GUID"},"wJXdzr5WQ0nQiIBOv-o5d":{"uri":"/melonJS/docs/melonjs/Renderable.html#height"},"-7hfN3v0VowFC5_9WUpir":{"uri":"/melonJS/docs/melonjs/Renderable.html#inViewport"},"Dd9G6Ty07WLwtSvMlI-2y":{"uri":"/melonJS/docs/melonjs/Renderable.html#isDirty"},"ImGgOADuYwmDDum7hIfw_":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedX"},"3TnJyQz4UaXDgVthTYpYt":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedY"},"B1ZJX9t3dSpxV19obbqGc":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFloating"},"ZIrseOXzewZM0EIgf6qG1":{"uri":"/melonJS/docs/melonjs/Renderable.html#isKinematic"},"0cYncgZ8HuqyleRiLdB1-":{"uri":"/melonJS/docs/melonjs/Renderable.html#isPersistent"},"Y-XrItK9Ek1ocnY4cJK6z":{"uri":"/melonJS/docs/melonjs/Renderable.html#left"},"w1pjXaMaO7KpxxYpHlSmu":{"uri":"/melonJS/docs/melonjs/Renderable.html#mask"},"1ZhNtWKMw07ZdKx_v5ebW":{"uri":"/melonJS/docs/melonjs/Renderable.html#name"},"KJ5uLXybWPR-Wi9B6w0lo":{"uri":"/melonJS/docs/melonjs/Renderable.html#onVisibilityChange"},"EBXlScUEYIKahpmTzIGbG":{"uri":"/melonJS/docs/melonjs/Renderable.html#parentApp"},"UaiYZT5EY5h15PpWQu7CY":{"uri":"/melonJS/docs/melonjs/Renderable.html#points"},"0ZSvxWrlHRteJd7CxCgHQ":{"uri":"/melonJS/docs/melonjs/Renderable.html#pos"},"nSBui8VbFkjYHKgsNEhy3":{"uri":"/melonJS/docs/melonjs/Renderable.html#right"},"yvRsIsj8FfkX74ojmkkSR":{"uri":"/melonJS/docs/melonjs/Renderable.html#shader"},"pTH4eoo4dCH-v-jVeLf48":{"uri":"/melonJS/docs/melonjs/Renderable.html#tint"},"wdyUUg1peN-BQ89lbhVpe":{"uri":"/melonJS/docs/melonjs/Renderable.html#top"},"ofudoAu2PVxmvuyfktrR4":{"uri":"/melonJS/docs/melonjs/Renderable.html#type"},"FCDwKriyitt_osy3gscFD":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateWhenPaused"},"oBchZDBswjv4TMa8c_BOs":{"uri":"/melonJS/docs/melonjs/Renderable.html#width"},"O3A7nJmhyBZKkSB9SqoeJ":{"uri":"/melonJS/docs/melonjs/Renderable.html#angleTo"},"21VH8IWgs_XTrx3nFZr24":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerOn"},"jv1qDN80jeH1lh1y36L2U":{"uri":"/melonJS/docs/melonjs/Renderable.html#clone"},"GENrxI4IH6SeRUnHUkzY0":{"uri":"/melonJS/docs/melonjs/Renderable.html#constructor"},"SV87XvZU5POOnKapgxxx7":{"uri":"/melonJS/docs/melonjs/Renderable.html#contains"},"l4Tc1rkfdADmnxS3cdYsM":{"uri":"/melonJS/docs/melonjs/Renderable.html#copy"},"wRXxg_ZRMbQL_luRvpOmy":{"uri":"/melonJS/docs/melonjs/Renderable.html#distanceTo"},"7gUDGiPzIRtgGCzESpVw6":{"uri":"/melonJS/docs/melonjs/Renderable.html#draw"},"4IlvkJ2OaC3yfjDDCEAKJ":{"uri":"/melonJS/docs/melonjs/Renderable.html#equals"},"YHAtHN58aEoizrCCi2_3V":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipX"},"ZvYuVuJid67MDgg2Xjl2C":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipY"},"YnnFUs1vaTEb9r0COj5N7":{"uri":"/melonJS/docs/melonjs/Renderable.html#getAbsolutePosition"},"o4fHUIywma4rnLHdJKoQG":{"uri":"/melonJS/docs/melonjs/Renderable.html#getBounds"},"eM76diuVuZOTpffmA7asW":{"uri":"/melonJS/docs/melonjs/Renderable.html#getIndices"},"118Ym8MroPjSy4aDW7zs4":{"uri":"/melonJS/docs/melonjs/Renderable.html#getOpacity"},"8txTl9Xxl8u-w0l1e7fNC":{"uri":"/melonJS/docs/melonjs/Renderable.html#isConvex"},"49s2IP6Q3yxx2RlAiqo33":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFinite"},"YNUgyIVANfkuZk6goPp3f":{"uri":"/melonJS/docs/melonjs/Renderable.html#lookAt"},"1_mB-yptNwN9nlYkrs-MF":{"uri":"/melonJS/docs/melonjs/Renderable.html#onCollision"},"Wy7QwQDHbwgNa1t65M6XZ":{"uri":"/melonJS/docs/melonjs/Renderable.html#onDestroyEvent"},"PgWlQOxRYu4cyT5vl0m-4":{"uri":"/melonJS/docs/melonjs/Renderable.html#overlaps"},"KRTKsQRgIP5SrR4tfBKE4":{"uri":"/melonJS/docs/melonjs/Renderable.html#postDraw"},"K8dPb6YiL9yFoZvcZ3Mrd":{"uri":"/melonJS/docs/melonjs/Renderable.html#preDraw"},"EygR_5FrkND6FyVU1CobM":{"uri":"/melonJS/docs/melonjs/Renderable.html#recalc"},"WY27DADDX01EXeVN874rd":{"uri":"/melonJS/docs/melonjs/Renderable.html#resize"},"77vsu5CwG8BbB3V18bXLq":{"uri":"/melonJS/docs/melonjs/Renderable.html#rotate"},"UvYqLJKPhfcKX0TBvNiS4":{"uri":"/melonJS/docs/melonjs/Renderable.html#scale"},"8LlDFoC2yIN-i0ZU89RhZ":{"uri":"/melonJS/docs/melonjs/Renderable.html#scaleV"},"9GwGE1KshLjE0zde3wst-":{"uri":"/melonJS/docs/melonjs/Renderable.html#setOpacity"},"QU-qs9nAoOEPqbwCvxeLa":{"uri":"/melonJS/docs/melonjs/Renderable.html#setShape"},"0lyYFbJBJzm2ss6AoScot":{"uri":"/melonJS/docs/melonjs/Renderable.html#setVertices"},"XbGvijfDcs5YEpHlgThPR":{"uri":"/melonJS/docs/melonjs/Renderable.html#shift"},"bwibIhTT7WxHPjqDRR6hI":{"uri":"/melonJS/docs/melonjs/Renderable.html#to2d"},"-CgVAH2kUpbNCODMy1yDU":{"uri":"/melonJS/docs/melonjs/Renderable.html#toIso"},"hQTw12jJHci9ktzOpP3lc":{"uri":"/melonJS/docs/melonjs/Renderable.html#toPolygon"},"wmijkYcm5c64xGfav8DUA":{"uri":"/melonJS/docs/melonjs/Renderable.html#transform"},"EmiGp8RrERiZxOrV5OON4":{"uri":"/melonJS/docs/melonjs/Renderable.html#translate"},"WqmU9MZbiFWTBrknAnCf-":{"uri":"/melonJS/docs/melonjs/Renderable.html#union"},"4ANAKIMV-ak9eEfbra942":{"uri":"/melonJS/docs/melonjs/Renderable.html#update"},"sQL83yAHFWqpiTTNH07Xr":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateBounds"},"kmMDLwC21-x4AzF8XbQh6":{"uri":"/melonJS/docs/melonjs/Renderable.html#onAnchorUpdate"},"102TbSVm9NT-U37_ER8Tj":{"uri":"/melonJS/docs/melonjs/Renderer.html"},"dzMrbpfg3LcBJbMN5dxte":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html"},"REfjtH8iNV3vV178-Xgcb":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html#constructor"},"FhD7CHDRR4frqxpGmG9I5":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html"},"b1grM9z02jX6JXI2LbEL_":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html#constructor"},"aF05-t6SExGPV6DHDn6Wl":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html"},"0CjiEgoPyz1xl_cFWVrCh":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html#constructor"},"wu43lPCLhKfOV0DYVCJII":{"uri":"/melonJS/docs/melonjs/Renderer.html#depthTest"},"ZjAdUyLO2RscmJ8wnYHnn":{"uri":"/melonJS/docs/melonjs/Renderer.html#designRatio"},"q6qo8qOpEoDeQG1v2n4Rv":{"uri":"/melonJS/docs/melonjs/Renderer.html#height"},"Dkq6yzNb2DDWRb2FuqFro":{"uri":"/melonJS/docs/melonjs/Renderer.html#isContextValid"},"lshT6Je5rvxawNNJs5iYX":{"uri":"/melonJS/docs/melonjs/Renderer.html#path2D"},"-49YUYLIsW5rZwA5K5dYF":{"uri":"/melonJS/docs/melonjs/Renderer.html#scaleRatio"},"h9meTPr7OxcATBvn5poRt":{"uri":"/melonJS/docs/melonjs/Renderer.html#settings"},"Hsbj2cv__FYK3NtJ0xlcV":{"uri":"/melonJS/docs/melonjs/Renderer.html#type"},"wgpX93jGN3qeqnZnoa7N4":{"uri":"/melonJS/docs/melonjs/Renderer.html#width"},"rySV0Cdu48QZbOiq6Dchw":{"uri":"/melonJS/docs/melonjs/Renderer.html#clear"},"7UnXygJOt3SjV_A2RjBI-":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearMask"},"5-fgRRFxREq6Iks6XJGrX":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearTint"},"h60Okl7LSQRuuYDAJnaMf":{"uri":"/melonJS/docs/melonjs/Renderer.html#constructor"},"JReVFSYy9D98CDN9NQH-E":{"uri":"/melonJS/docs/melonjs/Renderer.html#fill"},"gCY40JrXQhcJyFbC5k6ii":{"uri":"/melonJS/docs/melonjs/Renderer.html#flush"},"_mGpCilnzikNrO2gUp6uw":{"uri":"/melonJS/docs/melonjs/Renderer.html#getBlendMode"},"m9TJGpH6yYSxBQjEnfSjX":{"uri":"/melonJS/docs/melonjs/Renderer.html#getCanvas"},"xo8ams0hewQnLdtoVeE0p":{"uri":"/melonJS/docs/melonjs/Renderer.html#getColor"},"XPX80KrWIBOe93OYaMDNi":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext"},"xkMpmdTbPE7CroiVSvbYU":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext2d"},"P8ckmiEJQWEMh3-1ZpwZj":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenCanvas"},"knylrANs6YPQaTAGt1ekk":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenContext"},"flpPyd_VCv2wIcR_EdYTW":{"uri":"/melonJS/docs/melonjs/Renderer.html#globalAlpha"},"Ul8ScKjVBePfK6J12auxm":{"uri":"/melonJS/docs/melonjs/Renderer.html#overlaps"},"bRI7BrQzsV9yCMB7E48CF":{"uri":"/melonJS/docs/melonjs/Renderer.html#reset"},"Caeha2zsI776YACbQwk8D":{"uri":"/melonJS/docs/melonjs/Renderer.html#resize"},"g6C1Ff7tbtD6SwQDl5RPG":{"uri":"/melonJS/docs/melonjs/Renderer.html#setAntiAlias"},"M_ME83tRSbAqLJzQnQA_8":{"uri":"/melonJS/docs/melonjs/Renderer.html#setMask"},"299pCiNNtbiYUN98pmgBv":{"uri":"/melonJS/docs/melonjs/Renderer.html#setProjection"},"Wppk_cco6yoUCBrVNiifd":{"uri":"/melonJS/docs/melonjs/Renderer.html#setTint"},"PchUZOp7929oiNot0a11K":{"uri":"/melonJS/docs/melonjs/Renderer.html#stroke"},"6SzNCfARGLrHDytjX0rkW":{"uri":"/melonJS/docs/melonjs/Renderer.html#tint"},"t4dzVAm0MyLeiD2nQrbfk":{"uri":"/melonJS/docs/melonjs/Renderer.html#toBlob"},"GrDoedF8nYcL24bmGqJwY":{"uri":"/melonJS/docs/melonjs/Renderer.html#toDataURL"},"EsUFBCmtfNXzK6L6s-Wyu":{"uri":"/melonJS/docs/melonjs/Renderer.html#toImageBitmap"},"xu-3cUaJWmnxzYiiSe5JI":{"uri":"/melonJS/docs/melonjs/ResponseObject.html"},"_Cgc9pTSfQgyhC_hufBRF":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#a"},"56VASVG1BANE6jWCfRtXx":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#aInB"},"v1-0k0-BXhqJJy-oQZKgh":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#b"},"WqHRVBhw8jkI4hh6OezS-":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#bInA"},"eVhxFqXihhIQFwXKNjXqD":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeA"},"-h3-eTXfXlmVMp8US_zPX":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeB"},"knL6hlc9c8duuAYzWghXU":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlap"},"RtJhiAUZlDe5xWzN9Q1fG":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapN"},"JzdKf08PI3AahqoQerGZJ":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapV"},"m5W9VEkq_QaTYZhRI4V85":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#clear"},"w6bhj_y1mxtutlqasedJe":{"uri":"/melonJS/docs/melonjs/RoundRect.html"},"S-lBf4-1FP7ju4IFZB4dr":{"uri":"/melonJS/docs/melonjs/RoundRect.html#bottom"},"4PXkz65rLRncTHoRq2pjk":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerX"},"whPrixm1kv5p5tKtFtk4S":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerY"},"ouxkwd6S2889oyqTH2MN2":{"uri":"/melonJS/docs/melonjs/RoundRect.html#height"},"VLc4Yth3DBhz6I46U1ADA":{"uri":"/melonJS/docs/melonjs/RoundRect.html#left"},"-e1uRg5UcIzxPjd3gF5FQ":{"uri":"/melonJS/docs/melonjs/RoundRect.html#points"},"DA3Vb-J2fzRaIwd6nBsxY":{"uri":"/melonJS/docs/melonjs/RoundRect.html#pos"},"m6gQjXQRLv8Ch1TlHrJot":{"uri":"/melonJS/docs/melonjs/RoundRect.html#radius"},"5vLFhpfHJv7W1i4JtpAu6":{"uri":"/melonJS/docs/melonjs/RoundRect.html#right"},"XGClWmDT73Soa5aIbZs5q":{"uri":"/melonJS/docs/melonjs/RoundRect.html#top"},"QLQ8ipwd28j5qIytiRxtZ":{"uri":"/melonJS/docs/melonjs/RoundRect.html#type"},"xWZFQRj68RWpbR5FhTjXg":{"uri":"/melonJS/docs/melonjs/RoundRect.html#width"},"l9IBO8jAic2n2g4cZdq5Z":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerOn"},"b6oG2sizZsWwegsqab8Vu":{"uri":"/melonJS/docs/melonjs/RoundRect.html#clone"},"L8Uv-BRSpz-lpJzn3kBX9":{"uri":"/melonJS/docs/melonjs/RoundRect.html#constructor"},"mnQlZLV3g1SLGKsDmEFQz":{"uri":"/melonJS/docs/melonjs/RoundRect.html#contains"},"2sDkIzQBUGDF7ajqsoLTa":{"uri":"/melonJS/docs/melonjs/RoundRect.html#copy"},"8gOq_0pPVrfZP8G0gukuR":{"uri":"/melonJS/docs/melonjs/RoundRect.html#equals"},"Zdr5ENmtg4hz7s4G0zXy0":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getBounds"},"WSdLyQeV_aakrxmvd8nZo":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getIndices"},"x46CXQVC89sdhx-E7CsC5":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isConvex"},"ThBRRAYhalzKsYVHbeKbA":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isFinite"},"qBHWw9H1S9rVz_bGCegfC":{"uri":"/melonJS/docs/melonjs/RoundRect.html#overlaps"},"m_nYnTKN479yBwhiARJAk":{"uri":"/melonJS/docs/melonjs/RoundRect.html#recalc"},"IykH_Tm6ekHYWKFIg7AuT":{"uri":"/melonJS/docs/melonjs/RoundRect.html#resize"},"X6JC8Sndfzv4zSvnQxLXT":{"uri":"/melonJS/docs/melonjs/RoundRect.html#rotate"},"ViyfMYx4YxWYPBD6W0tkx":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scale"},"FvqfdwAFf2Bqg6WCy4RDL":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scaleV"},"ss3D1TD7qgx2y8C24FOPb":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setShape"},"0B9cicRCv9YtZpLUimdl0":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setVertices"},"8B0ySIvTCBl0Z6UGerWav":{"uri":"/melonJS/docs/melonjs/RoundRect.html#shift"},"oL8dHHEzWeweOJ4-199at":{"uri":"/melonJS/docs/melonjs/RoundRect.html#to2d"},"WvpEc9HlMOH06ibNz4RPu":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toIso"},"VzFAelZu88VBUX0lyzjOY":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toPolygon"},"4Dpr5U7eTGvkLTEnVgMkw":{"uri":"/melonJS/docs/melonjs/RoundRect.html#transform"},"4nDpYveFK8fvzKBEddOT_":{"uri":"/melonJS/docs/melonjs/RoundRect.html#translate"},"7ip3RT7529v7yh8nI0ZAt":{"uri":"/melonJS/docs/melonjs/RoundRect.html#union"},"aCbDyeECve-Ne4Q8Gu1OG":{"uri":"/melonJS/docs/melonjs/RoundRect.html#updateBounds"},"oZasI-NS2HQ2DKmCvicLs":{"uri":"/melonJS/docs/melonjs/Sprite.html"},"SE-lgl5kVwNYzV2lMni6N":{"uri":"/melonJS/docs/melonjs/Sprite.html#alpha"},"DwYgAVhy4lJXKpQgMhbeQ":{"uri":"/melonJS/docs/melonjs/Sprite.html#alwaysUpdate"},"xOpN-iH-LGn9LfIUdBLOd":{"uri":"/melonJS/docs/melonjs/Sprite.html#ancestor"},"0F3SNzngXk8YloCkYgBQq":{"uri":"/melonJS/docs/melonjs/Sprite.html#anchorPoint"},"xcSvEsaYS1afIXq9y-P8W":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationpause"},"AkCl9L-0s6mY60bMiqDpn":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationspeed"},"y1ZieqPaipefnPLfSWoWy":{"uri":"/melonJS/docs/melonjs/Sprite.html#autoTransform"},"W0wUXnL_qt8m-W0LFqa01":{"uri":"/melonJS/docs/melonjs/Sprite.html#blendMode"},"4GI_Tx4oiDXAkuBb1LK-T":{"uri":"/melonJS/docs/melonjs/Sprite.html#body"},"buJJCbHoqUZDZHBrc7DiQ":{"uri":"/melonJS/docs/melonjs/Sprite.html#bottom"},"6qca53CSinrhzgfrraRIx":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerX"},"-avAYigJf6eN6l2y4Yu3h":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerY"},"9e_2oAm38f8WhudqpoojS":{"uri":"/melonJS/docs/melonjs/Sprite.html#currentTransform"},"wu1TnM8NyYYicfqkj_V4h":{"uri":"/melonJS/docs/melonjs/Sprite.html#depth"},"tbaA7rb3AcruLqjC5KaL5":{"uri":"/melonJS/docs/melonjs/Sprite.html#floating"},"z1RJdZZt7JbffMzcq58zJ":{"uri":"/melonJS/docs/melonjs/Sprite.html#GUID"},"-Tfu79LYdGVbRlZtxA5_w":{"uri":"/melonJS/docs/melonjs/Sprite.html#height"},"XV-CUDhdaPh8N3Fzaf1cC":{"uri":"/melonJS/docs/melonjs/Sprite.html#inViewport"},"1unEmeKmpUltNW5_o7tL1":{"uri":"/melonJS/docs/melonjs/Sprite.html#isDirty"},"Dquhrr37qdtSYQnzIjJmM":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedX"},"ojSOrn82lnEh4lcCCNwDf":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedY"},"2_9SvYRqXbntGLTAtvF7n":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFloating"},"T_SC5sEnXrf_I980da7Kf":{"uri":"/melonJS/docs/melonjs/Sprite.html#isKinematic"},"2I9iSddAWzD93Llx5_L4w":{"uri":"/melonJS/docs/melonjs/Sprite.html#isPersistent"},"uJO3YZKtoSOxA_HEWA0Vr":{"uri":"/melonJS/docs/melonjs/Sprite.html#isVideo"},"5bHu1_NPsfJrQNJG-eFHj":{"uri":"/melonJS/docs/melonjs/Sprite.html#left"},"kiy-g7kdM-ucC692-o08I":{"uri":"/melonJS/docs/melonjs/Sprite.html#mask"},"1TvkcOt8NW-FwypgulPys":{"uri":"/melonJS/docs/melonjs/Sprite.html#name"},"OlUdq8kGiQi1c5505fWAo":{"uri":"/melonJS/docs/melonjs/Sprite.html#offset"},"qXca_x9Br5PWMFwOthk5z":{"uri":"/melonJS/docs/melonjs/Sprite.html#onVisibilityChange"},"i1Ei7vVaP-u0qoUFRitan":{"uri":"/melonJS/docs/melonjs/Sprite.html#parentApp"},"gAriG4v_mK-YxWIURwr5p":{"uri":"/melonJS/docs/melonjs/Sprite.html#points"},"ce5HLe1scKlChu2QH30sj":{"uri":"/melonJS/docs/melonjs/Sprite.html#pos"},"AucAjOGJbsSjl0ZuV1fr-":{"uri":"/melonJS/docs/melonjs/Sprite.html#right"},"F48zxqwLIm4KRVMMuQnuh":{"uri":"/melonJS/docs/melonjs/Sprite.html#shader"},"TpZ8-2uBG2ABy_k0Nld8d":{"uri":"/melonJS/docs/melonjs/Sprite.html#source"},"zj7TW0eA-0FVgiaVcdQMc":{"uri":"/melonJS/docs/melonjs/Sprite.html#tint"},"jhFvoPuS_ZHgz--eB0n4-":{"uri":"/melonJS/docs/melonjs/Sprite.html#top"},"V1E4nYlIdnMcF5Ir9y6sY":{"uri":"/melonJS/docs/melonjs/Sprite.html#type"},"J0IVai2VcZZffo9qSGZ10":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateWhenPaused"},"J_hbak_x4Ba_jWh2UWovo":{"uri":"/melonJS/docs/melonjs/Sprite.html#width"},"UrgB08066ZpSr5t0Uulxw":{"uri":"/melonJS/docs/melonjs/Sprite.html#addAnimation"},"F80c_uCuMBTRQzo23gDG3":{"uri":"/melonJS/docs/melonjs/Sprite.html#angleTo"},"5-tFOcXSdFGRSQnj3e4SR":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerOn"},"i8l_GXHXP073QsHGpVoG5":{"uri":"/melonJS/docs/melonjs/Sprite.html#clone"},"kplfymi8jnRwwxJDWw46n":{"uri":"/melonJS/docs/melonjs/Sprite.html#constructor"},"5dJme0b6haACBmU9PIocC":{"uri":"/melonJS/docs/melonjs/Sprite.html#contains"},"DXyU-NVD087rCcGVoANLi":{"uri":"/melonJS/docs/melonjs/Sprite.html#copy"},"5XoHdneXgU_DG8SH5mr2j":{"uri":"/melonJS/docs/melonjs/Sprite.html#distanceTo"},"GysUHM0S3MX6w-evl0l05":{"uri":"/melonJS/docs/melonjs/Sprite.html#equals"},"LZav6e2lI-E5nLHpO4agL":{"uri":"/melonJS/docs/melonjs/Sprite.html#flicker"},"UrUzNi3RSpV-79eZSuzCK":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipX"},"GDq7209tljMCSwC2-5pE8":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipY"},"NbFHgaCNZJkEb8KAIkoRq":{"uri":"/melonJS/docs/melonjs/Sprite.html#getAbsolutePosition"},"yiDVg3F8-o7JdRzdo-cys":{"uri":"/melonJS/docs/melonjs/Sprite.html#getBounds"},"xnpNHErxPQ4ai_dUtvtmE":{"uri":"/melonJS/docs/melonjs/Sprite.html#getCurrentAnimationFrame"},"OmZxWLAaCraOAKCGn3S18":{"uri":"/melonJS/docs/melonjs/Sprite.html#getIndices"},"Knp83rc0zDQxG3sIjhHsU":{"uri":"/melonJS/docs/melonjs/Sprite.html#getOpacity"},"QrlZdqEkyqRqRPazKfA8O":{"uri":"/melonJS/docs/melonjs/Sprite.html#isConvex"},"-ac8hXm6bpxNTTDhgVGUC":{"uri":"/melonJS/docs/melonjs/Sprite.html#isCurrentAnimation"},"RnOa4iTjSldKsYiWqseKS":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFinite"},"Q_fNUMVNk21DakDjIF3wX":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlickering"},"VK9FbvgmjX2sZytDUP7Oi":{"uri":"/melonJS/docs/melonjs/Sprite.html#lookAt"},"JhTfMLIn6nporjaMlH-s3":{"uri":"/melonJS/docs/melonjs/Sprite.html#onCollision"},"XxNAal11VjogU1VvyzMC6":{"uri":"/melonJS/docs/melonjs/Sprite.html#onDestroyEvent"},"PsrCH-sg32QiVwSmcJeuT":{"uri":"/melonJS/docs/melonjs/Sprite.html#overlaps"},"8kC3LO9qid2HApoPTMvoj":{"uri":"/melonJS/docs/melonjs/Sprite.html#pause"},"eB6cFE_So3tBukE60dABE":{"uri":"/melonJS/docs/melonjs/Sprite.html#play"},"lxn4x5DB5wuaW8N221jrS":{"uri":"/melonJS/docs/melonjs/Sprite.html#postDraw"},"eQ2dNBcWY9DuEHJPuRiad":{"uri":"/melonJS/docs/melonjs/Sprite.html#preDraw"},"Vtzlct_QZnvS84UkMvram":{"uri":"/melonJS/docs/melonjs/Sprite.html#recalc"},"8_D7960-cV5YEu1Qbdayo":{"uri":"/melonJS/docs/melonjs/Sprite.html#resize"},"GkLgOmfQH8JPAg-dOEAN6":{"uri":"/melonJS/docs/melonjs/Sprite.html#reverseAnimation"},"an_vDEw7IAkuCVCGjxa02":{"uri":"/melonJS/docs/melonjs/Sprite.html#rotate"},"468PGEwd_TKdPz3EiOlTd":{"uri":"/melonJS/docs/melonjs/Sprite.html#scale"},"wRnOyubhvmCeqoc7gC7aF":{"uri":"/melonJS/docs/melonjs/Sprite.html#scaleV"},"9jLleT1XPc1Nipvtda2fy":{"uri":"/melonJS/docs/melonjs/Sprite.html#setAnimationFrame"},"bFckYDwHEhgUFLKfoAW4w":{"uri":"/melonJS/docs/melonjs/Sprite.html#setCurrentAnimation"},"jk7mTWP0b6SXB5wfxOc96":{"uri":"/melonJS/docs/melonjs/Sprite.html#setOpacity"},"mQmNXlRI43ZUtGw6CJF1Y":{"uri":"/melonJS/docs/melonjs/Sprite.html#setRegion"},"tafNEE630A2VRXL4smxKn":{"uri":"/melonJS/docs/melonjs/Sprite.html#setShape"},"1kydoqrmEYRg3x6bad3j-":{"uri":"/melonJS/docs/melonjs/Sprite.html#setVertices"},"fYV5_fLzM5pjayMVZ7D2c":{"uri":"/melonJS/docs/melonjs/Sprite.html#shift"},"EiiXIDqhUVl5nrgVaW62i":{"uri":"/melonJS/docs/melonjs/Sprite.html#to2d"},"uHtj-1fY4hJIwQgLnmp2_":{"uri":"/melonJS/docs/melonjs/Sprite.html#toIso"},"lp4Rclkxl4wf4o88htnKC":{"uri":"/melonJS/docs/melonjs/Sprite.html#toPolygon"},"jNKv7y5z8HUuwDvADThyX":{"uri":"/melonJS/docs/melonjs/Sprite.html#transform"},"U_N99QMb9IZjymBZXuAk1":{"uri":"/melonJS/docs/melonjs/Sprite.html#translate"},"0wvy7mRvrTgBSnq_X30MT":{"uri":"/melonJS/docs/melonjs/Sprite.html#union"},"5pWOOHGIx1auNenHoKTpn":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateBounds"},"syJoULQ-_qVXSlnLDcc2J":{"uri":"/melonJS/docs/melonjs/Sprite.html#draw"},"n4DuxiDhmtSflb9O3Vj6k":{"uri":"/melonJS/docs/melonjs/Sprite.html#update"},"5KaWT7vfvs36vyaVNhPqy":{"uri":"/melonJS/docs/melonjs/Sprite.html#onAnchorUpdate"},"2iT-Ox-Im9LYAbuwJDDL7":{"uri":"/melonJS/docs/melonjs/Stage.html"},"8H93miZL6cqGC_CQ4OpxI":{"uri":"/melonJS/docs/melonjs/Stage.html#ambientLight"},"IU3g2ns4oW2prCG-LWXjV":{"uri":"/melonJS/docs/melonjs/Stage.html#cameras"},"1u0v9FIMzo9KpDU3iozbN":{"uri":"/melonJS/docs/melonjs/Stage.html#lights"},"w1fIhdWvtBgopJyQ7lnTx":{"uri":"/melonJS/docs/melonjs/Stage.html#settings"},"HXmjZk3J4LRimbOd8OSr8":{"uri":"/melonJS/docs/melonjs/Stage.html#constructor"},"Tqon9vE3dTrqSBAJ1PUa9":{"uri":"/melonJS/docs/melonjs/Stage.html#onDestroyEvent"},"K1hEp0idaWg_B8344atHn":{"uri":"/melonJS/docs/melonjs/Stage.html#onResetEvent"},"hbXE-EL8SonTg43djqGLK":{"uri":"/melonJS/docs/melonjs/Text.html"},"h52GjTwXl0BmA7STzLs3l":{"uri":"/melonJS/docs/melonjs/Text.html#alpha"},"NmDbRuTOOmyZCNwcWzZzP":{"uri":"/melonJS/docs/melonjs/Text.html#alwaysUpdate"},"o9i5aN8eqrtr5vJN-jyAn":{"uri":"/melonJS/docs/melonjs/Text.html#ancestor"},"xP6LpFsk3L0iXjvHHFCs5":{"uri":"/melonJS/docs/melonjs/Text.html#anchorPoint"},"Ub1vLpFQq63vN7dDK7ZwS":{"uri":"/melonJS/docs/melonjs/Text.html#autoTransform"},"rwlVTTZUG7vQzeVtXcWdo":{"uri":"/melonJS/docs/melonjs/Text.html#blendMode"},"WTu_lVn03z1BfCh09wpNW":{"uri":"/melonJS/docs/melonjs/Text.html#body"},"YZotUExjXZvt4AI759EG_":{"uri":"/melonJS/docs/melonjs/Text.html#bottom"},"9T7ntNPKM00kyw_qjzmv-":{"uri":"/melonJS/docs/melonjs/Text.html#centerX"},"VfNOeikT7Z0gv12WMuTOE":{"uri":"/melonJS/docs/melonjs/Text.html#centerY"},"Hi_os9BHtILXANxulff_U":{"uri":"/melonJS/docs/melonjs/Text.html#currentTransform"},"zqpj0kfP-aBiYK0aetrfr":{"uri":"/melonJS/docs/melonjs/Text.html#depth"},"opfwtZJpdInydWZp7lYbJ":{"uri":"/melonJS/docs/melonjs/Text.html#fillStyle"},"qBOicqNcrO9AXcY6mzmVV":{"uri":"/melonJS/docs/melonjs/Text.html#floating"},"vHUBAhqpVV3bAtaqWIYZ1":{"uri":"/melonJS/docs/melonjs/Text.html#fontSize"},"Ym1esUBScHRCnmbC_FYPA":{"uri":"/melonJS/docs/melonjs/Text.html#GUID"},"6-rdK6lJwxGRQRLMv-vGV":{"uri":"/melonJS/docs/melonjs/Text.html#height"},"dXwHObsuYt447sUzJOYAh":{"uri":"/melonJS/docs/melonjs/Text.html#inViewport"},"9gcvhYWLtpi8ZlFajf0p5":{"uri":"/melonJS/docs/melonjs/Text.html#isDirty"},"wEG5mSZLYUsKaqqELYVIp":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedX"},"PbwaC2pQBFAOkTErflbVr":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedY"},"4OUynV0eeJCJeaViWh9tR":{"uri":"/melonJS/docs/melonjs/Text.html#isFloating"},"_s-ghjtjbJ6jPDfskg6N2":{"uri":"/melonJS/docs/melonjs/Text.html#isKinematic"},"XkvbmgOQGKstYDl9ynjiq":{"uri":"/melonJS/docs/melonjs/Text.html#isPersistent"},"iaPDNyWvCYOicnffHwvZl":{"uri":"/melonJS/docs/melonjs/Text.html#left"},"JXrgLXlJzgJdlsQ1VlPYp":{"uri":"/melonJS/docs/melonjs/Text.html#lineHeight"},"HgGhVIF0qHZorXhdzRbmF":{"uri":"/melonJS/docs/melonjs/Text.html#lineWidth"},"ddCN37ZmZ_Dnt-6PTN7G-":{"uri":"/melonJS/docs/melonjs/Text.html#mask"},"dhxweD7fU2MhzVkdPdusU":{"uri":"/melonJS/docs/melonjs/Text.html#name"},"1WFM6GHjLguM7SJCb0vPG":{"uri":"/melonJS/docs/melonjs/Text.html#onVisibilityChange"},"TWh9yN4rSSShtUsobKoDd":{"uri":"/melonJS/docs/melonjs/Text.html#parentApp"},"Sk-qIEHtH3RaJov6ZKK7x":{"uri":"/melonJS/docs/melonjs/Text.html#points"},"Tyu9HDeRIyTDmYqCHBIfG":{"uri":"/melonJS/docs/melonjs/Text.html#pos"},"yLQu3ixeARkB0h97apzae":{"uri":"/melonJS/docs/melonjs/Text.html#right"},"ARbE60Tyq7yfQ15TpON_i":{"uri":"/melonJS/docs/melonjs/Text.html#shader"},"pchkKP3N4Gwfp_B5VKlaH":{"uri":"/melonJS/docs/melonjs/Text.html#strokeStyle"},"9MRap2Q-PS0nFbox3lCES":{"uri":"/melonJS/docs/melonjs/Text.html#textAlign"},"XwjUbG1bO3eRWpj-ieno3":{"uri":"/melonJS/docs/melonjs/Text.html#textBaseline"},"rwYqoipDFRy6JLrj6ou9R":{"uri":"/melonJS/docs/melonjs/Text.html#tint"},"FY__4fEvBStcfahVcYE1n":{"uri":"/melonJS/docs/melonjs/Text.html#top"},"nps8X2Wn9nxIt9cT6lMSV":{"uri":"/melonJS/docs/melonjs/Text.html#type"},"wfzXJ-yUOebryTElCpOoo":{"uri":"/melonJS/docs/melonjs/Text.html#updateWhenPaused"},"i1AfKDyEv8xg7ENUiEFVc":{"uri":"/melonJS/docs/melonjs/Text.html#width"},"X52F2rj23U1np9S97hdGE":{"uri":"/melonJS/docs/melonjs/Text.html#wordWrapWidth"},"D1J4oEnmnN8e6pNqLiItI":{"uri":"/melonJS/docs/melonjs/Text.html#_text"},"YvA341M_4KktAcJ0Oagvc":{"uri":"/melonJS/docs/melonjs/Text.html#angleTo"},"7FUXnlBc2hP7i3w6uQqiX":{"uri":"/melonJS/docs/melonjs/Text.html#bold"},"IlhLbvIxcnnmYwPTVjuOl":{"uri":"/melonJS/docs/melonjs/Text.html#centerOn"},"WqZwYTGENF2WiogB4QOX8":{"uri":"/melonJS/docs/melonjs/Text.html#clone"},"RlyyhUwzDMOKm-JzT4XKC":{"uri":"/melonJS/docs/melonjs/Text.html#constructor"},"ZWiifXfe81Q2c9TlOScUF":{"uri":"/melonJS/docs/melonjs/Text.html#contains"},"I6AIii3QHUitZimL9dsbh":{"uri":"/melonJS/docs/melonjs/Text.html#copy"},"3ULL8hk9NIkMSOfEqm_W1":{"uri":"/melonJS/docs/melonjs/Text.html#distanceTo"},"LRh0GmJI2SPXh4Ots5Z88":{"uri":"/melonJS/docs/melonjs/Text.html#draw"},"nm2XXC3tHWTJdUmZV64sP":{"uri":"/melonJS/docs/melonjs/Text.html#drawStroke"},"BZ0qkc19mNNALBAtfXVAV":{"uri":"/melonJS/docs/melonjs/Text.html#equals"},"cXLRHXZ0bnPLJSNBCUrqV":{"uri":"/melonJS/docs/melonjs/Text.html#flipX"},"lU-L7KLrCMvka7kVVGaFP":{"uri":"/melonJS/docs/melonjs/Text.html#flipY"},"ShyzJlp_ppQT_VW_Jx_pI":{"uri":"/melonJS/docs/melonjs/Text.html#getAbsolutePosition"},"gXcjO46vxixoCnIcpBzeI":{"uri":"/melonJS/docs/melonjs/Text.html#getBounds"},"D6ecp1fRNs397bTPduLXy":{"uri":"/melonJS/docs/melonjs/Text.html#getIndices"},"Jx8V02sfG_O1iG4S3cERy":{"uri":"/melonJS/docs/melonjs/Text.html#getOpacity"},"4iT6QrnwhZ9DSLS3HaD2z":{"uri":"/melonJS/docs/melonjs/Text.html#isConvex"},"U8dmAR8srz7djIrMrysSF":{"uri":"/melonJS/docs/melonjs/Text.html#isFinite"},"JMDaWWhDfG2fuLWLxXZdD":{"uri":"/melonJS/docs/melonjs/Text.html#italic"},"Y8z4cOfYpYZwytmeeANVn":{"uri":"/melonJS/docs/melonjs/Text.html#lookAt"},"g5JRQpbJpQDvtUe02LNHE":{"uri":"/melonJS/docs/melonjs/Text.html#measureText"},"TBnZrztxUaa77v2Qc7pZm":{"uri":"/melonJS/docs/melonjs/Text.html#onCollision"},"0mSLUOstSciExkHk0dt1l":{"uri":"/melonJS/docs/melonjs/Text.html#onDestroyEvent"},"nA22WNh75S_V7VVPiCZpe":{"uri":"/melonJS/docs/melonjs/Text.html#overlaps"},"H5ZhI7l4-E0EWTGubnIfL":{"uri":"/melonJS/docs/melonjs/Text.html#postDraw"},"u1scPk2ZSDV65SXsM68Sq":{"uri":"/melonJS/docs/melonjs/Text.html#preDraw"},"gq1kcmCyIVUOTGL0usvpX":{"uri":"/melonJS/docs/melonjs/Text.html#recalc"},"DiUrJaNEN8JW8_VFa-wD9":{"uri":"/melonJS/docs/melonjs/Text.html#resize"},"Xr8DRVx_fToDM0eWVqB8_":{"uri":"/melonJS/docs/melonjs/Text.html#rotate"},"b9Jt4HKhES-uxR3TOhbod":{"uri":"/melonJS/docs/melonjs/Text.html#scale"},"wDGsRSLPbDUiPsAqjMMnS":{"uri":"/melonJS/docs/melonjs/Text.html#scaleV"},"eN7bV2cbgD2sx2LU4pMcj":{"uri":"/melonJS/docs/melonjs/Text.html#setFont"},"opdtY2Jv7qrVELnEhPTrD":{"uri":"/melonJS/docs/melonjs/Text.html#setOpacity"},"W8_Yar4tf8oaPJBuu6Z1l":{"uri":"/melonJS/docs/melonjs/Text.html#setShape"},"n08VWMkDNbKDIxh7XUi68":{"uri":"/melonJS/docs/melonjs/Text.html#setText"},"MSt9c5muDNBfaZkcwUuGv":{"uri":"/melonJS/docs/melonjs/Text.html#setVertices"},"sB0LjnlMibs1nPqVQV8jm":{"uri":"/melonJS/docs/melonjs/Text.html#shift"},"3nb-DvsXr9hlD-v1wZY6w":{"uri":"/melonJS/docs/melonjs/Text.html#to2d"},"8Bt-WHOPA4-wldJl-nEZ-":{"uri":"/melonJS/docs/melonjs/Text.html#toIso"},"0pU6cVUZ56-2pZpdIqEfG":{"uri":"/melonJS/docs/melonjs/Text.html#toPolygon"},"dg-Cu0KgNgs_vO9KCVGx5":{"uri":"/melonJS/docs/melonjs/Text.html#transform"},"q5SEONamQZ_gzzobCX-hk":{"uri":"/melonJS/docs/melonjs/Text.html#translate"},"54aZ6F6m7awjtqTEG7uRg":{"uri":"/melonJS/docs/melonjs/Text.html#union"},"XPFV7pP4rLzNff6KegmPs":{"uri":"/melonJS/docs/melonjs/Text.html#update"},"X6_T0rCS4cOXGWdfov6oa":{"uri":"/melonJS/docs/melonjs/Text.html#updateBounds"},"gWiJ18gJZoKIzR6gWxF1F":{"uri":"/melonJS/docs/melonjs/Text.html#onAnchorUpdate"},"r_Nemp_27VOMwfvzphP0u":{"uri":"/melonJS/docs/melonjs/TextMetrics.html"},"ZiP3ibI6GoCJ3w0kAu4fV":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#ancestor"},"eSd0WkPPh6V138Ld3cDEI":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#bottom"},"FeepkA6Uj08EXgKxICtcG":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#center"},"1fa6IB0grnWt90F9qX0eP":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerX"},"-HEtnbD-zZeQuFMvgMV8x":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerY"},"KiPtXNJOsZAIWWshWzYMR":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#height"},"5MzQZCwnNBrbiy3WcFWXk":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#left"},"LalZ_RXvRJC3RJXCbpPyH":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#right"},"j1AFxW3whu1G7WqZG3kCU":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#top"},"p8FhJnUHSgrsJcVF3Uhhf":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#type"},"HWlDzYuUMD7W53WJxWF3t":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#width"},"KyXRKU0I-p-IM5iCdDWB4":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#x"},"C53P5HophTUiwdu50zyEG":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#y"},"Nley3Z3Hgzzjj_JSImjM2":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#add"},"Nl94tPMBkC0yMc8iLh6Pl":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addBounds"},"Ajm23xuxOaq9AXnUouMsJ":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addFrame"},"MOjnWXRm4fSFH86s2tGKr":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addPoint"},"7oGe2EmkiVeZPt7Z4-Nwp":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerOn"},"Q_TzK2DZYvvTFd10qwA20":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clear"},"goor4bA038aW9TQ3Mcyoc":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clone"},"Ovb9Q8pCqx78-0qbqZt51":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#constructor"},"NtL3NhReO54KOw-ia5SuK":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#contains"},"8SWqS--A5W666sf1WsTGl":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#isFinite"},"rWFVVOEgHgW3LAgBw4v11":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineHeight"},"Rou6Wk67SDHkIrs_7a-of":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineWidth"},"s_n3yR-rUeK1QpwnDHSJz":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#measureText"},"Wl1SG5FpBzKcGwzu4o8nW":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#overlaps"},"Vo1GLn57TbFfGevFYZiF5":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#setMinMax"},"-maNc76AC1UQAkigumv25":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#shift"},"bP1FWy6CG6Nrnvw5TB-sJ":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#toPolygon"},"2_rABw1KWk8HW2tG266-X":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#translate"},"e5ZboH1W5FdQEnLUGtE9k":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#update"},"IRhgjNgSyvgQG6SWag6Mr":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#wordWrap"},"ynxgxK6CkBlzbllJlLXBg":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html"},"cKlx_a1p8fyNetWi9W1aw":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addRegion"},"K4p7I8ahhKjZ2HXNXQicV":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addUVs"},"EKhQgxQhQkmwvOFpxi2uV":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#constructor"},"YGllRY1JOLLmsPICGeuBF":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createAnimationFromName"},"Qx4ecfH9W08I3r2G_BhU3":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createSpriteFromName"},"croPOaWgVywu5TluCQLC0":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getAtlas"},"ubzW1ax-kCOB0ISZ_gDOX":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getFormat"},"_fJKHAz1i1tjJEpIh0jOn":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getRegion"},"zze1NUGVl9VQ_spt8XUqU":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getTexture"},"NGjrz7nPVarIojvvfkViD":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getUVs"},"rATX-G7J6K7uRWxMQAU9I":{"uri":"/melonJS/docs/melonjs/Tile.html"},"o-yepnCSPbPevSiz-3mdG":{"uri":"/melonJS/docs/melonjs/Tile.html#bottom"},"IkvizAulzsf8twvJbdRZV":{"uri":"/melonJS/docs/melonjs/Tile.html#center"},"I-KGjKspDRvfvKFLBqYtp":{"uri":"/melonJS/docs/melonjs/Tile.html#centerX"},"vsY9yjI_SozX96prcRrPG":{"uri":"/melonJS/docs/melonjs/Tile.html#centerY"},"KXOFxyK3FsvERc2hCLFqJ":{"uri":"/melonJS/docs/melonjs/Tile.html#flipped"},"d1Gqj7EdS14tmuCWRpRTp":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedAD"},"RfTExfDYXlNgoupQn3WKj":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedX"},"xkC24-pKEoeCsGz6E8X4l":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedY"},"SX6AJpeiC335xdWxYbsPu":{"uri":"/melonJS/docs/melonjs/Tile.html#height"},"azVq3IS8Exl1WgklH423B":{"uri":"/melonJS/docs/melonjs/Tile.html#left"},"vrRFtXN-KtP-GaPsXC8XW":{"uri":"/melonJS/docs/melonjs/Tile.html#right"},"mOPX5hzkK9dvzxHXOnUS9":{"uri":"/melonJS/docs/melonjs/Tile.html#tileId"},"O8-4e8L3DyeGEs4v20pRr":{"uri":"/melonJS/docs/melonjs/Tile.html#tileset"},"o9SXs5aIIqX85AYuLsfGy":{"uri":"/melonJS/docs/melonjs/Tile.html#top"},"tLfbkEnVTlNygfqegvRo5":{"uri":"/melonJS/docs/melonjs/Tile.html#type"},"Zc2TdjuEUlLv-iQoQ-h49":{"uri":"/melonJS/docs/melonjs/Tile.html#width"},"FNMFUGLnQBQMpb5Cs3XyX":{"uri":"/melonJS/docs/melonjs/Tile.html#x"},"Djmyhp0j_pvRDWhKIvjh9":{"uri":"/melonJS/docs/melonjs/Tile.html#y"},"aJALtIl7jagbAVJOkhf5T":{"uri":"/melonJS/docs/melonjs/Tile.html#add"},"EC8YCYXoawngMJaIufV_N":{"uri":"/melonJS/docs/melonjs/Tile.html#addBounds"},"-QP16vNusn4CwfHAzg6HZ":{"uri":"/melonJS/docs/melonjs/Tile.html#addFrame"},"3wdOfWeYOil3EvR60doie":{"uri":"/melonJS/docs/melonjs/Tile.html#addPoint"},"Uuw913DJLfrsVvkResGaa":{"uri":"/melonJS/docs/melonjs/Tile.html#centerOn"},"PSp00MDTxXx7chcwLMiHl":{"uri":"/melonJS/docs/melonjs/Tile.html#clear"},"E8a4XdqPbZa-TMXvNjmFI":{"uri":"/melonJS/docs/melonjs/Tile.html#clone"},"9hZhcnt72tqoO56OK8aa1":{"uri":"/melonJS/docs/melonjs/Tile.html#constructor"},"QdV3gAmqYx3iN1IA4et4U":{"uri":"/melonJS/docs/melonjs/Tile.html#contains"},"lNzYraLyOpF7wm2peju9l":{"uri":"/melonJS/docs/melonjs/Tile.html#getRenderable"},"JUB4BUTn-KEUpr9td2xI1":{"uri":"/melonJS/docs/melonjs/Tile.html#isFinite"},"Rldj5uuxNN-sz7j9GXzMF":{"uri":"/melonJS/docs/melonjs/Tile.html#overlaps"},"K1mPYU1dtd9k3Iru6Ep7i":{"uri":"/melonJS/docs/melonjs/Tile.html#setMinMax"},"A_edmteaHpvInCmTcbhft":{"uri":"/melonJS/docs/melonjs/Tile.html#shift"},"U1y0q9kY9qfMsNP0iXFkf":{"uri":"/melonJS/docs/melonjs/Tile.html#toPolygon"},"jgzrTmBI5BszMRObU5U-U":{"uri":"/melonJS/docs/melonjs/Tile.html#translate"},"7ym0nAWgZw3fYacpf-EvB":{"uri":"/melonJS/docs/melonjs/Tile.html#update"},"WjpWB7AijFcy8o3mTp7tj":{"uri":"/melonJS/docs/melonjs/Timer_.html"},"_VNk-CNtL_B89KtE4vtPm":{"uri":"/melonJS/docs/melonjs/Timer_.html#fps"},"-CX2qTOWcgv_qvztnrHk-":{"uri":"/melonJS/docs/melonjs/Timer_.html#interpolation"},"ttYyOkM5XjZwifVBECIbn":{"uri":"/melonJS/docs/melonjs/Timer_.html#maxfps"},"maYf1Bwaz-lD0PN-Jvj0Q":{"uri":"/melonJS/docs/melonjs/Timer_.html#tick"},"Mj7L1QwI9_nQRpssdhygN":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearInterval"},"m1Fgsp5hu0e7AF0P28hfG":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearTimeout"},"VkvCcenTs12F4EA7dlVcy":{"uri":"/melonJS/docs/melonjs/Timer_.html#getDelta"},"-e3Y6NW7QF9tIpeupZgWh":{"uri":"/melonJS/docs/melonjs/Timer_.html#getTime"},"G3Fs90S0bM5LEfHzSk8aj":{"uri":"/melonJS/docs/melonjs/Timer_.html#setInterval"},"KoYd2f4eFNqZMC4Lt8y4_":{"uri":"/melonJS/docs/melonjs/Timer_.html#setTimeout"},"228GbfMGrYzGhm1ydr6DI":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html"},"c-1VyrwoGFOs6teVNaD6W":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#canRender"},"1QjG3_VUYc4wQNoNjznt5":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#constructor"},"9yZDvEwfFpQcT09HzfDMM":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTile"},"m5CmyK4YwDaxtuuq4Dp9y":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTileLayer"},"6kiXKgRTZGs-UFzoMVnf7":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#getBounds"},"aVyAsfbUfFuxA-Y0XTXSX":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#pixelToTileCoords"},"VFEJq6vW9NyImbUDcT7kL":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#tileToPixelCoords"},"lA0LEhIqPPVBEL-kqZZQ4":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html"},"aAQ9fqlGo88Ztro4niqPk":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#canRender"},"YbC2dlGGnoWZ8CGa4R_Xk":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#constructor"},"SOqlGj5F7GQ5nfWe49oGP":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTile"},"3l5nlfua17Y5G-PzQK1Bi":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTileLayer"},"2NVyXpQEoHJ_x_xoThAJL":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#getBounds"},"dKhc31nRx_ogMvhUyaQE5":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#pixelToTileCoords"},"8C1bhYXI3Ybu9nLt66MQT":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#tileToPixelCoords"},"Dbuivm1bvXJCIuNDetlSe":{"uri":"/melonJS/docs/melonjs/TMXLayer.html"},"ZCk1bL3xHuJqnaYKn1BWM":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alpha"},"GWwmRop0uSzrEENFmHVm_":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alwaysUpdate"},"yDRAJvJVZPEdRi8gQwaSh":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#ancestor"},"2LP0BzoInra2XGJpOT25d":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#anchorPoint"},"dn4fJv_uLNeJIK0jpcxZw":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#animatedTilesets"},"qdTyD1QCoFJ5Ycg5QTtk1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#autoTransform"},"NNbBLAyeioWzIdotbAAg-":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#blendMode"},"QS66o7AnCcVN56RUAANWQ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#body"},"LoOuq2cOKtQN4L2Uz0rzv":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#bottom"},"pIQlsSnBUOYDlWMXAT3_Q":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerX"},"opTQHz3arLwOnXarx0x8C":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerY"},"oPvJcWbh1eF1KYpd2m0J1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#class"},"Pb33Z2bNyCxXz-QN0MrDP":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#currentTransform"},"mvzzR0nqvadAzsgUcgHz9":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#depth"},"XCIrn7kYdaCJeojLhLqdk":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#floating"},"46nK7GE06HjqgZKdgNkNV":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#GUID"},"wtnJLxxgndV8GoLQXijlA":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#height"},"VqZqVptJUQlzt30UPlXlm":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#inViewport"},"QBhRxcElJltT8MU8H5RCI":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isAnimated"},"YakphWxaiCKtjYn4eMCBM":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isDirty"},"_mnZk71VcT-HfRAAJoC4b":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedX"},"gL4WvRywIghhIaCUmlLi1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedY"},"x1cRQmvirdSZCQfQemV1G":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFloating"},"7ptFDgEqaTPUh5EoaR1dS":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isKinematic"},"K-gqfNVpxIoobQXSkJX3t":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isPersistent"},"etmMJ2ZnPTpM2OJDIn5xp":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#left"},"gAazrFBGhYbPGatxWlseo":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#mask"},"8wskHnHtPOosoK4iuFj4d":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#name"},"NIsZim_ES6aGRndaM7Vm4":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onVisibilityChange"},"1X8tU4sXvgFT_PWS92_-S":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#parentApp"},"94Qqmx11fXy8B0PcUq6O8":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#points"},"Pg2vPPwBRwrJJX2-SQfRy":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#pos"},"9Wt43tyGuR5eIxtEwDOIC":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#renderorder"},"5xObOPU4H6Ac5kDx-3Hsq":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#right"},"DnWpW0ygPvrfYbqUTmrcF":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shader"},"oV67AabynLpeEsBDP8jx4":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tilesets"},"4laT2wgrxH18ZqcGv0cnM":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tint"},"YFjkvL-cSPbzureHAyt_K":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#top"},"hy-zfO_iMj-w1I8PTKxs4":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#type"},"60S1hJcSJWGDZmzAv-W0h":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateWhenPaused"},"0bnJtYDGvVFkYirmfnGsJ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#width"},"0avXZvPBNTagiXJaFVvvw":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#x"},"NU_9yYiQn6LTR3wDtzhJc":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#y"},"GimHYfEuIFNRAYeNVFDDU":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#angleTo"},"n2mF5KW4YEuqxATamhngA":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#cellAt"},"opEGLmobLIdFeCTB42jDf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerOn"},"wqB08pEIhbij-9p5BMpRs":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clearTile"},"8S11ud97hni52js4mrY9C":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clone"},"lDiRmHo2avtpisqlCLVX1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#constructor"},"OdYNU9nmS2GoekapIwuwI":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#contains"},"PfnPU_gJErY0K0eGjcTLb":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#copy"},"R169UXd0Cwnpn6ejK3BG2":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#distanceTo"},"NHlF8JWg7-qqasg5Tksq8":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#draw"},"8e4v7fRpWQZOjpAoSOgmc":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#equals"},"lahjEpRcxNAWyrJ23ctzz":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipX"},"hoqzgHRebFonWTaHRf4ih":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipY"},"olqEmo-CxZ1CMNgOPq5to":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getAbsolutePosition"},"SOvaZRMj-zY5H21qlhLWv":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getBounds"},"GyInd6--AqjvYR91M2FdF":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getIndices"},"I1zc6JgBxFl85FUYb3Qka":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getOpacity"},"9UO-NJ52Q-YMNKSI6VQGu":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getRenderer"},"Pw1mf0xdcm7HZk0s4d76N":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTile"},"gj8qBCjR0p-2bVCpS5_AD":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileById"},"X0nqgngFzam2Ks3oO9eVN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileId"},"rfaD-BhvqClJDw46fS2Rv":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isConvex"},"cOmice9PBkOMRoD4riyH1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFinite"},"JdQ1w1Ed_FLtqh-Yslurt":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#lookAt"},"H6FmyjjZOUlrxGuzq_BKZ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onCollision"},"qPPG8uxShlukqb2IHQGC8":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onDestroyEvent"},"BQ5PcUlCnANmUM51v8P7j":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#overlaps"},"IUkTrOv2pTw9yeEvoD38-":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#postDraw"},"8V8qXik2WsleiZ6j681RN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#preDraw"},"tNw5oFjnduN86_v4xyGyv":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#recalc"},"iZ5KHdbyf5iGVKz-x-86M":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#resize"},"3PQRseIFpnipP8gew0lFD":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#rotate"},"7bNH_Gwtc6ZRumYukn10-":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scale"},"rYcq6fZPbs4yl9MlHQYKM":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scaleV"},"b7Bj0zZmp99UmlmZa0yHL":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setOpacity"},"2UJQiIvPxGgltk9eolzWX":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setRenderer"},"6KY3Dg6RDGHvu_XLc6xyf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setShape"},"RnuI_q9-42HMhU3uY1MnU":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setTile"},"iZmj2MeZ3hGBDr02pdhgs":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setVertices"},"u60p4zSMOZlMimU9o4iXI":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shift"},"NYxKvQX2oU8ObTRzQm6uP":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#to2d"},"Bveylho2T0UX2gkluZyw3":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toIso"},"NNZxaQvPC0kXYPNIbw4p4":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toPolygon"},"TYykM2J5v6OM0Nlw9LqCm":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#transform"},"OWHpmwvk8FFHtafcR6GTO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#translate"},"XqFvUNz_bt702jeY4cOKc":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#union"},"J2OOhXqcerMS94C-lJQ1R":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#update"},"F6D4-Q-sFlEBlNGffT32z":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateBounds"},"KpbP7aif0oyUoQ6yjBQxo":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onAnchorUpdate"},"nbJAVLGESh7aNzTdYgpRm":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html"},"c_Ij-USh2hQVdQfu_cGLw":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#canRender"},"G7lHNReqFJ9hGFwt8m1HC":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#constructor"},"KryFTRcGsll-dXWZw8A5K":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTile"},"xbGTDKqyVPOPgtvgsF8YZ":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTileLayer"},"LqiNYeIWAcYp833Fw6eJ8":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#getBounds"},"1bGlPWr-Ru9Nn9UeClgvq":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#pixelToTileCoords"},"amGXYFWcoOjDxRMQSixcM":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#tileToPixelCoords"},"t55hnsTyZHiJAjypBtg6T":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html"},"shC_CyuZw-KZhDIYxotOO":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#canRender"},"CdD3gpJa0GI8i1i1m7d0o":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#constructor"},"E8BXsMuj7CPF68AHoV4QU":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTile"},"frMVdku7SErw3QIThAi_A":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTileLayer"},"uIAoyqyELJvJwzz8K-ULG":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#getBounds"},"fALaHVpkQW_Owspr3ZyVg":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#pixelToTileCoords"},"CxbKjR1JiL1K2b4MECcGc":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#tileToPixelCoords"},"cJcwvXknNgWVxfdoQFNCD":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html"},"uMLoLzX7OK7lyffsjC-JZ":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#canRender"},"ylRyZjb98LGmTTMHqpVeb":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#constructor"},"dQXM8tcJV3gPK0tsDCNYw":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTile"},"o5PJt6GXG4nD3KWI5Rs4q":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTileLayer"},"ijP8TH-AhJz7yO9wYBBC1":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#getBounds"},"NhzY75Te-U2uhPDRThy0X":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#pixelToTileCoords"},"klp6oM4JHBzu68At1KV88":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#tileToPixelCoords"},"KGtL_JMWjQqqMBjkFu4Xq":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html"},"Tm5rzNG_H60ZNvxbAOU3H":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#class"},"U_TL1oZm7H5KMI6IQoYvF":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#cols"},"BHACvwuD9OORP8JVBfbqS":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#infinite"},"id09RH0CJxmqtPx5WS9-t":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#name"},"dFw0Qx4kz63w6O4M8MoJS":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#orientation"},"yi0r2ZzOZ7EwQ_SOOdCJm":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#renderorder"},"yVRvc_5s-84ihShaGl6Uk":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#rows"},"qH6tj_58j4Zu8QFckrI1r":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tiledversion"},"TOBeAAS2TdnnPWsDpwhw9":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tileheight"},"zepQLt5-dpPjWOq6DSPDw":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tilewidth"},"PxjUnU6AS9wUcjg5AgFsN":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#version"},"XtbRwyq0yWVJvOBSy04br":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#addTo"},"mGX_T_L9tayO8KztS9mHQ":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#constructor"},"fvCM5p14JyI8VGFcsYgY2":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#destroy"},"IG_UPfcWja5Qf5MhJQcjq":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getBounds"},"mSS0vq53bUNsr0JMWv4sz":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getLayers"},"bzywexmX_LQkDpgfO1ADJ":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getObjects"},"sBOMrdC0mqzX4041vCq20":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getRenderer"},"kgSoWKpoVec9NVtr1iwFr":{"uri":"/melonJS/docs/melonjs/TMXTileset.html"},"8liw1fqHUa3sd7pG9JJ44":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#class"},"hyyWqp9YzQ0sfsshlBZhn":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isAnimated"},"LdgJBVqaiyilka8GuAPfR":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isCollection"},"16AjW1hVa5c8l6RZp08En":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#_lastUpdate"},"mI38XmK7slGi5iVJI6km4":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#animations"},"4YJGIcd0QoVLBPFF0OA1h":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#constructor"},"U_5h9m0_81TeRSjMelXo9":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#contains"},"se_xnT-z5NXAcYTrW72Tb":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileImage"},"c4aWLn_I-qgjjhQBI-uai":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileProperties"},"_Hn53wj3KaJ1CxETrz9DK":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getViewTileId"},"ehhvJHeknOokmQnzFBDXw":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html"},"ftEcqGJ8f8QBmfHWFpwXi":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#add"},"9plU2gd6tW-71h5VQKQH4":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByGid"},"P0fbxoAR4HkSJPtAE3nxl":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByIndex"},"GG8O9Njr1I6JK5QTx6BCT":{"uri":"/melonJS/docs/melonjs/Trigger.html"},"spiaBtpSCHLdArzWAWk9s":{"uri":"/melonJS/docs/melonjs/Trigger.html#alpha"},"xjzBst-_1hnKbI5R2HEj0":{"uri":"/melonJS/docs/melonjs/Trigger.html#alwaysUpdate"},"brRBSy1wzJPLUg-EhgjUv":{"uri":"/melonJS/docs/melonjs/Trigger.html#ancestor"},"4g8SNArWQF7iLY_w6Bz31":{"uri":"/melonJS/docs/melonjs/Trigger.html#anchorPoint"},"QXGMvgQCnG6XEkMl5KDlZ":{"uri":"/melonJS/docs/melonjs/Trigger.html#autoTransform"},"k8lWznAuYRHh_4MQfjwvB":{"uri":"/melonJS/docs/melonjs/Trigger.html#blendMode"},"eS4NIAkzchUybUcftctYw":{"uri":"/melonJS/docs/melonjs/Trigger.html#body"},"r5Ks3NOChXIQAUp16muDm":{"uri":"/melonJS/docs/melonjs/Trigger.html#bottom"},"nUW7wjF1HrUQG0ub3U6tB":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerX"},"_xVRMVoPLSwvPhIKBUUGT":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerY"},"zpJo4bxZitO9kDb09Rakj":{"uri":"/melonJS/docs/melonjs/Trigger.html#currentTransform"},"tSN2iyENeST2l9yTOt6SM":{"uri":"/melonJS/docs/melonjs/Trigger.html#depth"},"ZZXkY1eaYFkf3A4PMObEr":{"uri":"/melonJS/docs/melonjs/Trigger.html#floating"},"zO3PiEsXmunJM0DVuPOOR":{"uri":"/melonJS/docs/melonjs/Trigger.html#GUID"},"NdbVn1pG8zPBPM4Warn9r":{"uri":"/melonJS/docs/melonjs/Trigger.html#height"},"Fvbn5afsPkKBI4vwgQLBX":{"uri":"/melonJS/docs/melonjs/Trigger.html#inViewport"},"-i9tnZ9SpWOR7oxZ-HFVj":{"uri":"/melonJS/docs/melonjs/Trigger.html#isDirty"},"sEvEQ0FWjAM-7JmQ3C2AA":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedX"},"c0QXlnDFsxzCqHmC3XXGc":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedY"},"cl53hZLZ8CKOKc2QjCKcq":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFloating"},"Dfu8K7AAaCd6rUZyEPg-c":{"uri":"/melonJS/docs/melonjs/Trigger.html#isKinematic"},"lrbzFXDjx_-AGulxbAYsT":{"uri":"/melonJS/docs/melonjs/Trigger.html#isPersistent"},"sXaNH4MGBk_psoyMmGyk9":{"uri":"/melonJS/docs/melonjs/Trigger.html#left"},"2ygRI6aFCsW2gMGpoUr3V":{"uri":"/melonJS/docs/melonjs/Trigger.html#mask"},"LG56WG1XhHY21GuE1b92j":{"uri":"/melonJS/docs/melonjs/Trigger.html#name"},"6-jP8gdYtCcC9oPHFFGsv":{"uri":"/melonJS/docs/melonjs/Trigger.html#onVisibilityChange"},"zY2CPYzbqNnutY4frEPgq":{"uri":"/melonJS/docs/melonjs/Trigger.html#parentApp"},"IXHZkJ3_gLjvOWmObL8Pq":{"uri":"/melonJS/docs/melonjs/Trigger.html#points"},"Q2jxURYRXD6rtKCXHi0tW":{"uri":"/melonJS/docs/melonjs/Trigger.html#pos"},"idYqJhIIPC6gVK7tLH1yL":{"uri":"/melonJS/docs/melonjs/Trigger.html#right"},"QBawFezpl3NotH_GQ71Fr":{"uri":"/melonJS/docs/melonjs/Trigger.html#shader"},"Jod_Ra29QcxNh30ma-5j6":{"uri":"/melonJS/docs/melonjs/Trigger.html#tint"},"eNrJvySs0kNRyUi8Y8thP":{"uri":"/melonJS/docs/melonjs/Trigger.html#top"},"Mn8Vm_hllzHk1IZOnyFUm":{"uri":"/melonJS/docs/melonjs/Trigger.html#type"},"USUPwA6aIpS76uMUIVqe3":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateWhenPaused"},"gV_uF1KwikdJpOhXZrtrT":{"uri":"/melonJS/docs/melonjs/Trigger.html#width"},"lE-1KZdqsiANjyjFLyksN":{"uri":"/melonJS/docs/melonjs/Trigger.html#angleTo"},"cX-3Dv418866autK1HxmL":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerOn"},"lFejBSCYOTTXRKd9qjIoh":{"uri":"/melonJS/docs/melonjs/Trigger.html#clone"},"23uJrKDttGDB7jRNtqdxb":{"uri":"/melonJS/docs/melonjs/Trigger.html#constructor"},"5M0JA6GByUVxSpMWIIAv1":{"uri":"/melonJS/docs/melonjs/Trigger.html#contains"},"QCvxPhoUTBiJojrI-Wxvf":{"uri":"/melonJS/docs/melonjs/Trigger.html#copy"},"QbK75bZ65tk6XJk8k4ACe":{"uri":"/melonJS/docs/melonjs/Trigger.html#distanceTo"},"Sl3vmpfBRuoQZH646lPSm":{"uri":"/melonJS/docs/melonjs/Trigger.html#draw"},"rO9rNxv56vzeGCBlo5q1Q":{"uri":"/melonJS/docs/melonjs/Trigger.html#equals"},"biGM-y39d9tWMZxm7GD_A":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipX"},"lo9Gfd_frrN9W1q1EuFhO":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipY"},"2BVuwHyelPBOZ7WfqomfX":{"uri":"/melonJS/docs/melonjs/Trigger.html#getAbsolutePosition"},"fZwUUylAJ1ipiUcJF0Ibg":{"uri":"/melonJS/docs/melonjs/Trigger.html#getBounds"},"8NJQkyA0t0vds5XIT9bXe":{"uri":"/melonJS/docs/melonjs/Trigger.html#getIndices"},"o0_ptsPw5MuXfaV8p9GQK":{"uri":"/melonJS/docs/melonjs/Trigger.html#getOpacity"},"FjLr_bOD9MM7_jM9FRHa1":{"uri":"/melonJS/docs/melonjs/Trigger.html#isConvex"},"gsXqAGKI5aZ-DEGzSjI1c":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFinite"},"2_P5SrpR4zYTm-pG3Y3qF":{"uri":"/melonJS/docs/melonjs/Trigger.html#lookAt"},"41q63iq1fqczkE71_L4lZ":{"uri":"/melonJS/docs/melonjs/Trigger.html#onCollision"},"qPjsNdflm2fq4ivElPfSM":{"uri":"/melonJS/docs/melonjs/Trigger.html#onDestroyEvent"},"nbH65T9YYH31pAxpyYzHH":{"uri":"/melonJS/docs/melonjs/Trigger.html#overlaps"},"OKN-EIR9zMtZ7eD8hCYbt":{"uri":"/melonJS/docs/melonjs/Trigger.html#postDraw"},"ju6Vj9JsfosctkNwmCtnZ":{"uri":"/melonJS/docs/melonjs/Trigger.html#preDraw"},"ra21Z5ybBcUcIi7tAM0xp":{"uri":"/melonJS/docs/melonjs/Trigger.html#recalc"},"prKGaTPSFktUCIRRzR-u0":{"uri":"/melonJS/docs/melonjs/Trigger.html#resize"},"G7FLQWI1HxHX5oFOGlVEz":{"uri":"/melonJS/docs/melonjs/Trigger.html#rotate"},"OsD_tapoz36PjH0mboXUJ":{"uri":"/melonJS/docs/melonjs/Trigger.html#scale"},"lb-fNdq1iVl0NSEfQr42v":{"uri":"/melonJS/docs/melonjs/Trigger.html#scaleV"},"4doOps7n2_NHvvQWyK1R5":{"uri":"/melonJS/docs/melonjs/Trigger.html#setOpacity"},"t1qBAQXGrnO1M2FldnFGP":{"uri":"/melonJS/docs/melonjs/Trigger.html#setShape"},"N1i9j7BskjecBsX1ta_2M":{"uri":"/melonJS/docs/melonjs/Trigger.html#setVertices"},"kCIvWwZT2bbwLIPRrMgr1":{"uri":"/melonJS/docs/melonjs/Trigger.html#shift"},"XiCLSYIZHswCgj4IfSg26":{"uri":"/melonJS/docs/melonjs/Trigger.html#to2d"},"qjQnqluMNg53ifuTW86iZ":{"uri":"/melonJS/docs/melonjs/Trigger.html#toIso"},"1LXrhbKv9e6ZJHWKIn3lg":{"uri":"/melonJS/docs/melonjs/Trigger.html#toPolygon"},"G1z3v6qwAf2-HHAomILT_":{"uri":"/melonJS/docs/melonjs/Trigger.html#transform"},"wJerqnHiMaFT-gU_IognX":{"uri":"/melonJS/docs/melonjs/Trigger.html#translate"},"gN70hrs-Bf505BTe1yDYR":{"uri":"/melonJS/docs/melonjs/Trigger.html#union"},"VBAbe4Cxq4SEKwne1LEiy":{"uri":"/melonJS/docs/melonjs/Trigger.html#update"},"I4c92K4gEsjgy75OWJLVR":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateBounds"},"ds0zE6rAsfXjICWfX7Kt8":{"uri":"/melonJS/docs/melonjs/Trigger.html#triggerEvent"},"6LXdr7z_dZt78EFhYLeVr":{"uri":"/melonJS/docs/melonjs/Trigger.html#onAnchorUpdate"},"vlnVazGzT9SsWX6fmxeuc":{"uri":"/melonJS/docs/melonjs/Tween.html"},"urlYAitmtSD9SJieWRicL":{"uri":"/melonJS/docs/melonjs/Tween/Easing.html"},"oVVB2tVBBn_ySYYbXxjKx":{"uri":"/melonJS/docs/melonjs/Tween/Interpolation.html"},"TTku4Eq4Gz-jzllYHU4VP":{"uri":"/melonJS/docs/melonjs/Tween.html#chain"},"KPVDbnkYpu7fnUJNhShfH":{"uri":"/melonJS/docs/melonjs/Tween.html#constructor"},"Uu4-kSmLJ07RwFbNOlwK6":{"uri":"/melonJS/docs/melonjs/Tween.html#delay"},"Im9Y-N46ZPn0DVsYaE1W7":{"uri":"/melonJS/docs/melonjs/Tween.html#easing"},"Ue7Pv7Tg8U7KoejiVJlO9":{"uri":"/melonJS/docs/melonjs/Tween.html#interpolation"},"FwfevooJx0R-o6V_0ksLW":{"uri":"/melonJS/docs/melonjs/Tween.html#onComplete"},"IOMcDG3fWalmAmj4ymynN":{"uri":"/melonJS/docs/melonjs/Tween.html#onStart"},"6PnDKyyCWfPzCrC2f2xgd":{"uri":"/melonJS/docs/melonjs/Tween.html#onUpdate"},"OVko2s_xTS6tUR_yrCotG":{"uri":"/melonJS/docs/melonjs/Tween.html#repeat"},"l6n1NUr64yt_ecyz_9MpV":{"uri":"/melonJS/docs/melonjs/Tween.html#start"},"QlkV0bSeuI-EvV8Dwscdk":{"uri":"/melonJS/docs/melonjs/Tween.html#stop"},"F4-6iNES0A2COwn4IqCKr":{"uri":"/melonJS/docs/melonjs/Tween.html#to"},"5Uft9BUpdCNINNheztDr1":{"uri":"/melonJS/docs/melonjs/Tween.html#yoyo"},"5rIUWUorq-YVzmk-tzJeH":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html"},"dpHRIH2MSD89zQR5k0a8L":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alpha"},"qqyuTj5bGSahM5c-Pa77e":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alwaysUpdate"},"yPTi89xf-8VWAVITI1H6l":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#ancestor"},"2Y96gQ2HodbL4eArE1z8W":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#anchorPoint"},"0SjWLAprV4bZkUp4cxrq-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoDepth"},"6jvm4N6ZXGAZL1DPTV1Ov":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoSort"},"k_m0TV5Jweb6lxTIdYjQv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoTransform"},"yTvjfyd0xSMA6VBq7c9h1":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#backgroundColor"},"nKIJJ-7nsaV1tXIX9JS49":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#blendMode"},"INEdrOEK1ACDegxbOPZ4S":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#body"},"iFVWOKIlFDDiREpkXwtGW":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#bottom"},"sZVRa1cW32S7q24cdk0Du":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerX"},"t4w2VSL2Pn4kDdbUfeQDU":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerY"},"9YZ5yoveZxLNU7ktT9K_3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clipping"},"zlTgPwOqFPCSKhp77ZHjk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#currentTransform"},"wvGTCwn1tp1hl4l_TeLJI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#depth"},"hoy7iulYZaIBgyTeuu71-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#enableChildBoundsUpdate"},"4HW5nDKsP8_NCh59fRU2k":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#floating"},"TgKn8dZjFteSFjP-g1NjQ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#GUID"},"tcqy9gjNIxbw34FE0I_J1":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#height"},"NPB1nv9QRRLvcdTxebQDr":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#holdThreshold"},"0lct07Pmztl0lkiumAtf2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hover"},"PalyyaOZwliKC1lScCA7X":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#inViewport"},"IscRcCSgFR5qoZbNd5u2A":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isClickable"},"f4RpEsNjCsSPbnp0ymjK3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDirty"},"ZAk-iKVXo4D6oFSECIZ7t":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDraggable"},"8FYWOJzhwd6g7UN7B87A0":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedX"},"Pk-q2dX0pVzHwYSDejsU7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedY"},"P_O_I3YwzwA4z1dqaEVE4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFloating"},"QvZpKLEcx4onLwCf6CtYV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isHoldable"},"HrEdg4FmjBWZiUToVHsIJ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isKinematic"},"7cgDEE5pPXkwATkDWDlEE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isPersistent"},"vsJrhLa4Bflv4iNuJLNBf":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#left"},"FySFgBq-cN7_GWGjvhEOG":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#mask"},"uAoyLWcDhQkqx7XeX7FJi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#name"},"FTkjUGxFdPmWyL4o52pay":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onVisibilityChange"},"BGWAw24Uy3N4MSNs1_mhL":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#parentApp"},"yYQlgNzXUCYjI6TgBC8YT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#points"},"RM8iKCn5o_JgQY2DEGqs_":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#pos"},"XyBXzGXkJQFN8Hmf_LybX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#released"},"7xaT2EOBp06z3YjPOSPVx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#right"},"nu-G1_g-xYq2BlBjogZpC":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#root"},"-9RzVqEog4_-9YB6sv6tR":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shader"},"J8OHPmjejA_tg44Y-JkFY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sortOn"},"E4FGQbxHNODropddpbSco":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#tint"},"1PZR4yp5XJEuipu2cUZCb":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#top"},"Axc5BaKhmOtKTo45qitdc":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#type"},"I4Cumi4ZVlRQheL3qz-fA":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateWhenPaused"},"pjT6o7Hbob7KHc-K8GlJ2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#width"},"6sDJ2BsXhNA0IXEk_r5ly":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChild"},"-qvhCagJo9VvHcr99CN_Y":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChildAt"},"Gz5FsJ2ItvZC3WL8gfn3D":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#angleTo"},"FgbyUs9222RqCMqw60H0l":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerOn"},"DK-hz4sjha_yc9OvcnTXr":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clone"},"qEpIwxZVtfEDtdvggBSAm":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#constructor"},"m6GieZ4x7DOT8-R4dzoMU":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#contains"},"cTcrRHdPLfFqbmn1MyI0h":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#copy"},"TBZLVZVKOJld8MzYUUGz-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#distanceTo"},"2wJLXWqOBMt8x-ym11t6Q":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#equals"},"NDy89T-4bT4aKqVVbgnho":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipX"},"GhS3OZIg5es_tUGhUhTJa":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipY"},"VkcNZpx9VmjQEjX0hygdU":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#forEach"},"F1Ix72HO39PqZom2PKBiq":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getAbsolutePosition"},"I6daXwBVW4ZEYtnibDHR4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getBounds"},"X2Z9Xdl4Mh4CWijwK0ZkZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildAt"},"wbUEdknnidHJPEq3r_Ad7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByGUID"},"e8ZlRoUCRPTDR6bKFlB_t":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByName"},"-oqhCcFXT0X3OJHOiR4PI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByProp"},"QuwASOu_j89Nb3WdoF0uE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByType"},"n1ANz1PMKJcPiwGmq1_z6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildIndex"},"cyYQCLd-zrJIKtrWvFeUo":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildren"},"9dXtUCwrIqGV-zrrRih6F":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getIndices"},"00wbQvDH4VVdxMZ5dsvi6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getNextChild"},"HOr0Oem7hZRx1VMG47i7M":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getOpacity"},"0GCdBNtsh7piEma8D1OWy":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getRootAncestor"},"WDQeRxw_p0Y09xZvESA3P":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hasChild"},"Ne3KgaW4N14pPpbDGe-OS":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isAttachedToRoot"},"sLHJmp3PoyQVop-jW138Q":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isConvex"},"S0n3b_pwIrc-PMhP7W0Ps":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFinite"},"c9HaR1GVylCl-ATdAfszv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#lookAt"},"B4c6Qczui0LJjnZzujAc5":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveDown"},"C2pKBi8fxsVCm9FfrM3PZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToBottom"},"EtTZYo00KhMMS9eY2ET4r":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToTop"},"Xr4XkEYGc6s4i1cEP3_GH":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveUp"},"Un1FdXDAvbM8jgdvql-ov":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onChildChange"},"UOv5SZsFkMqo3WRYgD6Rh":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onClick"},"o5ogj1mJxiVTbeVtaxz6j":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onCollision"},"9YrwSVmiv3xYckI2E437C":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onDestroyEvent"},"vIxnBqS5ns7A7vPEGC9Xy":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onHold"},"udAqcBU905BlNI8vOQTsi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onMove"},"y4RE4iu0XZGuirvSSnm6n":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOut"},"uLwBh-UZfg1MC_xU0XYjZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOver"},"VWWXgRkJaIYIxTfonG7CC":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onRelease"},"2DhKk3TOagV2Lh3-BjxWM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#overlaps"},"8glPP1rxzbLPbdiCvilwa":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#postDraw"},"uxoDiGygiap3J9f8iVdkr":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#preDraw"},"6kL5KiNNWN1KuCXJeCBpj":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#recalc"},"LGDqzjVbu70GfZaySaiWO":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChild"},"1-13JgjmurrXLGNi-cftm":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChildNow"},"TANTF50ENBvXWBhCTwv1k":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#reset"},"XJdYw4OqUtJ88ztXa8ckD":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#resize"},"CdL_qM4IK_UUNJeM2gJ5w":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#rotate"},"nbu8pM3ldbPLwUKPGbZSw":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scale"},"KEv5zcIRix-4fhwfcgAdM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scaleV"},"dji9pa9AsVtUn6rGasfVk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setChildsProperty"},"Hay6bXpje1ApJlK7HCFWT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setOpacity"},"kKZ_pYTNCYpgtvkh8LkBI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setShape"},"rACzKwro_laIWvGh5QMc3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setVertices"},"CMQgcvtnMAHbcSQaa9mZg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shift"},"QqGymOjfY8N4xOvMnZxYN":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sort"},"Y7gPpLVHjI849oFx3Wlp-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#swapChildren"},"huZujo3I8_DZE7P2Ld0Bn":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#to2d"},"SyQq1lGMYoY9UwwRsxzlf":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toIso"},"dFLyM_PojcmFz0HrSO2jC":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toPolygon"},"7LuFlzRaNXUH5u3FknnLR":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#transform"},"A8sDExuPr58_v9GNHajUd":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#translate"},"5h_5YQHJbtodYh6wAbK28":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#union"},"8hC0mjgwP4z6FZW_pGDSE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateBounds"},"FrqGm8lTgJJuO8wm6kW2i":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#draw"},"1os5wa4NRmQJ6ZXGjrhy-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#update"},"hCmVa509AL_oGMiT_SEJk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onAnchorUpdate"},"YLAX7khvdP5P2TafF0jjq":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html"},"9Q7ChgNaGG27k4Jdo6sTP":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alpha"},"jCUcwMmHiQ3zhTtzBSchu":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alwaysUpdate"},"RZ7puVYfhaM8a6QhqJkF8":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#ancestor"},"76cupgvbFvDmfqBFJj3RR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#anchorPoint"},"K2vb3N2fENQnQqoy-qYgE":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationpause"},"VApfQYJotn0o8EsvJBXXw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationspeed"},"C3H1eTZaN56FCDuyAqEDS":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#autoTransform"},"BzQ_Ul3lT6VYCe7k3vjR9":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#blendMode"},"qikuK5j9gYyVqFc-iZMgP":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#body"},"tqsjn-4vTP3dmlBXGjK62":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#bottom"},"vKBNrUMIUGSNGZEZq8Xfi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerX"},"XCWx9aLO-MhnGvKZxS2uZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerY"},"7WZ6AYmTJgL3N1ORvJmPx":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#currentTransform"},"wv69FLslu_wxQCPkcnNuG":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#depth"},"qGJZaq0HsnhcfH94-Mx1q":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#floating"},"GM5wih0hWnMZwIgZ6U10G":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#GUID"},"hT36vJiMZ1fQctQ9YBFp5":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#height"},"BEIVEBD8eVWtpbUCyzYiZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#holdThreshold"},"w5IpviihosQ8vU2h-iWNO":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#hover"},"a4p4l8xNwgRWX6dLBvm1B":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#inViewport"},"Ckwgk_F-GMpvjfsNwi-s9":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isClickable"},"JwpLLTkFX86M_lz4oMAoj":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isDirty"},"utYdTikf2S-i0iZvsycru":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedX"},"Ic52SMpDDa44PCyTjCSmL":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedY"},"s4GEodnkaAtGJ4FbCm2i_":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFloating"},"XjRJhYXrJ-13oQN9bmKvW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isHoldable"},"gBy2QA-kUWcipJNg5nFWD":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isKinematic"},"loQOUIdlUODWKgp7ydu-x":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isPersistent"},"pijfTycZpbYNYOacY5iL8":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isVideo"},"mQ3omwfKdWsxrb8gVozhW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#left"},"BXxw5Sphmf2dUtkdkbVzE":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#mask"},"LjAaqaPoZ2Z3w7ZcuJk5L":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#name"},"GsHEqNpkE078d3jMVn7X9":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#offset"},"LlqKAuqtcGrJNULyOdPja":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onVisibilityChange"},"Wurdk5pGdSo4gx4gDH0XK":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#parentApp"},"dOJrLolL3u_DPEYdrulBk":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#points"},"1cDFWeMsy34_X4uS0LbzN":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pos"},"ihHq3E7Tb1xj8AOEqHwxX":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#right"},"C5v15n89SRlK_jKmAXDOi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shader"},"H0CfTZ3Ja1yK8xwkg5Dzv":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#source"},"LH5JmWzu5CHRQHeFzXiMt":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#tint"},"BAWQo6Ja-csHHg18ZsFzp":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#top"},"2cCiMwQjXaz68Nb67QXFx":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#type"},"6uQn-tt8zP8yOAe_e9Vh8":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateWhenPaused"},"bhfuRkE4cnEG3vXEoU7ka":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#width"},"gCTo2RGIKJjUv_Odii83f":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#addAnimation"},"4Xi-nFP6uqvOWMOD1DkLS":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#angleTo"},"_Ry6zP8_19A7aLi9iSldf":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerOn"},"9DzVDtGkHhgt2298bgTOE":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#clone"},"7ILga3pUHTg5WjvXmso54":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#constructor"},"IjDbxTZakZMEjX06wWPoc":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#contains"},"R3chRrLc4EBHK5nNDKJcR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#copy"},"73h2NZob4svzbLwv_MJte":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#distanceTo"},"moAieApT60A5WTZhiLQf6":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#equals"},"FdyoicyVC7VhlMsUQYml-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flicker"},"_noFvbVZyoBruTdfnbqqG":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipX"},"4PJGBkEd0d89mMBgN9WZE":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipY"},"DsakWggRzI-7LRVPq2hC4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getAbsolutePosition"},"d0xFVRvXMkEq6JnAxfiSh":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getBounds"},"rjgVpV0QZ1b0PzoxJ8HqL":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getCurrentAnimationFrame"},"MhKeFsCB__SveENCw8BhS":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getIndices"},"zfGLTdw2It_fh6kw9PSsi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getOpacity"},"dG__zVndUjL-Bo0APY8Ul":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isConvex"},"tURmKHkVvLD-EXI-bOZCx":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isCurrentAnimation"},"4HksPCtP6XpW9NmqTsqJD":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFinite"},"oxOvEfmgB9EpumxiWB4eE":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlickering"},"FaSKzuBBimMhepKRJJ2dy":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#lookAt"},"LmGWsDDi12rabwsKtuHtx":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onClick"},"qKhTqrf1_dKciPlci42mE":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onCollision"},"K44v4DgRAtOQ1joYPtjmf":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onDestroyEvent"},"faE2XKAgbFMw6D14d-KUR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onHold"},"zTl3gQIYM1iK5oZzXiZUC":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOut"},"TnlIctoaTRDtVr-nT6kIZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOver"},"vL_y93jhT1S7Lo_xSISFQ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onRelease"},"J0feIEMI2QToLZs1QrfzM":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#overlaps"},"itqfM5wsZdTxOrUZbOdGa":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pause"},"zx2U1on1pZTwkyIXejwyZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#play"},"-ouG4ClU_FjTrnyGnYEpI":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#postDraw"},"SLoOz3sGzBs5z2HWuokEW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#preDraw"},"SVbA9FR5gpTfOgGuO8Bcn":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#recalc"},"XBXtD4mgfCe1rdMMAScmw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#resize"},"j4QGilwr3ybQ3gEDpugBY":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#reverseAnimation"},"AqbCopyTwQJC_QhLmTuXN":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#rotate"},"yd_fAizz64DaoMqtpeweB":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scale"},"6965uX0d6NzLbAQ4dPHs5":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scaleV"},"T7rEaLw6NrCQ17-bpf15I":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setAnimationFrame"},"vx5rU1x52dkNUcnC9Ck22":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setCurrentAnimation"},"s6yrS5RwJCzzXuzgWEIl8":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setOpacity"},"G140sdZ-DMMxf-H88a7Vh":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setRegion"},"a02vNJtqAuhZZnajDzlAj":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setShape"},"D8e55BKdt0Kkf7mqD32Nw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setVertices"},"zMvcKhSdVazoBnrMviJe0":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shift"},"vxxm92QUdyD2N21r1LfL4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#to2d"},"d1fV9Hnz9lLUujmFW-bA4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toIso"},"raktJDPRmtmnmSLdyva17":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toPolygon"},"Sn69xAQJ2PYHI-hD3fpQw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#transform"},"Hzbion4Sr6OEaAJ-9mFIO":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#translate"},"LfAsR-NGGL1b_RYXttg1_":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#union"},"Be0bmKESwLLgWKXowhKqo":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateBounds"},"L-D6OcBkH5GaY0WpdB7rt":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#draw"},"VRsSf82mfW0FDhx9S3v7b":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#update"},"blJOgkjknywFVRs2QGS04":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onAnchorUpdate"},"g7mHOanVmCgnRgcRFVf_F":{"uri":"/melonJS/docs/melonjs/UITextButton.html"},"WqnGR_ByM3Y4Uf1eLsRl5":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alpha"},"-WasFQWd4kfp6mFIXO_NK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alwaysUpdate"},"2hkNZppedRnIMnqTA0Ty7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#ancestor"},"G41btlZrO5bFWn036aBA8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#anchorPoint"},"mjMxIoAuUHuH2S_BHEM9V":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoDepth"},"2R20jyAIi__LI7cPd50YQ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoSort"},"THm3RuWSIt_FRNlMr9uO5":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoTransform"},"nhoMv208dfc0FhfegPMSS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#backgroundColor"},"rSa1vFtD74DViWnncqQi6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bindKey"},"Q2QzANniDVqurRu-vOKkq":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bitmapText"},"zTbcbCIxWwDanvFKnwvH-":{"uri":"/melonJS/docs/melonjs/UITextButton.html#blendMode"},"tJ6l8k3wC7AuHTq-SL5BN":{"uri":"/melonJS/docs/melonjs/UITextButton.html#body"},"9gd4TvnFcfHxtSFFMoGv0":{"uri":"/melonJS/docs/melonjs/UITextButton.html#borderStrokeColor"},"XDfwhvq3QZTyDwPhsJRLM":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bottom"},"U6dxbyXAWIeDzvodr4STj":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerX"},"NX_fLEaxpH2GU-34bJhlk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerY"},"r1Ald9w5uy5XFgWUDs16g":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clipping"},"2BzD3VqG-8au_DCRNwTUH":{"uri":"/melonJS/docs/melonjs/UITextButton.html#currentTransform"},"wIjejs_304gAN0ysbV1OV":{"uri":"/melonJS/docs/melonjs/UITextButton.html#depth"},"viwZpTwwSXc1r6NqMdtPa":{"uri":"/melonJS/docs/melonjs/UITextButton.html#enableChildBoundsUpdate"},"d6tVDJoPAIUHBqvX-s2vh":{"uri":"/melonJS/docs/melonjs/UITextButton.html#floating"},"0vAv5hNCtDMDaTXBG6aNT":{"uri":"/melonJS/docs/melonjs/UITextButton.html#GUID"},"7bU6BnqR1REsSBomGlw2M":{"uri":"/melonJS/docs/melonjs/UITextButton.html#height"},"4v_oA4HCTG2XFgz_-peBM":{"uri":"/melonJS/docs/melonjs/UITextButton.html#holdThreshold"},"HB_tjXlxX0PxqHPrLKfHO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hover"},"s5P3-ey5DU-pM3sDFP2IW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOffColor"},"w_NVcdOjgUUlULbJXPSr4":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOnColor"},"warOcRXiAdIxq9OlWkgt-":{"uri":"/melonJS/docs/melonjs/UITextButton.html#inViewport"},"AOmYbIVDEfWOiTHADQIBY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isClickable"},"aD8qUZB6eKJEXxIclU22i":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDirty"},"gn8r-lDr3mVwWZEqiIrFZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDraggable"},"ln6dQZmLuwrnOhrjH1Ldk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedX"},"MP7DAvZE8KyC-BU6X66f4":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedY"},"e1JXBNR0SkXmvuCTpPLD5":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFloating"},"WoWWb6HIcqgkzy6q5eMLc":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isHoldable"},"C6oaBpyY_y52-ckIKNZ88":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isKinematic"},"HCqxtQUtBn6Eh8uZGi_vD":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isPersistent"},"QA8XaWNScHMGepHjyQmi-":{"uri":"/melonJS/docs/melonjs/UITextButton.html#left"},"xld8OXX60vPBsJv4Ko1Kc":{"uri":"/melonJS/docs/melonjs/UITextButton.html#mask"},"5-9ACJe4yzPDadrazdgPy":{"uri":"/melonJS/docs/melonjs/UITextButton.html#name"},"gbxxhnQoeaZrFi7mTG-7E":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onVisibilityChange"},"JAXsR8wEl95VOcGRKl9a8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#parentApp"},"N-YTYnhSVOV1tVqDDhD_S":{"uri":"/melonJS/docs/melonjs/UITextButton.html#points"},"E608T4Wsf1tXWZN3riPEU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#pos"},"NxztdsGiBvaLStrSOZy9K":{"uri":"/melonJS/docs/melonjs/UITextButton.html#released"},"4jrGXsyoQ7_saVlsviViT":{"uri":"/melonJS/docs/melonjs/UITextButton.html#right"},"7rfQX0OW7tDCOBN1i_v8u":{"uri":"/melonJS/docs/melonjs/UITextButton.html#root"},"zp9qob1VHpa8jLtJP7ByZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shader"},"A-0Ica0S_U11wly1gmXb7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sortOn"},"EPCVXj6MmZEpcrglicVw7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textAlign"},"5RjWNtuDTjsCgIkFF4Idt":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textBaseline"},"yL-NIb6ljraEESqzDgWa-":{"uri":"/melonJS/docs/melonjs/UITextButton.html#tint"},"ggj_XazF14kMudI3w0nkS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#top"},"JdGUlp-Y2NI4WYRzXw1IY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#type"},"Ghoi2viS38AJ4KwdbknP8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateWhenPaused"},"m1EZFa6luwGcoba421Lvb":{"uri":"/melonJS/docs/melonjs/UITextButton.html#width"},"7bt8njt4kqvMa3NvQwzIO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChild"},"6_JBhbvL_F2EPwCciJY7k":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChildAt"},"H1pNYp4XAarRzYa5zVOc6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#angleTo"},"arishjmqnM26G9qA13MrJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerOn"},"_ZHVhtCwir4WetGb_jFSI":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clone"},"xV132Y3_E3xorjNlMRLYA":{"uri":"/melonJS/docs/melonjs/UITextButton.html#constructor"},"gg9MfkM6qGHWGuq-y5pXa":{"uri":"/melonJS/docs/melonjs/UITextButton.html#contains"},"k2NWn-WQfLwEFp1x5X1E6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#copy"},"JsDG7pednjYyU0W89PAIr":{"uri":"/melonJS/docs/melonjs/UITextButton.html#distanceTo"},"3cSULqizlgwQnTI5-QUtD":{"uri":"/melonJS/docs/melonjs/UITextButton.html#equals"},"e57X0lzIou267g5rFP8Al":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipX"},"dot67h4Z5-ZFjWDsmf4j7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipY"},"F0eHxbCunOGmmDR6-3D7q":{"uri":"/melonJS/docs/melonjs/UITextButton.html#forEach"},"kd4G3fHJph9Bagz0J57qS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getAbsolutePosition"},"HlRIOcmNJzh3DhxEsv-s8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getBounds"},"cklgCiv93LIOKvixWMWFm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildAt"},"FKUX2en_MVSAezYE-2pAt":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByGUID"},"Bu7mhljy8RiPAN4YPEOHE":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByName"},"Bkgx5JUkhhgBaznorPrrl":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByProp"},"oUs6fTFRrv_DDZU2CimFI":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByType"},"bJo27Qj4Ey7mU0CDuxVl-":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildIndex"},"7tbHp3R1cyP0sHegRl_se":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildren"},"MnYqzEPAqyCAUOVpDoYpE":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getIndices"},"3thN5AB4msHj4p4GApAWK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getNextChild"},"3w-VffT9gIHbNARa3c_68":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getOpacity"},"x2GECmcU1_x2E2NPQwmNA":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getRootAncestor"},"OlIiV5PBqNXP9bZMYvjRQ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hasChild"},"F7Zco8f9yz_EI_NRSSnuk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isAttachedToRoot"},"IyOLs7JgRmRhwiwSwVq1H":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isConvex"},"j-yBxJslrVuQSZSv39tQN":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFinite"},"EMbSBVsgNYu26-6eiKFqy":{"uri":"/melonJS/docs/melonjs/UITextButton.html#lookAt"},"3m70QJW3KyoxMD56TnguT":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveDown"},"w30IhvBOJYAnqmHg1n4_i":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToBottom"},"xePEEVUIQ_3kxof0bU_mK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToTop"},"qVM_UB8wdxruvO8W14WL1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveUp"},"AYN-yUk3KLyc8nrgeN6cO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onChildChange"},"m5JK_bF0GPcNCzqKxHjYb":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onClick"},"VO4MASPLNAzvwJd4XwtE3":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onCollision"},"oEBNbqUMN5aa_h4e7Yg7z":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onDestroyEvent"},"ozlKZq3o5_oDiZj9OmVrQ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onHold"},"Pvp6hjZX4Tox8YBSE-hed":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onMove"},"RF1rrWfrOIcyFe-T1MZJ7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOut"},"61755GKfBZM7-qupHcIKo":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOver"},"qZEmaZ_vcJUzR1j77hlyf":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onRelease"},"EEo_XcjN3n1G0AxtTMlck":{"uri":"/melonJS/docs/melonjs/UITextButton.html#overlaps"},"0-YfTmCRiOGD4XfUVS7-p":{"uri":"/melonJS/docs/melonjs/UITextButton.html#postDraw"},"YRPhnb7-_C-arcp7tJ1NJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#preDraw"},"uHj39N1CkdBthze1_DoWZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#recalc"},"ovoO69bBADzGzMmIr_esp":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChild"},"98xSiLDjaCDFwerU8764W":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChildNow"},"l5SDL0mf6kKrFxgBgVdt2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#reset"},"qzj-VsjyRsCHYGBiFkRpg":{"uri":"/melonJS/docs/melonjs/UITextButton.html#resize"},"yqcX0Gn_TS9C-dZHaLd0d":{"uri":"/melonJS/docs/melonjs/UITextButton.html#rotate"},"5_fsg6qouNA6EF5FDhjrU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scale"},"9-XxrPGu9bOYxua5cAmtb":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scaleV"},"YzSVCZ0-9TN4mBr_2RqPA":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setChildsProperty"},"OSeRdWR-6VSwzhZFUPCUy":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setOpacity"},"Y973wQ9S2U2hwvi6nUAij":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setShape"},"HK6VRiNIYBFCi1Pjh96si":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setVertices"},"uqJR6Yzw21Or5sALlBf3H":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shift"},"XMLN9cidekOhGXlLInxGw":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sort"},"leGwAMe1vjNZVOnK23Yse":{"uri":"/melonJS/docs/melonjs/UITextButton.html#swapChildren"},"MJXKA5374eyoOh3DiF7fK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#to2d"},"SGjcw3Ojr0Cd0TaQDKeWu":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toIso"},"tKLsqJHjyqPD7i4Onn70s":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toPolygon"},"sJzJGD0CBsULlP198SD8k":{"uri":"/melonJS/docs/melonjs/UITextButton.html#transform"},"TlBypHIhr0EtnzWJkXYSm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#translate"},"6GeSs1wDvDlTmikwsTaur":{"uri":"/melonJS/docs/melonjs/UITextButton.html#union"},"jTRfxnZrQJL6gdl0OEPi9":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateBounds"},"YcP7ezCQQNi1xTY9nxUKI":{"uri":"/melonJS/docs/melonjs/UITextButton.html#draw"},"q68B0rZcoeCplX7eKLSkB":{"uri":"/melonJS/docs/melonjs/UITextButton.html#update"},"Wl7524pEC-3Snm6he01h1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onAnchorUpdate"},"mX1n9KpWf1HMzYwjqyqpv":{"uri":"/melonJS/docs/melonjs/Vector2d.html"},"UwM9PdDPKIaX8sQ9CU9S9":{"uri":"/melonJS/docs/melonjs/Vector2d.html#x"},"ikzIOxUL49lO77MMp7xjl":{"uri":"/melonJS/docs/melonjs/Vector2d.html#y"},"tyu1kw7ZruU-g2CJogVAc":{"uri":"/melonJS/docs/melonjs/Vector2d.html#abs"},"HSVF0Lr1qpTQfPseyorJA":{"uri":"/melonJS/docs/melonjs/Vector2d.html#add"},"5-s7P3VVbtkCPLDoI0b7x":{"uri":"/melonJS/docs/melonjs/Vector2d.html#angle"},"DvGHp_4C1f4IFdzJ8X9xI":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceil"},"5gz2YLjUsyILW1EwVMunb":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceilSelf"},"cUlV-BJxjzrshYKFDP2w-":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clamp"},"KUgwYQJ5MCTaaikLGE1UB":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clampSelf"},"8F6IbWniHIaK_0d0HNG2u":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clone"},"fswb6he8E29Eoqhwsgjld":{"uri":"/melonJS/docs/melonjs/Vector2d.html#constructor"},"mUsNi63WXDbxoovUR0W9j":{"uri":"/melonJS/docs/melonjs/Vector2d.html#copy"},"SkjM_4T9Y6Jfp4sqnicT1":{"uri":"/melonJS/docs/melonjs/Vector2d.html#cross"},"2wlyLXD62iBDmi5kdOm4K":{"uri":"/melonJS/docs/melonjs/Vector2d.html#distance"},"IFKj5hA7gmqO2pG7VjLze":{"uri":"/melonJS/docs/melonjs/Vector2d.html#div"},"FQZto1Clz72fwSyqkxh99":{"uri":"/melonJS/docs/melonjs/Vector2d.html#dot"},"bQzf3OtoIWqZVxFxkFPjv":{"uri":"/melonJS/docs/melonjs/Vector2d.html#equals"},"qgAGVxsrB53My0Jpx_UZf":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floor"},"sfh-xYys6J1bxyX-nWMNz":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floorSelf"},"BpFR451s7jEL-Nz9dZ6NF":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length"},"sL-KlLQgrlQFgj2lgr9if":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length2"},"QBzv0g3xcDQEPla-l3YC2":{"uri":"/melonJS/docs/melonjs/Vector2d.html#lerp"},"iFIaB-SFETX8nQhbEPj_B":{"uri":"/melonJS/docs/melonjs/Vector2d.html#maxV"},"jPuqymbSc3GeFhVsffcRq":{"uri":"/melonJS/docs/melonjs/Vector2d.html#minV"},"M922Z5iOHe12TeutrPNy5":{"uri":"/melonJS/docs/melonjs/Vector2d.html#moveTowards"},"iUkU776eoO-3unQ-NvwnN":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negate"},"DFWINjnOCa0EyQ-L6O6XR":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negateSelf"},"1wIZ8QeGhPfAeZOBWto6m":{"uri":"/melonJS/docs/melonjs/Vector2d.html#normalize"},"DcBehYLFTAEOTEu1Fl2d5":{"uri":"/melonJS/docs/melonjs/Vector2d.html#perp"},"ogrmqTb9LupaZ93okeAsF":{"uri":"/melonJS/docs/melonjs/Vector2d.html#project"},"HKHxvPrj4ZohWjoLi7-wo":{"uri":"/melonJS/docs/melonjs/Vector2d.html#projectN"},"E0krbq0ew9QI61QRRHAhK":{"uri":"/melonJS/docs/melonjs/Vector2d.html#rotate"},"KoAzox1dWWmxcUXPFiZnu":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scale"},"KQiomgq9moRPlUYmU314I":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scaleV"},"hl6bgZxssj0PgaMgEwn-N":{"uri":"/melonJS/docs/melonjs/Vector2d.html#set"},"BZTfd6w7blxawp-WeTgE9":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setV"},"EXah28uzKguXa5jm4gJAH":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setZero"},"xM-xsCRownqOA9EVNTUGw":{"uri":"/melonJS/docs/melonjs/Vector2d.html#sub"},"ju5Pltl6d9cWcjbIVNbzj":{"uri":"/melonJS/docs/melonjs/Vector2d.html#to2d"},"iopoeEWCxk5Zeo0YUrCj7":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toIso"},"to-GGGpJ8Agq5uWfFN83d":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toString"},"WwY8oNyb0re3X1upvbS12":{"uri":"/melonJS/docs/melonjs/Vector3d.html"},"f4m-Wm3OBtd5nT3CvJuND":{"uri":"/melonJS/docs/melonjs/Vector3d.html#x"},"lFQ-dGFGbIf9X_dByAhwS":{"uri":"/melonJS/docs/melonjs/Vector3d.html#y"},"Fp7CHPckC-mSaqfR3zQqU":{"uri":"/melonJS/docs/melonjs/Vector3d.html#z"},"mcKcjJzjg5lJoTuDRklYK":{"uri":"/melonJS/docs/melonjs/Vector3d.html#abs"},"bT3Oqe21k4htSv9WfYkmh":{"uri":"/melonJS/docs/melonjs/Vector3d.html#add"},"k2HK4QWPqFx92BHYgvykV":{"uri":"/melonJS/docs/melonjs/Vector3d.html#angle"},"I5T8MqXIOCwJUN65rwhrp":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceil"},"PV5SI3YxbjBZnbo64fYL4":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceilSelf"},"x-NbwDBSXdima3-FvkT4G":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clamp"},"KlE21pyjUu-760Gfr0UtQ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clampSelf"},"CC5e7qxH9BrVz-mGmWXOV":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clone"},"YSYfnWrqxehaGJBB1HzlO":{"uri":"/melonJS/docs/melonjs/Vector3d.html#constructor"},"LRMD5psI9IuuUxyR4DIwp":{"uri":"/melonJS/docs/melonjs/Vector3d.html#copy"},"bwsNYxtMfmW7O7gdRMEvw":{"uri":"/melonJS/docs/melonjs/Vector3d.html#cross"},"RjHnFUO87Z-uKGcuKmoT-":{"uri":"/melonJS/docs/melonjs/Vector3d.html#distance"},"BNQutxKR7GHzr5kWjb4HY":{"uri":"/melonJS/docs/melonjs/Vector3d.html#div"},"FAa7TpSzgpFF1YFOQYBGU":{"uri":"/melonJS/docs/melonjs/Vector3d.html#dot"},"TzwXnsO_DpZNdI3UsZYpZ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#equals"},"TufSk3Y2QSXVHMAM7jZrC":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floor"},"mElb7qs57MnrznY2woYIJ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floorSelf"},"oaQQWxUmfOAg7qEWC8Hyf":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length"},"cvGx7S6ShwvOe3_2J5RMu":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length2"},"6kLC0U-3km44NNIKIFcwK":{"uri":"/melonJS/docs/melonjs/Vector3d.html#lerp"},"68FcnVRi-0GIH3Q-LLfpB":{"uri":"/melonJS/docs/melonjs/Vector3d.html#maxV"},"NVVNRNu8Sy2_R3nyYSaAW":{"uri":"/melonJS/docs/melonjs/Vector3d.html#minV"},"ikI6t6KwKTzLCP9CZ0B6U":{"uri":"/melonJS/docs/melonjs/Vector3d.html#moveTowards"},"_cc3Mfwu1jE0rmOI_b5f7":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negate"},"wjRKdtDYOn1LTYPDGQq0R":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negateSelf"},"LXXbNQ6T7ScfftGtg9T4u":{"uri":"/melonJS/docs/melonjs/Vector3d.html#normalize"},"4phjI1keKvbMzydoVWjiA":{"uri":"/melonJS/docs/melonjs/Vector3d.html#perp"},"yTslU_GiaqxmluDGCulEo":{"uri":"/melonJS/docs/melonjs/Vector3d.html#project"},"dHS16LT2gZBUP3WT5v6oN":{"uri":"/melonJS/docs/melonjs/Vector3d.html#projectN"},"eKMGLJXuBH05RypamSDfv":{"uri":"/melonJS/docs/melonjs/Vector3d.html#rotate"},"5kE8ATLki7U4wVWIQNuOQ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scale"},"qwjpSGkSQzsJF1gsTp5w_":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scaleV"},"SFpNPZcPYHcHMVOhc4EMS":{"uri":"/melonJS/docs/melonjs/Vector3d.html#set"},"ODkEsyqM3ibTuBa5c7Zxz":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setV"},"W6n78WwhG5p5KM-pJsV8z":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setZero"},"dn1R_-iS2kyL0T6nmTbX8":{"uri":"/melonJS/docs/melonjs/Vector3d.html#sub"},"4YYSrjiESpi0apnM0_vTc":{"uri":"/melonJS/docs/melonjs/Vector3d.html#to2d"},"wQ6QRudBYt2XC-zCKP1Gv":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toIso"},"TsBNSSTtwp8gdPEeaK8Rr":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toString"},"rUPpOriCAYTnCePL0g--0":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html"},"gG4UxtHsZasUQaKDUBK73":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#compositors"},"DmUnCPVk952bTyjUzvvzb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentCompositor"},"dFdZm9a1dXnzaufrKUVqq":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentProgram"},"o84ISVZiux-g6MTBuYsRj":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentTransform"},"VgC-RrWCPY6yxsLGL7keS":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#depthTest"},"pwUT512M_osmCb4eZLwn2":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#designRatio"},"oz8PJVgKGaKshJsdSqYQq":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#gl"},"wOvCshQEs57m1hedM5J7X":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPURenderer"},"nvsRgVISc8tnai5rjR33x":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPUVendor"},"5wv3f_QDoB_197NpQzdGU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#height"},"3jS0Smf8axAeNmJNKLnJU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#isContextValid"},"uk7Ssvzf7geHYRKSht1bV":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#maxTextures"},"FmAsmc8v58gp3mQQB3yob":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#path2D"},"mKM30mR-WsqT-94vUGspr":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scaleRatio"},"5v89bRth_etUBQZzqxLp4":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#settings"},"CK6nLyRc72pLMNOBa1UYm":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#type"},"YLwvvTOkRMYx_ewQg-Fc0":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#vertexBuffer"},"01so1xtUv7sZzXi568TnH":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#WebGLVersion"},"sK_9VBKbyFddzBEI1IczV":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#width"},"dQ-V0zftZcdWFgEilMO1b":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#addCompositor"},"OmGORQggYar_rbra0Rbd-":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#beginPath"},"pFYmQFKrumguVJpVM345b":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clear"},"GuAO8pd_oqUDIGw8EZ8LE":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearColor"},"8QThz6wrXsABPerSL0IU0":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearMask"},"uEt8ycdQ7raf0od6-b4Qv":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearRect"},"HRoe9FIw5EXWp-Gks6WWo":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearTint"},"YIc2NqJUUAS6JbLU7NRv8":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clipRect"},"TIRwtcziH3tEcqNUawNiZ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#closePath"},"N2QoTNIqmm1tJqBkXH8jW":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#constructor"},"SZp2rezcjEaD2td2fJMPr":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#createPattern"},"dt35WvjDLbqraw9Q72qI4":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawImage"},"LWnkGHO-0ih6YFK05-yYa":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawPattern"},"2D1mwTXdpua83ChbGHqEC":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fill"},"nfZApaqFkCwGXOVXz6zjA":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillArc"},"KmySJBDD0utHOuOuzC1Jm":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillEllipse"},"bOYs752NMtzc7KEj1oudL":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillLine"},"qU0GAfA73iq8XIhodrgyc":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPoint"},"QOXT2C7uRnj8VDylubA5A":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPolygon"},"T1gJVgOQMD-yZ6Xfilyqb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRect"},"ZR-wMW2o4aig7d5BdZ4jm":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRoundRect"},"-SrCdaOrAWVpSZIH1YrbM":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#flush"},"h-mPYZt3qINLEOYWtcSWt":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getBlendMode"},"yG7lXwRsG8BLYqShWwfM7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getCanvas"},"776JdV1WZaEcI6aoNY92w":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getColor"},"7UMwfNsrzQIr_41PeCEfn":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext"},"YV4LtkBwpEMwdA0GbI50n":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext2d"},"DzjHzGqL7YPjCU9C-D2Fx":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContextGL"},"DeTGkWEaZBjVVAEgXuGxN":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getGlobalAlpha"},"6AH7-zOnLxF6sdOXF1o7k":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenCanvas"},"0eo_p7bQHpuhlj7f1Om7K":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenContext"},"y-Jr-FrPD2AJL4tmALXzj":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#globalAlpha"},"QrngU_AJ-RYkObStzUpZU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#lineTo"},"g1xbbN0tRw4Wdw86_fDMj":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#moveTo"},"6TmppzdiCPZiBediSY9J3":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#overlaps"},"NxiEsqK0JrQeALLxLllg8":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rect"},"6Cw-hNwvrS2JEeI63Nsgu":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#reset"},"YNkhKaQ23wTPHn0tqjAs-":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resetTransform"},"SHSLPfcZHUai_kV10BB5M":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resize"},"7k8jN4ZcxFiWWl5IPUVDU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#restore"},"seld7tfwbMMvrDQf1q749":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rotate"},"_xPuH91-CgtgC5c78wSdl":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#roundRect"},"qp7bO0T6wA4KpuBNO45TT":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#save"},"Im0FnVygb5uy-07aKB7Um":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scale"},"k47exPFv7XSCskdEXyqxi":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setAntiAlias"},"2h3XRw-cYjX-Bmx8iDXE8":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setBlendMode"},"ar-TAoc1OeBDdWZoYByjh":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setColor"},"ZBKdzyCNtQudBxJXM_9vo":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setCompositor"},"IQ8ogTxQNeyfmNZ2LE_Gi":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setGlobalAlpha"},"jz-ruseYeMO6ZeaPcWKJp":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setLineWidth"},"-mfGkdcOFAY0KXSlumg24":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setMask"},"pUqPY_J1hW0g83yS1wnVt":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setProjection"},"yEP9eel-3nyxglH1Naumj":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTint"},"qJgigmDuI4cUO35Cxke2i":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTransform"},"0e6I726kRegmByjljKOX_":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setViewport"},"tT2LGhnEYrYEa-9uOsrBz":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#stroke"},"4wMkQAvCK0M7qOZXd18go":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeArc"},"rG5XTeCArE5HemKucVPar":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeEllipse"},"_HSK-VXJ5S_1TpzMxq8AY":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeLine"},"KMkb_WpoRmm7hBBZe7PHw":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePoint"},"kJmfjOu1nhCnKehbswMzX":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePolygon"},"lOJwYNCP8IL-CDIG7UK49":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRect"},"__VB8nC6yLyAvtuuC1Mhg":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRoundRect"},"90SadzDSLOAoV2yg-lC5p":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#tint"},"aO9jo8UNYVS7hFkheOkfb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toBlob"},"nFwk-mmo4U1QTLP5MeVhK":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toDataURL"},"KIskpdCmj8cjYRwZhh4YD":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toImageBitmap"},"jsMH_AKZitl2rwS5H4yaI":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#transform"},"Mw2tbozecT7v4YxSB9-PS":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#translate"},"ZTKiAMTfnZKlTX_688jYA":{"uri":"/melonJS/docs/melonjs/World.html"},"muZZpmCyZGUw91URJ7APx":{"uri":"/melonJS/docs/melonjs/World.html#alpha"},"g1BSd4qFtBtC2GXu1Nav4":{"uri":"/melonJS/docs/melonjs/World.html#alwaysUpdate"},"zqI_u9G6F7GlYzJQjhKw8":{"uri":"/melonJS/docs/melonjs/World.html#ancestor"},"8vCVpSXfl8xFpJwCKjT96":{"uri":"/melonJS/docs/melonjs/World.html#anchorPoint"},"iJnp4-aCAg7HbqJnA7gXt":{"uri":"/melonJS/docs/melonjs/World.html#app"},"HmAyPhfSqPu97RFRwKMLs":{"uri":"/melonJS/docs/melonjs/World.html#autoDepth"},"UVGVsh4MUcOp8lxEiZcQX":{"uri":"/melonJS/docs/melonjs/World.html#autoSort"},"hNPbAA8EahkyGjK9hugg5":{"uri":"/melonJS/docs/melonjs/World.html#autoTransform"},"e3t2lwIHU7hnSidFHnxWU":{"uri":"/melonJS/docs/melonjs/World.html#backgroundColor"},"Mw5v3VbBskXXeCsD87-GX":{"uri":"/melonJS/docs/melonjs/World.html#blendMode"},"AQA6rc1X0FVi9RpmbS9iy":{"uri":"/melonJS/docs/melonjs/World.html#bodies"},"dIOFVOt-xdMpA-iIJlQtf":{"uri":"/melonJS/docs/melonjs/World.html#body"},"fFgVEAkmUhGYV-5yYYWAT":{"uri":"/melonJS/docs/melonjs/World.html#bottom"},"Hn4JHx79T0K3qd9SfY6Kp":{"uri":"/melonJS/docs/melonjs/World.html#broadphase"},"qd71f7ATcvpXFGc8kaKtz":{"uri":"/melonJS/docs/melonjs/World.html#centerX"},"tnKkocWtEk4pw0K8hZNYg":{"uri":"/melonJS/docs/melonjs/World.html#centerY"},"GPxRettowWtw8yeEf3aE0":{"uri":"/melonJS/docs/melonjs/World.html#clipping"},"vH1xhEjslMUiSwAC4Sk68":{"uri":"/melonJS/docs/melonjs/World.html#currentTransform"},"tRn60MmqY_hwOKM9dGVoR":{"uri":"/melonJS/docs/melonjs/World.html#depth"},"1Uf06Js3QRm46ioSCmmVQ":{"uri":"/melonJS/docs/melonjs/World.html#detector"},"e-qSFRo8WAnIpt0hNx8nM":{"uri":"/melonJS/docs/melonjs/World.html#enableChildBoundsUpdate"},"GlkMZu-Pa2uDDTfJNJOVt":{"uri":"/melonJS/docs/melonjs/World.html#floating"},"Q2IZxUbndLw2WvG5C7t1j":{"uri":"/melonJS/docs/melonjs/World.html#fps"},"9aoi57uN7Z9An1id6ckkk":{"uri":"/melonJS/docs/melonjs/World.html#gravity"},"3aANwdn17nGIxkfW610Lr":{"uri":"/melonJS/docs/melonjs/World.html#GUID"},"4o-qj_4ZHfPh7gQGGHL2q":{"uri":"/melonJS/docs/melonjs/World.html#height"},"ZTIQb5oiSN7qUHjYgQjuY":{"uri":"/melonJS/docs/melonjs/World.html#inViewport"},"z2h_-RoU_qv3vzf-UN4RE":{"uri":"/melonJS/docs/melonjs/World.html#isDirty"},"-b0KxaOH7uqOOvY4VlNdx":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedX"},"VcRgfZELCWYPx2rh6xAnc":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedY"},"OecI42xzVGUavp5o2462x":{"uri":"/melonJS/docs/melonjs/World.html#isFloating"},"njtw3H2C4Rz12gdzINdje":{"uri":"/melonJS/docs/melonjs/World.html#isKinematic"},"XcmfpmMUULf0-nZP1t9Ph":{"uri":"/melonJS/docs/melonjs/World.html#isPersistent"},"10Hl_bfkzg79dHmFZu1wa":{"uri":"/melonJS/docs/melonjs/World.html#left"},"pKvoecGbb6GVT26wncmgU":{"uri":"/melonJS/docs/melonjs/World.html#mask"},"O0PQgBStgPUFfKHLn0wbC":{"uri":"/melonJS/docs/melonjs/World.html#name"},"Bu-f7KuVLDhv8M7Ffh1Sq":{"uri":"/melonJS/docs/melonjs/World.html#onVisibilityChange"},"PzoAYLtpzXF3Zj_EVzgIu":{"uri":"/melonJS/docs/melonjs/World.html#parentApp"},"SZhdeLwmfYLjbROW91TaZ":{"uri":"/melonJS/docs/melonjs/World.html#physic"},"DYtEWfu_jtOD17cwE97Kb":{"uri":"/melonJS/docs/melonjs/World.html#points"},"6ldP6iPH_fTK9T98-563w":{"uri":"/melonJS/docs/melonjs/World.html#pos"},"xbu5O8I4zi5plBZ3dIrZ9":{"uri":"/melonJS/docs/melonjs/World.html#preRender"},"YMlo5QQfgNXPIg-_TL-We":{"uri":"/melonJS/docs/melonjs/World.html#right"},"Y3UDdoNqHzo7JUe2d2PGW":{"uri":"/melonJS/docs/melonjs/World.html#root"},"wb_5JdZZiUf-i_bckC71L":{"uri":"/melonJS/docs/melonjs/World.html#shader"},"cQEhhl3NWZNVkf_y-6JU1":{"uri":"/melonJS/docs/melonjs/World.html#sortOn"},"TC65FDlvEkcKvyV4Xog6C":{"uri":"/melonJS/docs/melonjs/World.html#tint"},"T2tlVqfsso3h_ZyBNAPEz":{"uri":"/melonJS/docs/melonjs/World.html#top"},"sVXVAeaEeVzPROfhcS4KO":{"uri":"/melonJS/docs/melonjs/World.html#type"},"nbM5olwcXp_h1FElQiKL5":{"uri":"/melonJS/docs/melonjs/World.html#updateWhenPaused"},"x6fe4U902w1RjUCyb9Lux":{"uri":"/melonJS/docs/melonjs/World.html#width"},"dLNKC41Dif1upJ1OKkzFM":{"uri":"/melonJS/docs/melonjs/World.html#addBody"},"wuvfcibiJlY2QBGH2_V4Z":{"uri":"/melonJS/docs/melonjs/World.html#addChild"},"OoUgnRWLjQjQLDAJ02XN9":{"uri":"/melonJS/docs/melonjs/World.html#addChildAt"},"Mwt1b9_dNY8_7v0ISX5gP":{"uri":"/melonJS/docs/melonjs/World.html#angleTo"},"DdmEQkXCxG362xQgLn3RG":{"uri":"/melonJS/docs/melonjs/World.html#centerOn"},"rJ3pks820X1DvCWUMRNqI":{"uri":"/melonJS/docs/melonjs/World.html#clone"},"4DlV_31T7W6Imc-GRF-XX":{"uri":"/melonJS/docs/melonjs/World.html#constructor"},"v-8BRPQZjdayXTHLYz_ht":{"uri":"/melonJS/docs/melonjs/World.html#contains"},"8i95OyzEScNIboHDqVSAN":{"uri":"/melonJS/docs/melonjs/World.html#copy"},"7J5fh4V_IUs57y220GTaC":{"uri":"/melonJS/docs/melonjs/World.html#distanceTo"},"hGnTLIuzXqzQdmp6ohmio":{"uri":"/melonJS/docs/melonjs/World.html#equals"},"j6xgu2Wk9R0nUGt4LEHz1":{"uri":"/melonJS/docs/melonjs/World.html#flipX"},"YfOm_eFxyC6CHelh_fX2q":{"uri":"/melonJS/docs/melonjs/World.html#flipY"},"yU9GNtYPauEJfrmk-3y1A":{"uri":"/melonJS/docs/melonjs/World.html#forEach"},"gq-pkrqdcLvROueE-gJ7j":{"uri":"/melonJS/docs/melonjs/World.html#getAbsolutePosition"},"XNBya7k42gUU_j8L8fIu9":{"uri":"/melonJS/docs/melonjs/World.html#getBounds"},"BGRqdcezQ8VEtRIamywgF":{"uri":"/melonJS/docs/melonjs/World.html#getChildAt"},"_chmXmh9RjnmcDIfn79rX":{"uri":"/melonJS/docs/melonjs/World.html#getChildByGUID"},"THj7VT_aaPY3o54D1PrqX":{"uri":"/melonJS/docs/melonjs/World.html#getChildByName"},"IjgrjicHBu1RozV5lg-a3":{"uri":"/melonJS/docs/melonjs/World.html#getChildByProp"},"Qur3oILBC7kpbXmdJydYB":{"uri":"/melonJS/docs/melonjs/World.html#getChildByType"},"n9U_2ZEchTYmkEcKFnHXs":{"uri":"/melonJS/docs/melonjs/World.html#getChildIndex"},"fBBLuZEqCa4solb5UzZFx":{"uri":"/melonJS/docs/melonjs/World.html#getChildren"},"EAl12ZySanENPv97w4K1A":{"uri":"/melonJS/docs/melonjs/World.html#getIndices"},"qt2_tZ91qjAAv7LFPMrV1":{"uri":"/melonJS/docs/melonjs/World.html#getNextChild"},"2axqnBz3ngVlLfQTHVXUK":{"uri":"/melonJS/docs/melonjs/World.html#getOpacity"},"l9P33cpGxM0YpfASOlSBh":{"uri":"/melonJS/docs/melonjs/World.html#getRootAncestor"},"cNG2ViUHmyPur3wPdd5Dl":{"uri":"/melonJS/docs/melonjs/World.html#hasChild"},"1DWHU7-kgmim5SiDS1jOW":{"uri":"/melonJS/docs/melonjs/World.html#isAttachedToRoot"},"ta5pciD_MGEjfXdlGcMDX":{"uri":"/melonJS/docs/melonjs/World.html#isConvex"},"0vR3e_kxKsX5fZk6LCpvA":{"uri":"/melonJS/docs/melonjs/World.html#isFinite"},"eRf9cO6zfhTob62Zo2fTT":{"uri":"/melonJS/docs/melonjs/World.html#lookAt"},"nVSuYN_WR5PDwT4BOSUAl":{"uri":"/melonJS/docs/melonjs/World.html#moveDown"},"qDSZfiJbJQtQBqVLnwXSI":{"uri":"/melonJS/docs/melonjs/World.html#moveToBottom"},"b7fUCfMHV2PCm7BBn1C4t":{"uri":"/melonJS/docs/melonjs/World.html#moveToTop"},"47fFsT9SypCERNzhuXSQH":{"uri":"/melonJS/docs/melonjs/World.html#moveUp"},"JKxN2JjnR4YVcbuJmNGsC":{"uri":"/melonJS/docs/melonjs/World.html#onChildChange"},"Gz7jcnO7KdakjAdkDLG84":{"uri":"/melonJS/docs/melonjs/World.html#onCollision"},"CISbZNjFmvl4VenLbBzhT":{"uri":"/melonJS/docs/melonjs/World.html#onDestroyEvent"},"CDNRCilOYjNxZXCXhLt0r":{"uri":"/melonJS/docs/melonjs/World.html#overlaps"},"iNBWABTb9MGjqh22_OVxF":{"uri":"/melonJS/docs/melonjs/World.html#postDraw"},"SmfYyZN8_OBrFBr-5OMOJ":{"uri":"/melonJS/docs/melonjs/World.html#preDraw"},"kCiNOe1ZbiEN9yuRuonyb":{"uri":"/melonJS/docs/melonjs/World.html#recalc"},"soH-T-KK-KsaI_q4sNTg9":{"uri":"/melonJS/docs/melonjs/World.html#removeBody"},"B2yvOaAL_h-lDMP7T67HK":{"uri":"/melonJS/docs/melonjs/World.html#removeChild"},"kkLKWDjR69qAVw0csBCxD":{"uri":"/melonJS/docs/melonjs/World.html#removeChildNow"},"BmotH6YZseicIHsqAA6xZ":{"uri":"/melonJS/docs/melonjs/World.html#reset"},"y_Z0j4Dkvlryo33-LI7nk":{"uri":"/melonJS/docs/melonjs/World.html#resize"},"HsHDUjDtT9xCcXhlMoIop":{"uri":"/melonJS/docs/melonjs/World.html#rotate"},"SSgqGTYhRpTVgMBvhSMiL":{"uri":"/melonJS/docs/melonjs/World.html#scale"},"BNlJfgEJdo1vJvqwozpw_":{"uri":"/melonJS/docs/melonjs/World.html#scaleV"},"kTSAc-qUYzOFkUqdZlFig":{"uri":"/melonJS/docs/melonjs/World.html#setChildsProperty"},"MJlNUtE1fTZyG3x7oqtLp":{"uri":"/melonJS/docs/melonjs/World.html#setOpacity"},"Psh81KqrIUFQ8lDMbbOZQ":{"uri":"/melonJS/docs/melonjs/World.html#setShape"},"lFRL8nwIp0tw-fdaYHsb8":{"uri":"/melonJS/docs/melonjs/World.html#setVertices"},"wd8-SxgOkr_Y4tZMnhGtP":{"uri":"/melonJS/docs/melonjs/World.html#shift"},"i5YYLJRTiGaV4Zhr7qR-s":{"uri":"/melonJS/docs/melonjs/World.html#sort"},"ZNa5Kf0oEOFAYFhr8p6Sv":{"uri":"/melonJS/docs/melonjs/World.html#step"},"rg2n-REb1Fv125D8UKKeQ":{"uri":"/melonJS/docs/melonjs/World.html#swapChildren"},"v8aoOAsoLp1MC6As5lR-E":{"uri":"/melonJS/docs/melonjs/World.html#to2d"},"q-yLZXh9hfW2zdyCf4JXy":{"uri":"/melonJS/docs/melonjs/World.html#toIso"},"HjLYc1je2ak0yWKJ-Dw0v":{"uri":"/melonJS/docs/melonjs/World.html#toPolygon"},"LYMguiqCAV86T1v0Q518-":{"uri":"/melonJS/docs/melonjs/World.html#transform"},"DwUTVXH12IDciXX2kOPL5":{"uri":"/melonJS/docs/melonjs/World.html#translate"},"LF7cXtfnpdqlPwrxG9U9e":{"uri":"/melonJS/docs/melonjs/World.html#union"},"QAmog5ODSUQU210_F3OpL":{"uri":"/melonJS/docs/melonjs/World.html#update"},"XQu7ieD__hxkPR3DXiQFm":{"uri":"/melonJS/docs/melonjs/World.html#updateBounds"},"tqqdWB_TDkQCzfJ8r33or":{"uri":"/melonJS/docs/melonjs/World.html#draw"},"GGduFAqDvmuYqsI4mAfJS":{"uri":"/melonJS/docs/melonjs/World.html#bodyApplyGravity"},"JuntWETlCS5204t4Kixvl":{"uri":"/melonJS/docs/melonjs/World.html#onAnchorUpdate"},"orrTR5LFPhQaHTX6jfZ6-":{"uri":"global.html#AUTO"},"gWhrG8w4H9eNncApFTj8Q":{"uri":"global.html#CANVAS"},"STgZOkgTD56suUWD1_yAI":{"uri":"global.html#version"},"w4IzXpgKu9RuoGxjNrGqy":{"uri":"global.html#WEBGL"},"zo4PFeuXbeHhPnK0NFuDy":{"uri":"global.html#failureLoadedAssets"},"7YMu-c_jPA-jys-6DtpDT":{"uri":"global.html#imgList"},"FIAFXp0Mkd1k3O2HjgMXg":{"uri":"global.html#initialized"},"ooVTB9u_gQQDwRYrS1eR5":{"uri":"global.html#parserInitialized"},"2kCgpBRjAHOPBDmEkwdNB":{"uri":"global.html#parsers"},"O25_ilEUOVonPlZYBp0GH":{"uri":"global.html#skipAutoInit"},"BTO4K0iWNEpCVoPHTJMBW":{"uri":"/melonJS/docs/melonjs/boot.html"},"kX69_da1xCrxrw8Nizftm":{"uri":"/melonJS/docs/melonjs/consoleHeader.html"},"DICbjfGSd79QqZ9hPMqx5":{"uri":"/melonJS/docs/melonjs/fetchData.html"},"OigXv-95l_9RpTVoswxh5":{"uri":"/melonJS/docs/melonjs/hasVideoFormat.html"},"RMBfsgun5Pz6akFWElvkm":{"uri":"/melonJS/docs/melonjs/pow.html"},"zfY0snVtF7Jeo6XwfYVOg":{"uri":"/melonJS/docs/melonjs/warning.html"},"2WCdkS7eDMfAU89ui6r-o":{"uri":"/melonJS/docs/melonjs/onresize.html"},"mGczkE87P0EJN14SYJESF":{"uri":"/melonJS/docs/melonjs/scale.html"}}} \ No newline at end of file diff --git a/docs/docs/melonjs.api.json.md5 b/docs/docs/melonjs.api.json.md5 index dc047d8e53..11bbecafbe 100644 --- a/docs/docs/melonjs.api.json.md5 +++ b/docs/docs/melonjs.api.json.md5 @@ -1 +1 @@ -7dd666ec5bfd2f791a795a77f54ff2bd \ No newline at end of file +dc997551abe9f4df4364557c027a79b3 \ No newline at end of file diff --git a/docs/docs/melonjs.html b/docs/docs/melonjs.html index fe34c3cac3..acf9f45a3f 100644 --- a/docs/docs/melonjs.html +++ b/docs/docs/melonjs.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Application.html b/docs/docs/melonjs/Application.html index 6d79f75325..b6e13ad941 100644 --- a/docs/docs/melonjs/Application.html +++ b/docs/docs/melonjs/Application.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Application/Settings.html b/docs/docs/melonjs/Application/Settings.html index f21f541501..12cc39ae2f 100644 --- a/docs/docs/melonjs/Application/Settings.html +++ b/docs/docs/melonjs/Application/Settings.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/BitmapText.html b/docs/docs/melonjs/BitmapText.html index 55b47b2d8f..2d7ba70f0d 100644 --- a/docs/docs/melonjs/BitmapText.html +++ b/docs/docs/melonjs/BitmapText.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Body.html b/docs/docs/melonjs/Body.html index 7dfc86e7ca..83ab4a9a9a 100644 --- a/docs/docs/melonjs/Body.html +++ b/docs/docs/melonjs/Body.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Bounds.html b/docs/docs/melonjs/Bounds.html index 3f804b7c99..429c453034 100644 --- a/docs/docs/melonjs/Bounds.html +++ b/docs/docs/melonjs/Bounds.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Camera2d.html b/docs/docs/melonjs/Camera2d.html index ffc5729434..18eeba31e5 100644 --- a/docs/docs/melonjs/Camera2d.html +++ b/docs/docs/melonjs/Camera2d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Camera2d/AXIS.html b/docs/docs/melonjs/Camera2d/AXIS.html index 6e4aab05e8..7f2ff4189c 100644 --- a/docs/docs/melonjs/Camera2d/AXIS.html +++ b/docs/docs/melonjs/Camera2d/AXIS.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/CanvasRenderer.html b/docs/docs/melonjs/CanvasRenderer.html index 2be1f15151..209d31da82 100644 --- a/docs/docs/melonjs/CanvasRenderer.html +++ b/docs/docs/melonjs/CanvasRenderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/CanvasTexture.html b/docs/docs/melonjs/CanvasTexture.html index a445c3b4a3..b6c66d8bc8 100644 --- a/docs/docs/melonjs/CanvasTexture.html +++ b/docs/docs/melonjs/CanvasTexture.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Collectable.html b/docs/docs/melonjs/Collectable.html index 35eef0c761..437f884b08 100644 --- a/docs/docs/melonjs/Collectable.html +++ b/docs/docs/melonjs/Collectable.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Color.html b/docs/docs/melonjs/Color.html index 89eec7dddf..cf59385312 100644 --- a/docs/docs/melonjs/Color.html +++ b/docs/docs/melonjs/Color.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ColorLayer.html b/docs/docs/melonjs/ColorLayer.html index ab42adf664..38662ca037 100644 --- a/docs/docs/melonjs/ColorLayer.html +++ b/docs/docs/melonjs/ColorLayer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Compositor.html b/docs/docs/melonjs/Compositor.html index 1882b9cd08..5f4fb6baa7 100644 --- a/docs/docs/melonjs/Compositor.html +++ b/docs/docs/melonjs/Compositor.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Container.html b/docs/docs/melonjs/Container.html index 590c85bcc6..fa8bb28d8d 100644 --- a/docs/docs/melonjs/Container.html +++ b/docs/docs/melonjs/Container.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Detector.html b/docs/docs/melonjs/Detector.html index 92e882a9cc..ceb627a2dd 100644 --- a/docs/docs/melonjs/Detector.html +++ b/docs/docs/melonjs/Detector.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Draggable.html b/docs/docs/melonjs/Draggable.html index 8de4498f23..ebb45e5399 100644 --- a/docs/docs/melonjs/Draggable.html +++ b/docs/docs/melonjs/Draggable.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/DraggableEntity.html b/docs/docs/melonjs/DraggableEntity.html index 4cd0c86012..8c4d30c601 100644 --- a/docs/docs/melonjs/DraggableEntity.html +++ b/docs/docs/melonjs/DraggableEntity.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/DropTarget.html b/docs/docs/melonjs/DropTarget.html index 11ae88f27c..a67d0d1eb7 100644 --- a/docs/docs/melonjs/DropTarget.html +++ b/docs/docs/melonjs/DropTarget.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/DroptargetEntity.html b/docs/docs/melonjs/DroptargetEntity.html index 52b172af50..475a1daff3 100644 --- a/docs/docs/melonjs/DroptargetEntity.html +++ b/docs/docs/melonjs/DroptargetEntity.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Ellipse.html b/docs/docs/melonjs/Ellipse.html index 0183434ddf..8e9234de3d 100644 --- a/docs/docs/melonjs/Ellipse.html +++ b/docs/docs/melonjs/Ellipse.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Entity.html b/docs/docs/melonjs/Entity.html index 06b9072909..1fd445fcb5 100644 --- a/docs/docs/melonjs/Entity.html +++ b/docs/docs/melonjs/Entity.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/GLShader.html b/docs/docs/melonjs/GLShader.html index 69c8011b7b..4f77416c2a 100644 --- a/docs/docs/melonjs/GLShader.html +++ b/docs/docs/melonjs/GLShader.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/GUI_Object.html b/docs/docs/melonjs/GUI_Object.html index 2c2ce96211..92f282a095 100644 --- a/docs/docs/melonjs/GUI_Object.html +++ b/docs/docs/melonjs/GUI_Object.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ImageLayer.html b/docs/docs/melonjs/ImageLayer.html index b67cbeab7e..e82dd2b209 100644 --- a/docs/docs/melonjs/ImageLayer.html +++ b/docs/docs/melonjs/ImageLayer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Light2d.html b/docs/docs/melonjs/Light2d.html index efac012746..2f1bb641f5 100644 --- a/docs/docs/melonjs/Light2d.html +++ b/docs/docs/melonjs/Light2d.html @@ -1,5 +1,5 @@ - + @@ -410,6 +410,22 @@

                              Methods from Light2d

                              + + + + boolean + + + +
                              + update(dt: number) +
                              +
                              + +
                              + + + @@ -1333,22 +1349,6 @@

                              Methods inherited from Renderable

                              - - - - boolean - - - -
                              - update(dt: number) -
                              -
                              - -
                              - - - @@ -2064,6 +2064,111 @@

                              Public Methods

                              + + + + +
                              + +
                              + + + + + update + + + + + + light2d.js:121 + + + +
                              + + +
                              update(dt: number) → {boolean}
                              + +
                              + +
                              + +
                              +
                              +

                              update function

                              +
                              + + + + + + + +
                              + + + + + + + + + + + + + + + + + + + + +
                              Parameters:
                              NameTypeDescription
                              + dt + + number + +

                              time since the last update in milliseconds.

                              +
                              +
                              + + + + + +
                              + + + + + + + + + + + + + + +
                              Returns:
                              TypeDescription
                              + boolean + + +

                              true if dirty

                              + +
                              +
                              + + +
                              @@ -2093,7 +2198,7 @@

                              Protected Methods

                              - light2d.js:121 + light2d.js:130 @@ -2233,6 +2338,10 @@

                              Protected Methods

                              getVisibleArea
                            • +
                            • + update +
                            • +
                            diff --git a/docs/docs/melonjs/Line.html b/docs/docs/melonjs/Line.html index a01353b195..83ebc0e662 100644 --- a/docs/docs/melonjs/Line.html +++ b/docs/docs/melonjs/Line.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math.html b/docs/docs/melonjs/Math.html index a151b16ed5..9168644195 100644 --- a/docs/docs/melonjs/Math.html +++ b/docs/docs/melonjs/Math.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/clamp.html b/docs/docs/melonjs/Math/clamp.html index 9198a0a4cb..35ef423b43 100644 --- a/docs/docs/melonjs/Math/clamp.html +++ b/docs/docs/melonjs/Math/clamp.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/degToRad.html b/docs/docs/melonjs/Math/degToRad.html index edcdae540b..40607798f3 100644 --- a/docs/docs/melonjs/Math/degToRad.html +++ b/docs/docs/melonjs/Math/degToRad.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/isPowerOfTwo.html b/docs/docs/melonjs/Math/isPowerOfTwo.html index 272e96e69f..9914cd3d81 100644 --- a/docs/docs/melonjs/Math/isPowerOfTwo.html +++ b/docs/docs/melonjs/Math/isPowerOfTwo.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/nextPowerOfTwo.html b/docs/docs/melonjs/Math/nextPowerOfTwo.html index 6649e0cb10..51ef32f06e 100644 --- a/docs/docs/melonjs/Math/nextPowerOfTwo.html +++ b/docs/docs/melonjs/Math/nextPowerOfTwo.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/radToDeg.html b/docs/docs/melonjs/Math/radToDeg.html index af37e0651d..bc82c92d65 100644 --- a/docs/docs/melonjs/Math/radToDeg.html +++ b/docs/docs/melonjs/Math/radToDeg.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/random.html b/docs/docs/melonjs/Math/random.html index a012b5a9b1..10ff6755ef 100644 --- a/docs/docs/melonjs/Math/random.html +++ b/docs/docs/melonjs/Math/random.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/randomFloat.html b/docs/docs/melonjs/Math/randomFloat.html index c40db5f377..0defc49f03 100644 --- a/docs/docs/melonjs/Math/randomFloat.html +++ b/docs/docs/melonjs/Math/randomFloat.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/round.html b/docs/docs/melonjs/Math/round.html index 9f1e33b2b4..a13828a9ae 100644 --- a/docs/docs/melonjs/Math/round.html +++ b/docs/docs/melonjs/Math/round.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/toBeCloseTo.html b/docs/docs/melonjs/Math/toBeCloseTo.html index 6782b73087..024f682bb0 100644 --- a/docs/docs/melonjs/Math/toBeCloseTo.html +++ b/docs/docs/melonjs/Math/toBeCloseTo.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/weightedRandom.html b/docs/docs/melonjs/Math/weightedRandom.html index 18111d9743..674e6e7ff0 100644 --- a/docs/docs/melonjs/Math/weightedRandom.html +++ b/docs/docs/melonjs/Math/weightedRandom.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Matrix2d.html b/docs/docs/melonjs/Matrix2d.html index 18055aefa3..fd9c5b36fc 100644 --- a/docs/docs/melonjs/Matrix2d.html +++ b/docs/docs/melonjs/Matrix2d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Matrix3d.html b/docs/docs/melonjs/Matrix3d.html index e883878625..8b5bfc8840 100644 --- a/docs/docs/melonjs/Matrix3d.html +++ b/docs/docs/melonjs/Matrix3d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/NineSliceSprite.html b/docs/docs/melonjs/NineSliceSprite.html index 4065858cff..6a08e1985d 100644 --- a/docs/docs/melonjs/NineSliceSprite.html +++ b/docs/docs/melonjs/NineSliceSprite.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ObjectPool.html b/docs/docs/melonjs/ObjectPool.html index 53d48ae28b..be67b905a0 100644 --- a/docs/docs/melonjs/ObjectPool.html +++ b/docs/docs/melonjs/ObjectPool.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ObservableVector2d.html b/docs/docs/melonjs/ObservableVector2d.html index 633609a18e..00068c7a8e 100644 --- a/docs/docs/melonjs/ObservableVector2d.html +++ b/docs/docs/melonjs/ObservableVector2d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ObservableVector3d.html b/docs/docs/melonjs/ObservableVector3d.html index da46426ea6..1cea0d4c63 100644 --- a/docs/docs/melonjs/ObservableVector3d.html +++ b/docs/docs/melonjs/ObservableVector3d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Particle.html b/docs/docs/melonjs/Particle.html index eb3367063e..d4d343a579 100644 --- a/docs/docs/melonjs/Particle.html +++ b/docs/docs/melonjs/Particle.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ParticleEmitter.html b/docs/docs/melonjs/ParticleEmitter.html index 53effe5a73..1b8dd20eab 100644 --- a/docs/docs/melonjs/ParticleEmitter.html +++ b/docs/docs/melonjs/ParticleEmitter.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ParticleEmitterSettings.html b/docs/docs/melonjs/ParticleEmitterSettings.html index 330262adf7..b7d27c1bf1 100644 --- a/docs/docs/melonjs/ParticleEmitterSettings.html +++ b/docs/docs/melonjs/ParticleEmitterSettings.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Path2D.html b/docs/docs/melonjs/Path2D.html index 0ebe8228b1..cbbbd56bb4 100644 --- a/docs/docs/melonjs/Path2D.html +++ b/docs/docs/melonjs/Path2D.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Point.html b/docs/docs/melonjs/Point.html index d4a7591e34..487e4c0178 100644 --- a/docs/docs/melonjs/Point.html +++ b/docs/docs/melonjs/Point.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Pointer.html b/docs/docs/melonjs/Pointer.html index 9321ea5955..ba737c8b53 100644 --- a/docs/docs/melonjs/Pointer.html +++ b/docs/docs/melonjs/Pointer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Polygon.html b/docs/docs/melonjs/Polygon.html index c199cab740..b107fd2f2b 100644 --- a/docs/docs/melonjs/Polygon.html +++ b/docs/docs/melonjs/Polygon.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/PrimitiveCompositor.html b/docs/docs/melonjs/PrimitiveCompositor.html index b8c14c7c62..83ed9db1f6 100644 --- a/docs/docs/melonjs/PrimitiveCompositor.html +++ b/docs/docs/melonjs/PrimitiveCompositor.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/QuadCompositor.html b/docs/docs/melonjs/QuadCompositor.html index ce9c70926d..1b7fd79a7e 100644 --- a/docs/docs/melonjs/QuadCompositor.html +++ b/docs/docs/melonjs/QuadCompositor.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/QuadTree.html b/docs/docs/melonjs/QuadTree.html index f7065d738c..c340b8a93e 100644 --- a/docs/docs/melonjs/QuadTree.html +++ b/docs/docs/melonjs/QuadTree.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Rect.html b/docs/docs/melonjs/Rect.html index 455b5e4003..51e1796d03 100644 --- a/docs/docs/melonjs/Rect.html +++ b/docs/docs/melonjs/Rect.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Renderable.html b/docs/docs/melonjs/Renderable.html index 6189e43b40..27cb5dfb1c 100644 --- a/docs/docs/melonjs/Renderable.html +++ b/docs/docs/melonjs/Renderable.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Renderer.html b/docs/docs/melonjs/Renderer.html index 9648ded1f1..5042dce2dd 100644 --- a/docs/docs/melonjs/Renderer.html +++ b/docs/docs/melonjs/Renderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Renderer/Texture.html b/docs/docs/melonjs/Renderer/Texture.html index 32d5929397..f6e4218007 100644 --- a/docs/docs/melonjs/Renderer/Texture.html +++ b/docs/docs/melonjs/Renderer/Texture.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Renderer/getHeight.html b/docs/docs/melonjs/Renderer/getHeight.html index 1d4856d610..69c92d5d3e 100644 --- a/docs/docs/melonjs/Renderer/getHeight.html +++ b/docs/docs/melonjs/Renderer/getHeight.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Renderer/getWidth.html b/docs/docs/melonjs/Renderer/getWidth.html index b1db5bc5f3..d6c224e15a 100644 --- a/docs/docs/melonjs/Renderer/getWidth.html +++ b/docs/docs/melonjs/Renderer/getWidth.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/ResponseObject.html b/docs/docs/melonjs/ResponseObject.html index 2fdd94c000..a7f4345805 100644 --- a/docs/docs/melonjs/ResponseObject.html +++ b/docs/docs/melonjs/ResponseObject.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/RoundRect.html b/docs/docs/melonjs/RoundRect.html index e109dd4f75..47af7c83dd 100644 --- a/docs/docs/melonjs/RoundRect.html +++ b/docs/docs/melonjs/RoundRect.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Sprite.html b/docs/docs/melonjs/Sprite.html index 6d634fcba5..eb860da756 100644 --- a/docs/docs/melonjs/Sprite.html +++ b/docs/docs/melonjs/Sprite.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Stage.html b/docs/docs/melonjs/Stage.html index 9cf99603e3..e6b1d4ad15 100644 --- a/docs/docs/melonjs/Stage.html +++ b/docs/docs/melonjs/Stage.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXHexagonalRenderer.html b/docs/docs/melonjs/TMXHexagonalRenderer.html index 64e7668ca6..a5afd47332 100644 --- a/docs/docs/melonjs/TMXHexagonalRenderer.html +++ b/docs/docs/melonjs/TMXHexagonalRenderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXIsometricRenderer.html b/docs/docs/melonjs/TMXIsometricRenderer.html index 3b64ed5de3..6c61b8ad95 100644 --- a/docs/docs/melonjs/TMXIsometricRenderer.html +++ b/docs/docs/melonjs/TMXIsometricRenderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXLayer.html b/docs/docs/melonjs/TMXLayer.html index bb118c5f11..b9c2aafabe 100644 --- a/docs/docs/melonjs/TMXLayer.html +++ b/docs/docs/melonjs/TMXLayer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXOrthogonalRenderer.html b/docs/docs/melonjs/TMXOrthogonalRenderer.html index 25475e5cd8..fda29f4cc0 100644 --- a/docs/docs/melonjs/TMXOrthogonalRenderer.html +++ b/docs/docs/melonjs/TMXOrthogonalRenderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXRenderer.html b/docs/docs/melonjs/TMXRenderer.html index e8a5692077..727c1ee313 100644 --- a/docs/docs/melonjs/TMXRenderer.html +++ b/docs/docs/melonjs/TMXRenderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXStaggeredRenderer.html b/docs/docs/melonjs/TMXStaggeredRenderer.html index 110711bf3b..82901efe60 100644 --- a/docs/docs/melonjs/TMXStaggeredRenderer.html +++ b/docs/docs/melonjs/TMXStaggeredRenderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXTileMap.html b/docs/docs/melonjs/TMXTileMap.html index 1239a859c3..81b4e9166a 100644 --- a/docs/docs/melonjs/TMXTileMap.html +++ b/docs/docs/melonjs/TMXTileMap.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXTileset.html b/docs/docs/melonjs/TMXTileset.html index 64cee43fac..3d19434b32 100644 --- a/docs/docs/melonjs/TMXTileset.html +++ b/docs/docs/melonjs/TMXTileset.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXTilesetGroup.html b/docs/docs/melonjs/TMXTilesetGroup.html index 3503627155..9df17bf5dc 100644 --- a/docs/docs/melonjs/TMXTilesetGroup.html +++ b/docs/docs/melonjs/TMXTilesetGroup.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils.html b/docs/docs/melonjs/TMXUtils.html index 926676b055..6f9c09c74c 100644 --- a/docs/docs/melonjs/TMXUtils.html +++ b/docs/docs/melonjs/TMXUtils.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils/applyTMXProperties.html b/docs/docs/melonjs/TMXUtils/applyTMXProperties.html index 3f570dcd4e..fa308d5ae8 100644 --- a/docs/docs/melonjs/TMXUtils/applyTMXProperties.html +++ b/docs/docs/melonjs/TMXUtils/applyTMXProperties.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils/decode.html b/docs/docs/melonjs/TMXUtils/decode.html index bd0cd015b2..b393522146 100644 --- a/docs/docs/melonjs/TMXUtils/decode.html +++ b/docs/docs/melonjs/TMXUtils/decode.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils/decodeBase64AsArray.html b/docs/docs/melonjs/TMXUtils/decodeBase64AsArray.html index 1dd4ab96ce..5caa6685ee 100644 --- a/docs/docs/melonjs/TMXUtils/decodeBase64AsArray.html +++ b/docs/docs/melonjs/TMXUtils/decodeBase64AsArray.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils/decodeCSV.html b/docs/docs/melonjs/TMXUtils/decodeCSV.html index e89b4b625d..eca2ac212e 100644 --- a/docs/docs/melonjs/TMXUtils/decodeCSV.html +++ b/docs/docs/melonjs/TMXUtils/decodeCSV.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils/decompress.html b/docs/docs/melonjs/TMXUtils/decompress.html index d3619fadcf..c75affaec5 100644 --- a/docs/docs/melonjs/TMXUtils/decompress.html +++ b/docs/docs/melonjs/TMXUtils/decompress.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils/parse.html b/docs/docs/melonjs/TMXUtils/parse.html index d752fb2a87..8a191dd18e 100644 --- a/docs/docs/melonjs/TMXUtils/parse.html +++ b/docs/docs/melonjs/TMXUtils/parse.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TMXUtils/setInflateFunction.html b/docs/docs/melonjs/TMXUtils/setInflateFunction.html index 00cd392547..57ecf746dc 100644 --- a/docs/docs/melonjs/TMXUtils/setInflateFunction.html +++ b/docs/docs/melonjs/TMXUtils/setInflateFunction.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Text.html b/docs/docs/melonjs/Text.html index 77be16254a..0f99c1f83e 100644 --- a/docs/docs/melonjs/Text.html +++ b/docs/docs/melonjs/Text.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TextMetrics.html b/docs/docs/melonjs/TextMetrics.html index 24486fe925..2eefe11f13 100644 --- a/docs/docs/melonjs/TextMetrics.html +++ b/docs/docs/melonjs/TextMetrics.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/TextureAtlas.html b/docs/docs/melonjs/TextureAtlas.html index bbd4d95a2e..52cc6b7ac9 100644 --- a/docs/docs/melonjs/TextureAtlas.html +++ b/docs/docs/melonjs/TextureAtlas.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Tile.html b/docs/docs/melonjs/Tile.html index 02feb9ef73..803d40ffa0 100644 --- a/docs/docs/melonjs/Tile.html +++ b/docs/docs/melonjs/Tile.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Timer_.html b/docs/docs/melonjs/Timer_.html index a4361b80a1..a5c51a402f 100644 --- a/docs/docs/melonjs/Timer_.html +++ b/docs/docs/melonjs/Timer_.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Trigger.html b/docs/docs/melonjs/Trigger.html index 8e1ad95ddd..98a2bdfe67 100644 --- a/docs/docs/melonjs/Trigger.html +++ b/docs/docs/melonjs/Trigger.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Tween.html b/docs/docs/melonjs/Tween.html index 69c9204853..bc35469f6e 100644 --- a/docs/docs/melonjs/Tween.html +++ b/docs/docs/melonjs/Tween.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Tween/Easing.html b/docs/docs/melonjs/Tween/Easing.html index 9ec293765f..1a395a392a 100644 --- a/docs/docs/melonjs/Tween/Easing.html +++ b/docs/docs/melonjs/Tween/Easing.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Tween/Interpolation.html b/docs/docs/melonjs/Tween/Interpolation.html index 8d2baea1c5..42b2219517 100644 --- a/docs/docs/melonjs/Tween/Interpolation.html +++ b/docs/docs/melonjs/Tween/Interpolation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/UIBaseElement.html b/docs/docs/melonjs/UIBaseElement.html index 9640912bfb..405ad60ca5 100644 --- a/docs/docs/melonjs/UIBaseElement.html +++ b/docs/docs/melonjs/UIBaseElement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/UISpriteElement.html b/docs/docs/melonjs/UISpriteElement.html index 4019299bf8..7689926df5 100644 --- a/docs/docs/melonjs/UISpriteElement.html +++ b/docs/docs/melonjs/UISpriteElement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/UITextButton.html b/docs/docs/melonjs/UITextButton.html index 493103b5dd..e9b11d14b4 100644 --- a/docs/docs/melonjs/UITextButton.html +++ b/docs/docs/melonjs/UITextButton.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Vector2d.html b/docs/docs/melonjs/Vector2d.html index 78b540e7ce..17344c4925 100644 --- a/docs/docs/melonjs/Vector2d.html +++ b/docs/docs/melonjs/Vector2d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Vector3d.html b/docs/docs/melonjs/Vector3d.html index ae04a5ae4a..b3b8888017 100644 --- a/docs/docs/melonjs/Vector3d.html +++ b/docs/docs/melonjs/Vector3d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/WebGLRenderer.html b/docs/docs/melonjs/WebGLRenderer.html index 2fd8ba8b9c..7b26d5ac19 100644 --- a/docs/docs/melonjs/WebGLRenderer.html +++ b/docs/docs/melonjs/WebGLRenderer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/World.html b/docs/docs/melonjs/World.html index 5755f88ca9..447dc5ef8c 100644 --- a/docs/docs/melonjs/World.html +++ b/docs/docs/melonjs/World.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio.html b/docs/docs/melonjs/audio.html index 1b0826ee88..8e4ff291f7 100644 --- a/docs/docs/melonjs/audio.html +++ b/docs/docs/melonjs/audio.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/disable.html b/docs/docs/melonjs/audio/disable.html index 52588761d4..319d6f0f43 100644 --- a/docs/docs/melonjs/audio/disable.html +++ b/docs/docs/melonjs/audio/disable.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/enable.html b/docs/docs/melonjs/audio/enable.html index 7e75df5815..40d042bb04 100644 --- a/docs/docs/melonjs/audio/enable.html +++ b/docs/docs/melonjs/audio/enable.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/fade.html b/docs/docs/melonjs/audio/fade.html index 0617184f38..04e84dc267 100644 --- a/docs/docs/melonjs/audio/fade.html +++ b/docs/docs/melonjs/audio/fade.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/getCurrentTrack.html b/docs/docs/melonjs/audio/getCurrentTrack.html index 0198b532ad..f049a23256 100644 --- a/docs/docs/melonjs/audio/getCurrentTrack.html +++ b/docs/docs/melonjs/audio/getCurrentTrack.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/getVolume.html b/docs/docs/melonjs/audio/getVolume.html index 4f8c95ca2e..82daae7913 100644 --- a/docs/docs/melonjs/audio/getVolume.html +++ b/docs/docs/melonjs/audio/getVolume.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/hasAudio.html b/docs/docs/melonjs/audio/hasAudio.html index ed30196da8..730328529a 100644 --- a/docs/docs/melonjs/audio/hasAudio.html +++ b/docs/docs/melonjs/audio/hasAudio.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/hasFormat.html b/docs/docs/melonjs/audio/hasFormat.html index c5f7d898fd..37c2489340 100644 --- a/docs/docs/melonjs/audio/hasFormat.html +++ b/docs/docs/melonjs/audio/hasFormat.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/init.html b/docs/docs/melonjs/audio/init.html index dc2c550c26..3999b9eb30 100644 --- a/docs/docs/melonjs/audio/init.html +++ b/docs/docs/melonjs/audio/init.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/load.html b/docs/docs/melonjs/audio/load.html index 40a340f5e8..8942f48ac7 100644 --- a/docs/docs/melonjs/audio/load.html +++ b/docs/docs/melonjs/audio/load.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/mute.html b/docs/docs/melonjs/audio/mute.html index 87e7aee51d..07c494aab7 100644 --- a/docs/docs/melonjs/audio/mute.html +++ b/docs/docs/melonjs/audio/mute.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/muteAll.html b/docs/docs/melonjs/audio/muteAll.html index bb8448449f..242629303f 100644 --- a/docs/docs/melonjs/audio/muteAll.html +++ b/docs/docs/melonjs/audio/muteAll.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/muted.html b/docs/docs/melonjs/audio/muted.html index 5cd2b20217..902d193b7e 100644 --- a/docs/docs/melonjs/audio/muted.html +++ b/docs/docs/melonjs/audio/muted.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/pause.html b/docs/docs/melonjs/audio/pause.html index 9a4150a126..fa8bf595b3 100644 --- a/docs/docs/melonjs/audio/pause.html +++ b/docs/docs/melonjs/audio/pause.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/pauseTrack.html b/docs/docs/melonjs/audio/pauseTrack.html index 320047a65e..392cefd79e 100644 --- a/docs/docs/melonjs/audio/pauseTrack.html +++ b/docs/docs/melonjs/audio/pauseTrack.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/play.html b/docs/docs/melonjs/audio/play.html index 7f218dc57c..026eaa2e83 100644 --- a/docs/docs/melonjs/audio/play.html +++ b/docs/docs/melonjs/audio/play.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/playTrack.html b/docs/docs/melonjs/audio/playTrack.html index cbcc193feb..135070e0e4 100644 --- a/docs/docs/melonjs/audio/playTrack.html +++ b/docs/docs/melonjs/audio/playTrack.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/rate.html b/docs/docs/melonjs/audio/rate.html index d4ec8652b4..63c0180339 100644 --- a/docs/docs/melonjs/audio/rate.html +++ b/docs/docs/melonjs/audio/rate.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/resume.html b/docs/docs/melonjs/audio/resume.html index e2aef4c8f2..83e3e35948 100644 --- a/docs/docs/melonjs/audio/resume.html +++ b/docs/docs/melonjs/audio/resume.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/resumeTrack.html b/docs/docs/melonjs/audio/resumeTrack.html index 820ec1503d..6a52cdd350 100644 --- a/docs/docs/melonjs/audio/resumeTrack.html +++ b/docs/docs/melonjs/audio/resumeTrack.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/seek.html b/docs/docs/melonjs/audio/seek.html index f004db7c47..dedcbca978 100644 --- a/docs/docs/melonjs/audio/seek.html +++ b/docs/docs/melonjs/audio/seek.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/setVolume.html b/docs/docs/melonjs/audio/setVolume.html index 48444bf370..b8b88c661e 100644 --- a/docs/docs/melonjs/audio/setVolume.html +++ b/docs/docs/melonjs/audio/setVolume.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/stop.html b/docs/docs/melonjs/audio/stop.html index 1c724ce9f2..b3c98d6b38 100644 --- a/docs/docs/melonjs/audio/stop.html +++ b/docs/docs/melonjs/audio/stop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/stopTrack.html b/docs/docs/melonjs/audio/stopTrack.html index 1f627c87f6..caab173117 100644 --- a/docs/docs/melonjs/audio/stopTrack.html +++ b/docs/docs/melonjs/audio/stopTrack.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/unload.html b/docs/docs/melonjs/audio/unload.html index 8252371010..e2b151ba16 100644 --- a/docs/docs/melonjs/audio/unload.html +++ b/docs/docs/melonjs/audio/unload.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/unloadAll.html b/docs/docs/melonjs/audio/unloadAll.html index c066dd1626..f0c29aec2d 100644 --- a/docs/docs/melonjs/audio/unloadAll.html +++ b/docs/docs/melonjs/audio/unloadAll.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/unmute.html b/docs/docs/melonjs/audio/unmute.html index 13954fb756..3ec1698295 100644 --- a/docs/docs/melonjs/audio/unmute.html +++ b/docs/docs/melonjs/audio/unmute.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/audio/unmuteAll.html b/docs/docs/melonjs/audio/unmuteAll.html index aba3cac742..307c25f931 100644 --- a/docs/docs/melonjs/audio/unmuteAll.html +++ b/docs/docs/melonjs/audio/unmuteAll.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/boot.html b/docs/docs/melonjs/boot.html index d3a231b0c4..2947063114 100644 --- a/docs/docs/melonjs/boot.html +++ b/docs/docs/melonjs/boot.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/collision.html b/docs/docs/melonjs/collision.html index 99af463390..da1eab40aa 100644 --- a/docs/docs/melonjs/collision.html +++ b/docs/docs/melonjs/collision.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/collision/types.html b/docs/docs/melonjs/collision/types.html index bbd3b9314f..7c7ff963d3 100644 --- a/docs/docs/melonjs/collision/types.html +++ b/docs/docs/melonjs/collision/types.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/consoleHeader.html b/docs/docs/melonjs/consoleHeader.html index f461e21f87..a3f84c54de 100644 --- a/docs/docs/melonjs/consoleHeader.html +++ b/docs/docs/melonjs/consoleHeader.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device.html b/docs/docs/melonjs/device.html index 2dc3335b38..012ef33b94 100644 --- a/docs/docs/melonjs/device.html +++ b/docs/docs/melonjs/device.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/enableSwipe.html b/docs/docs/melonjs/device/enableSwipe.html index 9529cede90..4f3fdaf421 100644 --- a/docs/docs/melonjs/device/enableSwipe.html +++ b/docs/docs/melonjs/device/enableSwipe.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/exitFullscreen.html b/docs/docs/melonjs/device/exitFullscreen.html index 573eeb8de4..6b2ca23a1c 100644 --- a/docs/docs/melonjs/device/exitFullscreen.html +++ b/docs/docs/melonjs/device/exitFullscreen.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/focus.html b/docs/docs/melonjs/device/focus.html index 17e309a992..8ea1fc137d 100644 --- a/docs/docs/melonjs/device/focus.html +++ b/docs/docs/melonjs/device/focus.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/getElement.html b/docs/docs/melonjs/device/getElement.html index 1d76593991..1606edc6d9 100644 --- a/docs/docs/melonjs/device/getElement.html +++ b/docs/docs/melonjs/device/getElement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/getElementBounds.html b/docs/docs/melonjs/device/getElementBounds.html index 96f5790973..faef8d8af3 100644 --- a/docs/docs/melonjs/device/getElementBounds.html +++ b/docs/docs/melonjs/device/getElementBounds.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/getParentBounds.html b/docs/docs/melonjs/device/getParentBounds.html index 9ab457216e..da2eedc8fd 100644 --- a/docs/docs/melonjs/device/getParentBounds.html +++ b/docs/docs/melonjs/device/getParentBounds.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/getParentElement.html b/docs/docs/melonjs/device/getParentElement.html index d8ecee0d76..748963d33d 100644 --- a/docs/docs/melonjs/device/getParentElement.html +++ b/docs/docs/melonjs/device/getParentElement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/getScreenOrientation.html b/docs/docs/melonjs/device/getScreenOrientation.html index c413d31114..e1eb758941 100644 --- a/docs/docs/melonjs/device/getScreenOrientation.html +++ b/docs/docs/melonjs/device/getScreenOrientation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/getStorage.html b/docs/docs/melonjs/device/getStorage.html index e378d81162..27c95788e0 100644 --- a/docs/docs/melonjs/device/getStorage.html +++ b/docs/docs/melonjs/device/getStorage.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/isFullscreen.html b/docs/docs/melonjs/device/isFullscreen.html index fc8e534f84..05766c12b9 100644 --- a/docs/docs/melonjs/device/isFullscreen.html +++ b/docs/docs/melonjs/device/isFullscreen.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/isLandscape.html b/docs/docs/melonjs/device/isLandscape.html index 5b76532cb4..44c679ebb5 100644 --- a/docs/docs/melonjs/device/isLandscape.html +++ b/docs/docs/melonjs/device/isLandscape.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/isPortrait.html b/docs/docs/melonjs/device/isPortrait.html index 9f4aa3611b..f95a303236 100644 --- a/docs/docs/melonjs/device/isPortrait.html +++ b/docs/docs/melonjs/device/isPortrait.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/isWebGLSupported.html b/docs/docs/melonjs/device/isWebGLSupported.html index 67c95560a4..c925d75e33 100644 --- a/docs/docs/melonjs/device/isWebGLSupported.html +++ b/docs/docs/melonjs/device/isWebGLSupported.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/lockOrientation.html b/docs/docs/melonjs/device/lockOrientation.html index cd40141a44..df56f5ea9d 100644 --- a/docs/docs/melonjs/device/lockOrientation.html +++ b/docs/docs/melonjs/device/lockOrientation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/onReady.html b/docs/docs/melonjs/device/onReady.html index 406aa7a7bb..64d16a1bb3 100644 --- a/docs/docs/melonjs/device/onReady.html +++ b/docs/docs/melonjs/device/onReady.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/platform.html b/docs/docs/melonjs/device/platform.html index 67551c7fb3..2740b05c48 100644 --- a/docs/docs/melonjs/device/platform.html +++ b/docs/docs/melonjs/device/platform.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/requestFullscreen.html b/docs/docs/melonjs/device/requestFullscreen.html index 45c7eba342..a94db1a399 100644 --- a/docs/docs/melonjs/device/requestFullscreen.html +++ b/docs/docs/melonjs/device/requestFullscreen.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/unlockOrientation.html b/docs/docs/melonjs/device/unlockOrientation.html index 5cd35a5264..be89a30a99 100644 --- a/docs/docs/melonjs/device/unlockOrientation.html +++ b/docs/docs/melonjs/device/unlockOrientation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/unwatchAccelerometer.html b/docs/docs/melonjs/device/unwatchAccelerometer.html index 889d2f1a6b..503197c552 100644 --- a/docs/docs/melonjs/device/unwatchAccelerometer.html +++ b/docs/docs/melonjs/device/unwatchAccelerometer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/unwatchDeviceOrientation.html b/docs/docs/melonjs/device/unwatchDeviceOrientation.html index d79670f076..e34da363f0 100644 --- a/docs/docs/melonjs/device/unwatchDeviceOrientation.html +++ b/docs/docs/melonjs/device/unwatchDeviceOrientation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/vibrate.html b/docs/docs/melonjs/device/vibrate.html index a7350d74cc..37e5e7b63d 100644 --- a/docs/docs/melonjs/device/vibrate.html +++ b/docs/docs/melonjs/device/vibrate.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/watchAccelerometer.html b/docs/docs/melonjs/device/watchAccelerometer.html index 040d61b6c4..77524988d9 100644 --- a/docs/docs/melonjs/device/watchAccelerometer.html +++ b/docs/docs/melonjs/device/watchAccelerometer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/watchDeviceOrientation.html b/docs/docs/melonjs/device/watchDeviceOrientation.html index 9f3206bd88..30c8a56bd1 100644 --- a/docs/docs/melonjs/device/watchDeviceOrientation.html +++ b/docs/docs/melonjs/device/watchDeviceOrientation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/event.html b/docs/docs/melonjs/event.html index 2c2ad11f1e..e47e678193 100644 --- a/docs/docs/melonjs/event.html +++ b/docs/docs/melonjs/event.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/event/emit.html b/docs/docs/melonjs/event/emit.html index 868f8f49ca..87dd1ddc0a 100644 --- a/docs/docs/melonjs/event/emit.html +++ b/docs/docs/melonjs/event/emit.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/event/off.html b/docs/docs/melonjs/event/off.html index bed10fb698..f547f3ae1f 100644 --- a/docs/docs/melonjs/event/off.html +++ b/docs/docs/melonjs/event/off.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/event/on.html b/docs/docs/melonjs/event/on.html index ea22559225..d3dc2b2dde 100644 --- a/docs/docs/melonjs/event/on.html +++ b/docs/docs/melonjs/event/on.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/event/once.html b/docs/docs/melonjs/event/once.html index 3923809380..84ae76ac58 100644 --- a/docs/docs/melonjs/event/once.html +++ b/docs/docs/melonjs/event/once.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/fetchData.html b/docs/docs/melonjs/fetchData.html index ba766e42f6..d6aaa27d53 100644 --- a/docs/docs/melonjs/fetchData.html +++ b/docs/docs/melonjs/fetchData.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/game.html b/docs/docs/melonjs/game.html index 63e98c6577..c34327f033 100644 --- a/docs/docs/melonjs/game.html +++ b/docs/docs/melonjs/game.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/hasVideoFormat.html b/docs/docs/melonjs/hasVideoFormat.html index 74242b7887..8a80034ffb 100644 --- a/docs/docs/melonjs/hasVideoFormat.html +++ b/docs/docs/melonjs/hasVideoFormat.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input.html b/docs/docs/melonjs/input.html index eefd733a44..13c9dacb43 100644 --- a/docs/docs/melonjs/input.html +++ b/docs/docs/melonjs/input.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/GAMEPAD.html b/docs/docs/melonjs/input/GAMEPAD.html index 439f98ee02..b95658a517 100644 --- a/docs/docs/melonjs/input/GAMEPAD.html +++ b/docs/docs/melonjs/input/GAMEPAD.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/GAMEPAD/AXES.html b/docs/docs/melonjs/input/GAMEPAD/AXES.html index 0c640130b6..f0ca745e3a 100644 --- a/docs/docs/melonjs/input/GAMEPAD/AXES.html +++ b/docs/docs/melonjs/input/GAMEPAD/AXES.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/GAMEPAD/BUTTONS.html b/docs/docs/melonjs/input/GAMEPAD/BUTTONS.html index a953053bdb..5c05077dbb 100644 --- a/docs/docs/melonjs/input/GAMEPAD/BUTTONS.html +++ b/docs/docs/melonjs/input/GAMEPAD/BUTTONS.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/KEY.html b/docs/docs/melonjs/input/KEY.html index 9cd8697447..0c57e5b352 100644 --- a/docs/docs/melonjs/input/KEY.html +++ b/docs/docs/melonjs/input/KEY.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/bindGamepad.html b/docs/docs/melonjs/input/bindGamepad.html index 16d134a0f1..f97cdb77c9 100644 --- a/docs/docs/melonjs/input/bindGamepad.html +++ b/docs/docs/melonjs/input/bindGamepad.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/bindKey.html b/docs/docs/melonjs/input/bindKey.html index 244dbef565..31c5165252 100644 --- a/docs/docs/melonjs/input/bindKey.html +++ b/docs/docs/melonjs/input/bindKey.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/bindPointer.html b/docs/docs/melonjs/input/bindPointer.html index 19331593fe..67fc838850 100644 --- a/docs/docs/melonjs/input/bindPointer.html +++ b/docs/docs/melonjs/input/bindPointer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/exitPointerLock.html b/docs/docs/melonjs/input/exitPointerLock.html index 7eb7658e40..0238093ca1 100644 --- a/docs/docs/melonjs/input/exitPointerLock.html +++ b/docs/docs/melonjs/input/exitPointerLock.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/getBindingKey.html b/docs/docs/melonjs/input/getBindingKey.html index fb6033071d..d1a1e35c29 100644 --- a/docs/docs/melonjs/input/getBindingKey.html +++ b/docs/docs/melonjs/input/getBindingKey.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/globalToLocal.html b/docs/docs/melonjs/input/globalToLocal.html index b73c839f16..188737f386 100644 --- a/docs/docs/melonjs/input/globalToLocal.html +++ b/docs/docs/melonjs/input/globalToLocal.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/hasActiveEvents.html b/docs/docs/melonjs/input/hasActiveEvents.html index 57252fd4ca..58cba26f70 100644 --- a/docs/docs/melonjs/input/hasActiveEvents.html +++ b/docs/docs/melonjs/input/hasActiveEvents.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/hasRegisteredEvents.html b/docs/docs/melonjs/input/hasRegisteredEvents.html index 678b9ab15e..e72eb708d6 100644 --- a/docs/docs/melonjs/input/hasRegisteredEvents.html +++ b/docs/docs/melonjs/input/hasRegisteredEvents.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/isKeyPressed.html b/docs/docs/melonjs/input/isKeyPressed.html index 2488852fe6..dc58e0df99 100644 --- a/docs/docs/melonjs/input/isKeyPressed.html +++ b/docs/docs/melonjs/input/isKeyPressed.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/keyStatus.html b/docs/docs/melonjs/input/keyStatus.html index bdf429537d..e02e3b3f16 100644 --- a/docs/docs/melonjs/input/keyStatus.html +++ b/docs/docs/melonjs/input/keyStatus.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/registerPointerEvent.html b/docs/docs/melonjs/input/registerPointerEvent.html index abd9dfe1de..402cb0ae71 100644 --- a/docs/docs/melonjs/input/registerPointerEvent.html +++ b/docs/docs/melonjs/input/registerPointerEvent.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/releaseAllPointerEvents.html b/docs/docs/melonjs/input/releaseAllPointerEvents.html index dfe2c18b83..b9240b7fa5 100644 --- a/docs/docs/melonjs/input/releaseAllPointerEvents.html +++ b/docs/docs/melonjs/input/releaseAllPointerEvents.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/releasePointerEvent.html b/docs/docs/melonjs/input/releasePointerEvent.html index 1c47329514..7370413187 100644 --- a/docs/docs/melonjs/input/releasePointerEvent.html +++ b/docs/docs/melonjs/input/releasePointerEvent.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/requestPointerLock.html b/docs/docs/melonjs/input/requestPointerLock.html index f59938a577..492a294a56 100644 --- a/docs/docs/melonjs/input/requestPointerLock.html +++ b/docs/docs/melonjs/input/requestPointerLock.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/setGamepadDeadzone.html b/docs/docs/melonjs/input/setGamepadDeadzone.html index 6a9f7b4fe1..ffe9bcc17c 100644 --- a/docs/docs/melonjs/input/setGamepadDeadzone.html +++ b/docs/docs/melonjs/input/setGamepadDeadzone.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/setTouchAction.html b/docs/docs/melonjs/input/setTouchAction.html index 7c3769e81d..5fe1d10d71 100644 --- a/docs/docs/melonjs/input/setTouchAction.html +++ b/docs/docs/melonjs/input/setTouchAction.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/triggerKeyEvent.html b/docs/docs/melonjs/input/triggerKeyEvent.html index 11e0324b71..56fca2b2a7 100644 --- a/docs/docs/melonjs/input/triggerKeyEvent.html +++ b/docs/docs/melonjs/input/triggerKeyEvent.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/unbindGamepad.html b/docs/docs/melonjs/input/unbindGamepad.html index 40f255ff3c..60597f453e 100644 --- a/docs/docs/melonjs/input/unbindGamepad.html +++ b/docs/docs/melonjs/input/unbindGamepad.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/unbindKey.html b/docs/docs/melonjs/input/unbindKey.html index 71417cf6e8..684ddebec2 100644 --- a/docs/docs/melonjs/input/unbindKey.html +++ b/docs/docs/melonjs/input/unbindKey.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/unbindPointer.html b/docs/docs/melonjs/input/unbindPointer.html index 4f57592ea5..b146624941 100644 --- a/docs/docs/melonjs/input/unbindPointer.html +++ b/docs/docs/melonjs/input/unbindPointer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input/unlockKey.html b/docs/docs/melonjs/input/unlockKey.html index 1c61da35aa..97632e199a 100644 --- a/docs/docs/melonjs/input/unlockKey.html +++ b/docs/docs/melonjs/input/unlockKey.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/level.html b/docs/docs/melonjs/level.html index 061cae3bd5..85f71f8f9c 100644 --- a/docs/docs/melonjs/level.html +++ b/docs/docs/melonjs/level.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader.html b/docs/docs/melonjs/loader.html index f084561707..46641dc9a8 100644 --- a/docs/docs/melonjs/loader.html +++ b/docs/docs/melonjs/loader.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/Asset.html b/docs/docs/melonjs/loader/Asset.html index 7c83d05992..a03e4358a5 100644 --- a/docs/docs/melonjs/loader/Asset.html +++ b/docs/docs/melonjs/loader/Asset.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/getBinary.html b/docs/docs/melonjs/loader/getBinary.html index b1e6bb1c2d..a36b26ce7a 100644 --- a/docs/docs/melonjs/loader/getBinary.html +++ b/docs/docs/melonjs/loader/getBinary.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/getImage.html b/docs/docs/melonjs/loader/getImage.html index 2faefd4404..3b9092d87c 100644 --- a/docs/docs/melonjs/loader/getImage.html +++ b/docs/docs/melonjs/loader/getImage.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/getJSON.html b/docs/docs/melonjs/loader/getJSON.html index 809efa94bf..c61cc1c407 100644 --- a/docs/docs/melonjs/loader/getJSON.html +++ b/docs/docs/melonjs/loader/getJSON.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/getTMX.html b/docs/docs/melonjs/loader/getTMX.html index dd8eff3c10..d900e3d1c0 100644 --- a/docs/docs/melonjs/loader/getTMX.html +++ b/docs/docs/melonjs/loader/getTMX.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/getVideo.html b/docs/docs/melonjs/loader/getVideo.html index c45eeac244..ec5246f6b0 100644 --- a/docs/docs/melonjs/loader/getVideo.html +++ b/docs/docs/melonjs/loader/getVideo.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/load.html b/docs/docs/melonjs/loader/load.html index ad17b88cef..7824ca6901 100644 --- a/docs/docs/melonjs/loader/load.html +++ b/docs/docs/melonjs/loader/load.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/preload.html b/docs/docs/melonjs/loader/preload.html index 0ac9396fc8..eec9c35339 100644 --- a/docs/docs/melonjs/loader/preload.html +++ b/docs/docs/melonjs/loader/preload.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/reload.html b/docs/docs/melonjs/loader/reload.html index bc3f6dab71..c8a2bd0d6a 100644 --- a/docs/docs/melonjs/loader/reload.html +++ b/docs/docs/melonjs/loader/reload.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/setBaseURL.html b/docs/docs/melonjs/loader/setBaseURL.html index 051cadc69f..1996929806 100644 --- a/docs/docs/melonjs/loader/setBaseURL.html +++ b/docs/docs/melonjs/loader/setBaseURL.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/setParser.html b/docs/docs/melonjs/loader/setParser.html index 7b8593df1a..09715aa3ad 100644 --- a/docs/docs/melonjs/loader/setParser.html +++ b/docs/docs/melonjs/loader/setParser.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/unload.html b/docs/docs/melonjs/loader/unload.html index 2a7a8b0781..45dcc28bb4 100644 --- a/docs/docs/melonjs/loader/unload.html +++ b/docs/docs/melonjs/loader/unload.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/unloadAll.html b/docs/docs/melonjs/loader/unloadAll.html index ffbb0f3945..38ecdc4091 100644 --- a/docs/docs/melonjs/loader/unloadAll.html +++ b/docs/docs/melonjs/loader/unloadAll.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/onresize.html b/docs/docs/melonjs/onresize.html index 679b338fbf..71b77a2692 100644 --- a/docs/docs/melonjs/onresize.html +++ b/docs/docs/melonjs/onresize.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/plugin.html b/docs/docs/melonjs/plugin.html index c9a4514f45..7197de50cd 100644 --- a/docs/docs/melonjs/plugin.html +++ b/docs/docs/melonjs/plugin.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/plugin/Base.html b/docs/docs/melonjs/plugin/Base.html index 9048f451c9..8f20d30245 100644 --- a/docs/docs/melonjs/plugin/Base.html +++ b/docs/docs/melonjs/plugin/Base.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/plugin/BasePlugin.html b/docs/docs/melonjs/plugin/BasePlugin.html index 8c912b9a22..614ada8667 100644 --- a/docs/docs/melonjs/plugin/BasePlugin.html +++ b/docs/docs/melonjs/plugin/BasePlugin.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/plugin/get.html b/docs/docs/melonjs/plugin/get.html index 1e3749eefe..46f35132e8 100644 --- a/docs/docs/melonjs/plugin/get.html +++ b/docs/docs/melonjs/plugin/get.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/plugin/patch.html b/docs/docs/melonjs/plugin/patch.html index ee161914ee..671de398e5 100644 --- a/docs/docs/melonjs/plugin/patch.html +++ b/docs/docs/melonjs/plugin/patch.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/plugin/register.html b/docs/docs/melonjs/plugin/register.html index c03c464ca9..5713d40e39 100644 --- a/docs/docs/melonjs/plugin/register.html +++ b/docs/docs/melonjs/plugin/register.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/pool.html b/docs/docs/melonjs/pool.html index 6904728cea..0d1cc1a214 100644 --- a/docs/docs/melonjs/pool.html +++ b/docs/docs/melonjs/pool.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/pow.html b/docs/docs/melonjs/pow.html index 4982a71de1..727dd0d863 100644 --- a/docs/docs/melonjs/pow.html +++ b/docs/docs/melonjs/pow.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/save.html b/docs/docs/melonjs/save.html index e470adcdee..5dbd8fce1f 100644 --- a/docs/docs/melonjs/save.html +++ b/docs/docs/melonjs/save.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/scale.html b/docs/docs/melonjs/scale.html index dd50e6bcf4..6db0e3f9b1 100644 --- a/docs/docs/melonjs/scale.html +++ b/docs/docs/melonjs/scale.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/application/application.js.html b/docs/docs/melonjs/src/application/application.js.html index 2460e47e3a..ebd7aa0328 100644 --- a/docs/docs/melonjs/src/application/application.js.html +++ b/docs/docs/melonjs/src/application/application.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/application/header.js.html b/docs/docs/melonjs/src/application/header.js.html index 6abbd8d48d..7a29992041 100644 --- a/docs/docs/melonjs/src/application/header.js.html +++ b/docs/docs/melonjs/src/application/header.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/application/resize.js.html b/docs/docs/melonjs/src/application/resize.js.html index 0d4c2436bd..790a21abf8 100644 --- a/docs/docs/melonjs/src/application/resize.js.html +++ b/docs/docs/melonjs/src/application/resize.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/application/settings.js.html b/docs/docs/melonjs/src/application/settings.js.html index 565000590d..d18cf700b2 100644 --- a/docs/docs/melonjs/src/application/settings.js.html +++ b/docs/docs/melonjs/src/application/settings.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/audio/audio.js.html b/docs/docs/melonjs/src/audio/audio.js.html index 288a7ae3ed..a6889b3ab8 100644 --- a/docs/docs/melonjs/src/audio/audio.js.html +++ b/docs/docs/melonjs/src/audio/audio.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/camera/camera2d.js.html b/docs/docs/melonjs/src/camera/camera2d.js.html index c7c05e6765..58886b0769 100644 --- a/docs/docs/melonjs/src/camera/camera2d.js.html +++ b/docs/docs/melonjs/src/camera/camera2d.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/const.js.html b/docs/docs/melonjs/src/const.js.html index 2f93811121..f0f1a67e18 100644 --- a/docs/docs/melonjs/src/const.js.html +++ b/docs/docs/melonjs/src/const.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/ellipse.js.html b/docs/docs/melonjs/src/geometries/ellipse.js.html index 025c8c8e81..c75d159bdd 100644 --- a/docs/docs/melonjs/src/geometries/ellipse.js.html +++ b/docs/docs/melonjs/src/geometries/ellipse.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/line.js.html b/docs/docs/melonjs/src/geometries/line.js.html index 98c0937c93..ec4316306a 100644 --- a/docs/docs/melonjs/src/geometries/line.js.html +++ b/docs/docs/melonjs/src/geometries/line.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/path2d.js.html b/docs/docs/melonjs/src/geometries/path2d.js.html index 45287c27a9..13a86d0d81 100644 --- a/docs/docs/melonjs/src/geometries/path2d.js.html +++ b/docs/docs/melonjs/src/geometries/path2d.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/point.js.html b/docs/docs/melonjs/src/geometries/point.js.html index 7b6168a655..bf419e79c4 100644 --- a/docs/docs/melonjs/src/geometries/point.js.html +++ b/docs/docs/melonjs/src/geometries/point.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/poly.js.html b/docs/docs/melonjs/src/geometries/poly.js.html index cb8bd73f27..0044008fda 100644 --- a/docs/docs/melonjs/src/geometries/poly.js.html +++ b/docs/docs/melonjs/src/geometries/poly.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/rectangle.js.html b/docs/docs/melonjs/src/geometries/rectangle.js.html index d7fa2755ce..04e27d0ad5 100644 --- a/docs/docs/melonjs/src/geometries/rectangle.js.html +++ b/docs/docs/melonjs/src/geometries/rectangle.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/roundrect.js.html b/docs/docs/melonjs/src/geometries/roundrect.js.html index 683ebaae3c..5626d4ae64 100644 --- a/docs/docs/melonjs/src/geometries/roundrect.js.html +++ b/docs/docs/melonjs/src/geometries/roundrect.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/geometries/toarccanvas.js.html b/docs/docs/melonjs/src/geometries/toarccanvas.js.html index c10fede7d1..a8ad981599 100644 --- a/docs/docs/melonjs/src/geometries/toarccanvas.js.html +++ b/docs/docs/melonjs/src/geometries/toarccanvas.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/index.js.html b/docs/docs/melonjs/src/index.js.html index d0cbaaf2d1..76e8573157 100644 --- a/docs/docs/melonjs/src/index.js.html +++ b/docs/docs/melonjs/src/index.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/input/gamepad.js.html b/docs/docs/melonjs/src/input/gamepad.js.html index a89294cae5..f14be1497d 100644 --- a/docs/docs/melonjs/src/input/gamepad.js.html +++ b/docs/docs/melonjs/src/input/gamepad.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/input/input.js.html b/docs/docs/melonjs/src/input/input.js.html index 4a3e203512..9a3460581b 100644 --- a/docs/docs/melonjs/src/input/input.js.html +++ b/docs/docs/melonjs/src/input/input.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/input/keyboard.js.html b/docs/docs/melonjs/src/input/keyboard.js.html index d40a174717..b6a0030785 100644 --- a/docs/docs/melonjs/src/input/keyboard.js.html +++ b/docs/docs/melonjs/src/input/keyboard.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/input/pointer.js.html b/docs/docs/melonjs/src/input/pointer.js.html index fe3a81cb8e..ddce38c94d 100644 --- a/docs/docs/melonjs/src/input/pointer.js.html +++ b/docs/docs/melonjs/src/input/pointer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/input/pointerevent.js.html b/docs/docs/melonjs/src/input/pointerevent.js.html index 1d5b138b67..5dae822c33 100644 --- a/docs/docs/melonjs/src/input/pointerevent.js.html +++ b/docs/docs/melonjs/src/input/pointerevent.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/lang/console.js.html b/docs/docs/melonjs/src/lang/console.js.html index 79613b5d58..ba6819a429 100644 --- a/docs/docs/melonjs/src/lang/console.js.html +++ b/docs/docs/melonjs/src/lang/console.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/lang/deprecated.js.html b/docs/docs/melonjs/src/lang/deprecated.js.html index ca525775c2..21f5c4a9d8 100644 --- a/docs/docs/melonjs/src/lang/deprecated.js.html +++ b/docs/docs/melonjs/src/lang/deprecated.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/level.js.html b/docs/docs/melonjs/src/level/level.js.html index 4c24a3f47e..4a533aa787 100644 --- a/docs/docs/melonjs/src/level/level.js.html +++ b/docs/docs/melonjs/src/level/level.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXGroup.js.html b/docs/docs/melonjs/src/level/tiled/TMXGroup.js.html index afea05b1d1..263693b741 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXGroup.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXGroup.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXLayer.js.html b/docs/docs/melonjs/src/level/tiled/TMXLayer.js.html index 97ae0eee9b..9b93868b49 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXLayer.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXLayer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXObject.js.html b/docs/docs/melonjs/src/level/tiled/TMXObject.js.html index 8a1d733a82..ab50923932 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXObject.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXObject.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXTile.js.html b/docs/docs/melonjs/src/level/tiled/TMXTile.js.html index 5209e309b9..5edc7b3fe2 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXTile.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXTile.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXTileMap.js.html b/docs/docs/melonjs/src/level/tiled/TMXTileMap.js.html index 1e266885b6..ac79f7da53 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXTileMap.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXTileMap.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXTileset.js.html b/docs/docs/melonjs/src/level/tiled/TMXTileset.js.html index c02d6736a3..20ea4de744 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXTileset.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXTileset.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXTilesetGroup.js.html b/docs/docs/melonjs/src/level/tiled/TMXTilesetGroup.js.html index b07fa6949e..08154aad7f 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXTilesetGroup.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXTilesetGroup.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/TMXUtils.js.html b/docs/docs/melonjs/src/level/tiled/TMXUtils.js.html index 9a13b09e0f..3ff98f040f 100644 --- a/docs/docs/melonjs/src/level/tiled/TMXUtils.js.html +++ b/docs/docs/melonjs/src/level/tiled/TMXUtils.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/constants.js.html b/docs/docs/melonjs/src/level/tiled/constants.js.html index 212550bb8e..34948d6e09 100644 --- a/docs/docs/melonjs/src/level/tiled/constants.js.html +++ b/docs/docs/melonjs/src/level/tiled/constants.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/renderer/TMXHexagonalRenderer.js.html b/docs/docs/melonjs/src/level/tiled/renderer/TMXHexagonalRenderer.js.html index 1e1e5fd140..839cba6a5f 100644 --- a/docs/docs/melonjs/src/level/tiled/renderer/TMXHexagonalRenderer.js.html +++ b/docs/docs/melonjs/src/level/tiled/renderer/TMXHexagonalRenderer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/renderer/TMXIsometricRenderer.js.html b/docs/docs/melonjs/src/level/tiled/renderer/TMXIsometricRenderer.js.html index e03ad9cf43..f3bf61cbbf 100644 --- a/docs/docs/melonjs/src/level/tiled/renderer/TMXIsometricRenderer.js.html +++ b/docs/docs/melonjs/src/level/tiled/renderer/TMXIsometricRenderer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/renderer/TMXOrthogonalRenderer.js.html b/docs/docs/melonjs/src/level/tiled/renderer/TMXOrthogonalRenderer.js.html index 4241cc7913..44e84d5fb8 100644 --- a/docs/docs/melonjs/src/level/tiled/renderer/TMXOrthogonalRenderer.js.html +++ b/docs/docs/melonjs/src/level/tiled/renderer/TMXOrthogonalRenderer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/renderer/TMXRenderer.js.html b/docs/docs/melonjs/src/level/tiled/renderer/TMXRenderer.js.html index 5fa764adff..0767f962b6 100644 --- a/docs/docs/melonjs/src/level/tiled/renderer/TMXRenderer.js.html +++ b/docs/docs/melonjs/src/level/tiled/renderer/TMXRenderer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/renderer/TMXStaggeredRenderer.js.html b/docs/docs/melonjs/src/level/tiled/renderer/TMXStaggeredRenderer.js.html index ef93a45496..bc3fc19f98 100644 --- a/docs/docs/melonjs/src/level/tiled/renderer/TMXStaggeredRenderer.js.html +++ b/docs/docs/melonjs/src/level/tiled/renderer/TMXStaggeredRenderer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/level/tiled/renderer/autodetect.js.html b/docs/docs/melonjs/src/level/tiled/renderer/autodetect.js.html index ab9ce6a798..dfb47ac67f 100644 --- a/docs/docs/melonjs/src/level/tiled/renderer/autodetect.js.html +++ b/docs/docs/melonjs/src/level/tiled/renderer/autodetect.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/cache.js.html b/docs/docs/melonjs/src/loader/cache.js.html index d2344b9a8a..c674c97551 100644 --- a/docs/docs/melonjs/src/loader/cache.js.html +++ b/docs/docs/melonjs/src/loader/cache.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/loader.js.html b/docs/docs/melonjs/src/loader/loader.js.html index 1c75b45cd8..00738d48e4 100644 --- a/docs/docs/melonjs/src/loader/loader.js.html +++ b/docs/docs/melonjs/src/loader/loader.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/loadingscreen.js.html b/docs/docs/melonjs/src/loader/loadingscreen.js.html index a56cac1530..b15dd3afc0 100644 --- a/docs/docs/melonjs/src/loader/loadingscreen.js.html +++ b/docs/docs/melonjs/src/loader/loadingscreen.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/binary.js.html b/docs/docs/melonjs/src/loader/parsers/binary.js.html index f6a4350a1c..0a21070eaa 100644 --- a/docs/docs/melonjs/src/loader/parsers/binary.js.html +++ b/docs/docs/melonjs/src/loader/parsers/binary.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/fetchdata.js.html b/docs/docs/melonjs/src/loader/parsers/fetchdata.js.html index f34a5a315e..e2c15b614d 100644 --- a/docs/docs/melonjs/src/loader/parsers/fetchdata.js.html +++ b/docs/docs/melonjs/src/loader/parsers/fetchdata.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/fontface.js.html b/docs/docs/melonjs/src/loader/parsers/fontface.js.html index d2a31de019..c666c79bf2 100644 --- a/docs/docs/melonjs/src/loader/parsers/fontface.js.html +++ b/docs/docs/melonjs/src/loader/parsers/fontface.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/image.js.html b/docs/docs/melonjs/src/loader/parsers/image.js.html index 3b805f03bd..5a1ecccda1 100644 --- a/docs/docs/melonjs/src/loader/parsers/image.js.html +++ b/docs/docs/melonjs/src/loader/parsers/image.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/json.js.html b/docs/docs/melonjs/src/loader/parsers/json.js.html index 160ada92bd..0ff7d74c7c 100644 --- a/docs/docs/melonjs/src/loader/parsers/json.js.html +++ b/docs/docs/melonjs/src/loader/parsers/json.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/script.js.html b/docs/docs/melonjs/src/loader/parsers/script.js.html index 4211c940c1..fc0657475f 100644 --- a/docs/docs/melonjs/src/loader/parsers/script.js.html +++ b/docs/docs/melonjs/src/loader/parsers/script.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/tmx.js.html b/docs/docs/melonjs/src/loader/parsers/tmx.js.html index e04008ef31..9d745c74fc 100644 --- a/docs/docs/melonjs/src/loader/parsers/tmx.js.html +++ b/docs/docs/melonjs/src/loader/parsers/tmx.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/parsers/video.js.html b/docs/docs/melonjs/src/loader/parsers/video.js.html index b48ba662c4..657ee92c6a 100644 --- a/docs/docs/melonjs/src/loader/parsers/video.js.html +++ b/docs/docs/melonjs/src/loader/parsers/video.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/loader/settings.js.html b/docs/docs/melonjs/src/loader/settings.js.html index 0c24827883..1ae3249f22 100644 --- a/docs/docs/melonjs/src/loader/settings.js.html +++ b/docs/docs/melonjs/src/loader/settings.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/color.js.html b/docs/docs/melonjs/src/math/color.js.html index f5d22b6e50..1c3687ed56 100644 --- a/docs/docs/melonjs/src/math/color.js.html +++ b/docs/docs/melonjs/src/math/color.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/math.js.html b/docs/docs/melonjs/src/math/math.js.html index 6cf9bf0796..e84ba00c93 100644 --- a/docs/docs/melonjs/src/math/math.js.html +++ b/docs/docs/melonjs/src/math/math.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/matrix2.js.html b/docs/docs/melonjs/src/math/matrix2.js.html index 7909693736..9defc9451c 100644 --- a/docs/docs/melonjs/src/math/matrix2.js.html +++ b/docs/docs/melonjs/src/math/matrix2.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/matrix3.js.html b/docs/docs/melonjs/src/math/matrix3.js.html index 62b403f2e6..4e5682b82b 100644 --- a/docs/docs/melonjs/src/math/matrix3.js.html +++ b/docs/docs/melonjs/src/math/matrix3.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/observable_vector2.js.html b/docs/docs/melonjs/src/math/observable_vector2.js.html index 800d049fb4..326d958e2e 100644 --- a/docs/docs/melonjs/src/math/observable_vector2.js.html +++ b/docs/docs/melonjs/src/math/observable_vector2.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/observable_vector3.js.html b/docs/docs/melonjs/src/math/observable_vector3.js.html index ab0defedc0..821c03c536 100644 --- a/docs/docs/melonjs/src/math/observable_vector3.js.html +++ b/docs/docs/melonjs/src/math/observable_vector3.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/vector2.js.html b/docs/docs/melonjs/src/math/vector2.js.html index 0904b89350..d826f33d69 100644 --- a/docs/docs/melonjs/src/math/vector2.js.html +++ b/docs/docs/melonjs/src/math/vector2.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/math/vector3.js.html b/docs/docs/melonjs/src/math/vector3.js.html index e71a738380..295eb695c8 100644 --- a/docs/docs/melonjs/src/math/vector3.js.html +++ b/docs/docs/melonjs/src/math/vector3.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/particles/emitter.js.html b/docs/docs/melonjs/src/particles/emitter.js.html index d9850976ec..2e4e0ebce4 100644 --- a/docs/docs/melonjs/src/particles/emitter.js.html +++ b/docs/docs/melonjs/src/particles/emitter.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/particles/particle.js.html b/docs/docs/melonjs/src/particles/particle.js.html index 33885e35df..0cbebef85b 100644 --- a/docs/docs/melonjs/src/particles/particle.js.html +++ b/docs/docs/melonjs/src/particles/particle.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/particles/settings.js.html b/docs/docs/melonjs/src/particles/settings.js.html index d437bc3b05..113c628623 100644 --- a/docs/docs/melonjs/src/particles/settings.js.html +++ b/docs/docs/melonjs/src/particles/settings.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/body.js.html b/docs/docs/melonjs/src/physics/body.js.html index 30519c077c..03bd45871e 100644 --- a/docs/docs/melonjs/src/physics/body.js.html +++ b/docs/docs/melonjs/src/physics/body.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/bounds.js.html b/docs/docs/melonjs/src/physics/bounds.js.html index 1d17d802fa..2bc8b7410c 100644 --- a/docs/docs/melonjs/src/physics/bounds.js.html +++ b/docs/docs/melonjs/src/physics/bounds.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/collision.js.html b/docs/docs/melonjs/src/physics/collision.js.html index 692155e3ca..c0a9f9b386 100644 --- a/docs/docs/melonjs/src/physics/collision.js.html +++ b/docs/docs/melonjs/src/physics/collision.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/detector.js.html b/docs/docs/melonjs/src/physics/detector.js.html index 6fff1aa365..32a3f91028 100644 --- a/docs/docs/melonjs/src/physics/detector.js.html +++ b/docs/docs/melonjs/src/physics/detector.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/quadtree.js.html b/docs/docs/melonjs/src/physics/quadtree.js.html index 0fe2621ea8..40a4f71146 100644 --- a/docs/docs/melonjs/src/physics/quadtree.js.html +++ b/docs/docs/melonjs/src/physics/quadtree.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/response.js.html b/docs/docs/melonjs/src/physics/response.js.html index fc72b573c3..1ca8c7af1f 100644 --- a/docs/docs/melonjs/src/physics/response.js.html +++ b/docs/docs/melonjs/src/physics/response.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/sat.js.html b/docs/docs/melonjs/src/physics/sat.js.html index 24f31d7ebf..54a2984ab2 100644 --- a/docs/docs/melonjs/src/physics/sat.js.html +++ b/docs/docs/melonjs/src/physics/sat.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/physics/world.js.html b/docs/docs/melonjs/src/physics/world.js.html index 7e5909374b..4f970cd98f 100644 --- a/docs/docs/melonjs/src/physics/world.js.html +++ b/docs/docs/melonjs/src/physics/world.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/plugin/plugin.js.html b/docs/docs/melonjs/src/plugin/plugin.js.html index 24f8a9d252..9648ac45ba 100644 --- a/docs/docs/melonjs/src/plugin/plugin.js.html +++ b/docs/docs/melonjs/src/plugin/plugin.js.html @@ -1,5 +1,5 @@ - + @@ -850,7 +850,7 @@ } // compatibility testing - if (checkVersion(instance.version, version) < 0) { + if (checkVersion(instance.version, version) > 0) { throw new Error("Plugin version mismatch, expected: " + instance.version + ", got: " + version); } diff --git a/docs/docs/melonjs/src/polyfill/console.js.html b/docs/docs/melonjs/src/polyfill/console.js.html index bcb34ace14..96638ce7c7 100644 --- a/docs/docs/melonjs/src/polyfill/console.js.html +++ b/docs/docs/melonjs/src/polyfill/console.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/polyfill/index.js.html b/docs/docs/melonjs/src/polyfill/index.js.html index bd50207563..05b8230ed7 100644 --- a/docs/docs/melonjs/src/polyfill/index.js.html +++ b/docs/docs/melonjs/src/polyfill/index.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/polyfill/roundrect.js.html b/docs/docs/melonjs/src/polyfill/roundrect.js.html index 5dfc254c2f..5b8248d581 100644 --- a/docs/docs/melonjs/src/polyfill/roundrect.js.html +++ b/docs/docs/melonjs/src/polyfill/roundrect.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/collectable.js.html b/docs/docs/melonjs/src/renderable/collectable.js.html index 5c13c344ac..afd2c01d95 100644 --- a/docs/docs/melonjs/src/renderable/collectable.js.html +++ b/docs/docs/melonjs/src/renderable/collectable.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/colorlayer.js.html b/docs/docs/melonjs/src/renderable/colorlayer.js.html index dcc2c876bc..6c3ba5ab67 100644 --- a/docs/docs/melonjs/src/renderable/colorlayer.js.html +++ b/docs/docs/melonjs/src/renderable/colorlayer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/container.js.html b/docs/docs/melonjs/src/renderable/container.js.html index 44f05b7fed..8b946aad0a 100644 --- a/docs/docs/melonjs/src/renderable/container.js.html +++ b/docs/docs/melonjs/src/renderable/container.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/draggable.js.html b/docs/docs/melonjs/src/renderable/draggable.js.html index 4ee58b8dc2..f43ac777ce 100644 --- a/docs/docs/melonjs/src/renderable/draggable.js.html +++ b/docs/docs/melonjs/src/renderable/draggable.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/dragndrop.js.html b/docs/docs/melonjs/src/renderable/dragndrop.js.html index 368fd8d9da..07708f7268 100644 --- a/docs/docs/melonjs/src/renderable/dragndrop.js.html +++ b/docs/docs/melonjs/src/renderable/dragndrop.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/entity/entity.js.html b/docs/docs/melonjs/src/renderable/entity/entity.js.html index 7901daa25d..0f5e2d1b87 100644 --- a/docs/docs/melonjs/src/renderable/entity/entity.js.html +++ b/docs/docs/melonjs/src/renderable/entity/entity.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/imagelayer.js.html b/docs/docs/melonjs/src/renderable/imagelayer.js.html index f0bef70a10..072f7032ce 100644 --- a/docs/docs/melonjs/src/renderable/imagelayer.js.html +++ b/docs/docs/melonjs/src/renderable/imagelayer.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/renderable/light2d.js.html b/docs/docs/melonjs/src/renderable/light2d.js.html index 7ab9d3908d..f718647134 100644 --- a/docs/docs/melonjs/src/renderable/light2d.js.html +++ b/docs/docs/melonjs/src/renderable/light2d.js.html @@ -1,5 +1,5 @@ - + @@ -660,6 +660,42 @@ 147 +
                          • + 148 +
                          • + +
                          • + 149 +
                          • + +
                          • + 150 +
                          • + +
                          • + 151 +
                          • + +
                          • + 152 +
                          • + +
                          • + 153 +
                          • + +
                          • + 154 +
                          • + +
                          • + 155 +
                          • + +
                          • + 156 +
                          • +
                            import pool from "./../system/pooling.js";
                             import Renderable from "./renderable.js";
                            @@ -781,6 +817,15 @@
                                     return this.visibleArea.setShape(this.getBounds().centerX, this.getBounds().centerY, this.width, this.height);
                                 }
                             
                            +    /**
                            +     * update function
                            +     * @param {number} dt - time since the last update in milliseconds.
                            +     * @returns {boolean} true if dirty
                            +     */
                            +    update(dt) { // eslint-disable-line no-unused-vars
                            +        return true;
                            +    }
                            +
                                 /**
                                  * draw this Light2d (automatically called by melonJS)
                                  * @name draw
                            diff --git a/docs/docs/melonjs/src/renderable/nineslicesprite.js.html b/docs/docs/melonjs/src/renderable/nineslicesprite.js.html
                            index 63a5ce9719..ddbc094f60 100644
                            --- a/docs/docs/melonjs/src/renderable/nineslicesprite.js.html
                            +++ b/docs/docs/melonjs/src/renderable/nineslicesprite.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/renderable.js.html b/docs/docs/melonjs/src/renderable/renderable.js.html
                            index 2be34c8b06..4e18aa5bbe 100644
                            --- a/docs/docs/melonjs/src/renderable/renderable.js.html
                            +++ b/docs/docs/melonjs/src/renderable/renderable.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/sprite.js.html b/docs/docs/melonjs/src/renderable/sprite.js.html
                            index 927fb9e862..a253079a14 100644
                            --- a/docs/docs/melonjs/src/renderable/sprite.js.html
                            +++ b/docs/docs/melonjs/src/renderable/sprite.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/text/bitmaptext.js.html b/docs/docs/melonjs/src/renderable/text/bitmaptext.js.html
                            index 688661760a..6316427170 100644
                            --- a/docs/docs/melonjs/src/renderable/text/bitmaptext.js.html
                            +++ b/docs/docs/melonjs/src/renderable/text/bitmaptext.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/text/bitmaptextdata.js.html b/docs/docs/melonjs/src/renderable/text/bitmaptextdata.js.html
                            index fe42494e8e..40daf58d8d 100644
                            --- a/docs/docs/melonjs/src/renderable/text/bitmaptextdata.js.html
                            +++ b/docs/docs/melonjs/src/renderable/text/bitmaptextdata.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/text/glyph.js.html b/docs/docs/melonjs/src/renderable/text/glyph.js.html
                            index 41488d0a6b..615cab305e 100644
                            --- a/docs/docs/melonjs/src/renderable/text/glyph.js.html
                            +++ b/docs/docs/melonjs/src/renderable/text/glyph.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/text/text.js.html b/docs/docs/melonjs/src/renderable/text/text.js.html
                            index 0418f0c707..f9d7861f2f 100644
                            --- a/docs/docs/melonjs/src/renderable/text/text.js.html
                            +++ b/docs/docs/melonjs/src/renderable/text/text.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/text/textmetrics.js.html b/docs/docs/melonjs/src/renderable/text/textmetrics.js.html
                            index 959dba92e1..ef1cdced94 100644
                            --- a/docs/docs/melonjs/src/renderable/text/textmetrics.js.html
                            +++ b/docs/docs/melonjs/src/renderable/text/textmetrics.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/text/textstyle.js.html b/docs/docs/melonjs/src/renderable/text/textstyle.js.html
                            index 1c46825eda..6ee3c0c24f 100644
                            --- a/docs/docs/melonjs/src/renderable/text/textstyle.js.html
                            +++ b/docs/docs/melonjs/src/renderable/text/textstyle.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/trigger.js.html b/docs/docs/melonjs/src/renderable/trigger.js.html
                            index 869baca9e0..b74831f7fa 100644
                            --- a/docs/docs/melonjs/src/renderable/trigger.js.html
                            +++ b/docs/docs/melonjs/src/renderable/trigger.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/ui/uibaseelement.js.html b/docs/docs/melonjs/src/renderable/ui/uibaseelement.js.html
                            index cd39d5678e..e98a55b5b9 100644
                            --- a/docs/docs/melonjs/src/renderable/ui/uibaseelement.js.html
                            +++ b/docs/docs/melonjs/src/renderable/ui/uibaseelement.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/ui/uispriteelement.js.html b/docs/docs/melonjs/src/renderable/ui/uispriteelement.js.html
                            index dc5444e30d..41c1425135 100644
                            --- a/docs/docs/melonjs/src/renderable/ui/uispriteelement.js.html
                            +++ b/docs/docs/melonjs/src/renderable/ui/uispriteelement.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/renderable/ui/uitextbutton.js.html b/docs/docs/melonjs/src/renderable/ui/uitextbutton.js.html
                            index e8c1a21823..1e40734f12 100644
                            --- a/docs/docs/melonjs/src/renderable/ui/uitextbutton.js.html
                            +++ b/docs/docs/melonjs/src/renderable/ui/uitextbutton.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/state/stage.js.html b/docs/docs/melonjs/src/state/stage.js.html
                            index c3ec7da182..4edd4d44c4 100644
                            --- a/docs/docs/melonjs/src/state/stage.js.html
                            +++ b/docs/docs/melonjs/src/state/stage.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/state/state.js.html b/docs/docs/melonjs/src/state/state.js.html
                            index 449aa54626..096f69bcb6 100644
                            --- a/docs/docs/melonjs/src/state/state.js.html
                            +++ b/docs/docs/melonjs/src/state/state.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/system/device.js.html b/docs/docs/melonjs/src/system/device.js.html
                            index 534735c482..df1e329a0e 100644
                            --- a/docs/docs/melonjs/src/system/device.js.html
                            +++ b/docs/docs/melonjs/src/system/device.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/system/dom.js.html b/docs/docs/melonjs/src/system/dom.js.html
                            index d8fa069fb0..825b3ae612 100644
                            --- a/docs/docs/melonjs/src/system/dom.js.html
                            +++ b/docs/docs/melonjs/src/system/dom.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/system/event.js.html b/docs/docs/melonjs/src/system/event.js.html
                            index d251346587..4d4809185b 100644
                            --- a/docs/docs/melonjs/src/system/event.js.html
                            +++ b/docs/docs/melonjs/src/system/event.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/system/platform.js.html b/docs/docs/melonjs/src/system/platform.js.html
                            index 6a054e591d..e2dcbc532c 100644
                            --- a/docs/docs/melonjs/src/system/platform.js.html
                            +++ b/docs/docs/melonjs/src/system/platform.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/system/pooling.js.html b/docs/docs/melonjs/src/system/pooling.js.html
                            index b5f3ba4301..6f8dee930d 100644
                            --- a/docs/docs/melonjs/src/system/pooling.js.html
                            +++ b/docs/docs/melonjs/src/system/pooling.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/system/save.js.html b/docs/docs/melonjs/src/system/save.js.html
                            index 05cb537bb9..4bc4109b93 100644
                            --- a/docs/docs/melonjs/src/system/save.js.html
                            +++ b/docs/docs/melonjs/src/system/save.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/system/timer.js.html b/docs/docs/melonjs/src/system/timer.js.html
                            index c3457559fe..61f42c7168 100644
                            --- a/docs/docs/melonjs/src/system/timer.js.html
                            +++ b/docs/docs/melonjs/src/system/timer.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/tweens/easing.js.html b/docs/docs/melonjs/src/tweens/easing.js.html
                            index 3f0caf103b..beabae589c 100644
                            --- a/docs/docs/melonjs/src/tweens/easing.js.html
                            +++ b/docs/docs/melonjs/src/tweens/easing.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/tweens/interpolation.js.html b/docs/docs/melonjs/src/tweens/interpolation.js.html
                            index 2ba96003f8..2fa442e373 100644
                            --- a/docs/docs/melonjs/src/tweens/interpolation.js.html
                            +++ b/docs/docs/melonjs/src/tweens/interpolation.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/tweens/tween.js.html b/docs/docs/melonjs/src/tweens/tween.js.html
                            index 0d6c542513..0ba2564753 100644
                            --- a/docs/docs/melonjs/src/tweens/tween.js.html
                            +++ b/docs/docs/melonjs/src/tweens/tween.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/utils/agent.js.html b/docs/docs/melonjs/src/utils/agent.js.html
                            index d4040b6f06..48fbdfd360 100644
                            --- a/docs/docs/melonjs/src/utils/agent.js.html
                            +++ b/docs/docs/melonjs/src/utils/agent.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/utils/array.js.html b/docs/docs/melonjs/src/utils/array.js.html
                            index da508c4cea..2cf1d38185 100644
                            --- a/docs/docs/melonjs/src/utils/array.js.html
                            +++ b/docs/docs/melonjs/src/utils/array.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/utils/file.js.html b/docs/docs/melonjs/src/utils/file.js.html
                            index b607090b8c..2610986aed 100644
                            --- a/docs/docs/melonjs/src/utils/file.js.html
                            +++ b/docs/docs/melonjs/src/utils/file.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/utils/function.js.html b/docs/docs/melonjs/src/utils/function.js.html
                            index 2356fd677e..a70799630e 100644
                            --- a/docs/docs/melonjs/src/utils/function.js.html
                            +++ b/docs/docs/melonjs/src/utils/function.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/utils/string.js.html b/docs/docs/melonjs/src/utils/string.js.html
                            index b75d1bd58a..3264e9efd5 100644
                            --- a/docs/docs/melonjs/src/utils/string.js.html
                            +++ b/docs/docs/melonjs/src/utils/string.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/utils/utils.js.html b/docs/docs/melonjs/src/utils/utils.js.html
                            index 5753ded222..5695323d16 100644
                            --- a/docs/docs/melonjs/src/utils/utils.js.html
                            +++ b/docs/docs/melonjs/src/utils/utils.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -540,50 +540,6 @@
                                         117
                                       
                                     
                            -          
                          • - 118 -
                          • - -
                          • - 119 -
                          • - -
                          • - 120 -
                          • - -
                          • - 121 -
                          • - -
                          • - 122 -
                          • - -
                          • - 123 -
                          • - -
                          • - 124 -
                          • - -
                          • - 125 -
                          • - -
                          • - 126 -
                          • - -
                          • - 127 -
                          • - -
                          • - 128 -
                          • -
                            import { toHex } from "./string.js";
                             
                            @@ -593,6 +549,8 @@
                             export * as string from "./string.js";
                             export * as function from "./function.js";
                             
                            +import { compare } from "semver";
                            +
                             /**
                              * a collection of utility functions
                              * @namespace utils
                            @@ -607,11 +565,9 @@
                              * @public
                              * @memberof utils
                              * @name checkVersion
                            - * @param {string} first - First version string to compare
                            - * @param {string} second - second version string to compare
                            - * @returns {number} comparison result <br>&lt; 0 : first &lt; second<br>
                            - * 0 : first == second<br>
                            - * &gt; 0 : first &gt; second
                            + * @param {string} v1 - First version string to compare
                            + * @param {string} v2 - second version string to compare
                            + * @returns {number} Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater
                              * @example
                              * if (me.utils.checkVersion("7.0.0") > 0) {
                              *     console.error(
                            @@ -619,19 +575,8 @@
                              *     );
                              * }
                              */
                            -export function checkVersion(first, second) {
                            -    let a = first.split(".");
                            -    let b = second.split(".");
                            -    let len = Math.min(a.length, b.length);
                            -    let result = 0;
                            -
                            -    for (let i = 0; i < len; i++) {
                            -        if ((result = +a[i] - +b[i])) {
                            -            break;
                            -        }
                            -    }
                            -
                            -    return result ? result : a.length - b.length;
                            +export function checkVersion(v1, v2) {
                            +    return compare(v1, v2);
                             }
                             
                             /**
                            diff --git a/docs/docs/melonjs/src/video/canvas/canvas_renderer.js.html b/docs/docs/melonjs/src/video/canvas/canvas_renderer.js.html
                            index 3db9be7693..2885ed38f6 100644
                            --- a/docs/docs/melonjs/src/video/canvas/canvas_renderer.js.html
                            +++ b/docs/docs/melonjs/src/video/canvas/canvas_renderer.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/renderer.js.html b/docs/docs/melonjs/src/video/renderer.js.html
                            index a79eeaaede..71b63dcd4b 100644
                            --- a/docs/docs/melonjs/src/video/renderer.js.html
                            +++ b/docs/docs/melonjs/src/video/renderer.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/texture/atlas.js.html b/docs/docs/melonjs/src/video/texture/atlas.js.html
                            index 1a4b140f4d..bec202cdc9 100644
                            --- a/docs/docs/melonjs/src/video/texture/atlas.js.html
                            +++ b/docs/docs/melonjs/src/video/texture/atlas.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/texture/cache.js.html b/docs/docs/melonjs/src/video/texture/cache.js.html
                            index d31c7ed918..156808ddae 100644
                            --- a/docs/docs/melonjs/src/video/texture/cache.js.html
                            +++ b/docs/docs/melonjs/src/video/texture/cache.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/texture/canvas_texture.js.html b/docs/docs/melonjs/src/video/texture/canvas_texture.js.html
                            index 79d5a7f7ad..d0b0aad0c0 100644
                            --- a/docs/docs/melonjs/src/video/texture/canvas_texture.js.html
                            +++ b/docs/docs/melonjs/src/video/texture/canvas_texture.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/utils/autodetect.js.html b/docs/docs/melonjs/src/video/utils/autodetect.js.html
                            index 249254687f..f4ff3b3a8b 100644
                            --- a/docs/docs/melonjs/src/video/utils/autodetect.js.html
                            +++ b/docs/docs/melonjs/src/video/utils/autodetect.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/video.js.html b/docs/docs/melonjs/src/video/video.js.html
                            index ab3e936fe1..8628afb05d 100644
                            --- a/docs/docs/melonjs/src/video/video.js.html
                            +++ b/docs/docs/melonjs/src/video/video.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/buffer/vertex.js.html b/docs/docs/melonjs/src/video/webgl/buffer/vertex.js.html
                            index e7e023aa19..403143f866 100644
                            --- a/docs/docs/melonjs/src/video/webgl/buffer/vertex.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/buffer/vertex.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/compositors/compositor.js.html b/docs/docs/melonjs/src/video/webgl/compositors/compositor.js.html
                            index da39faf5f5..fc866bb9aa 100644
                            --- a/docs/docs/melonjs/src/video/webgl/compositors/compositor.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/compositors/compositor.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/compositors/primitive_compositor.js.html b/docs/docs/melonjs/src/video/webgl/compositors/primitive_compositor.js.html
                            index 7353271549..68eb1b4f15 100644
                            --- a/docs/docs/melonjs/src/video/webgl/compositors/primitive_compositor.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/compositors/primitive_compositor.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/compositors/quad_compositor.js.html b/docs/docs/melonjs/src/video/webgl/compositors/quad_compositor.js.html
                            index 1f15d0dcfd..74e6833080 100644
                            --- a/docs/docs/melonjs/src/video/webgl/compositors/quad_compositor.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/compositors/quad_compositor.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/glshader.js.html b/docs/docs/melonjs/src/video/webgl/glshader.js.html
                            index a6c288c809..8588491efc 100644
                            --- a/docs/docs/melonjs/src/video/webgl/glshader.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/glshader.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/utils/attributes.js.html b/docs/docs/melonjs/src/video/webgl/utils/attributes.js.html
                            index f255fd4454..3b860e4c58 100644
                            --- a/docs/docs/melonjs/src/video/webgl/utils/attributes.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/utils/attributes.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/utils/precision.js.html b/docs/docs/melonjs/src/video/webgl/utils/precision.js.html
                            index d0497008c4..a82921167e 100644
                            --- a/docs/docs/melonjs/src/video/webgl/utils/precision.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/utils/precision.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/utils/program.js.html b/docs/docs/melonjs/src/video/webgl/utils/program.js.html
                            index 49e63eb72f..b698145923 100644
                            --- a/docs/docs/melonjs/src/video/webgl/utils/program.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/utils/program.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/utils/string.js.html b/docs/docs/melonjs/src/video/webgl/utils/string.js.html
                            index 9ec246f045..edc227ddbf 100644
                            --- a/docs/docs/melonjs/src/video/webgl/utils/string.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/utils/string.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/utils/uniforms.js.html b/docs/docs/melonjs/src/video/webgl/utils/uniforms.js.html
                            index fcc76cfcdf..2c51f4f6db 100644
                            --- a/docs/docs/melonjs/src/video/webgl/utils/uniforms.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/utils/uniforms.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/src/video/webgl/webgl_renderer.js.html b/docs/docs/melonjs/src/video/webgl/webgl_renderer.js.html
                            index ae427ee326..d65a830ad2 100644
                            --- a/docs/docs/melonjs/src/video/webgl/webgl_renderer.js.html
                            +++ b/docs/docs/melonjs/src/video/webgl/webgl_renderer.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/state.html b/docs/docs/melonjs/state.html
                            index b080ce1401..4c9877bb29 100644
                            --- a/docs/docs/melonjs/state.html
                            +++ b/docs/docs/melonjs/state.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/timer.html b/docs/docs/melonjs/timer.html
                            index 7d872218ff..13d3a6fbcc 100644
                            --- a/docs/docs/melonjs/timer.html
                            +++ b/docs/docs/melonjs/timer.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            diff --git a/docs/docs/melonjs/utils.html b/docs/docs/melonjs/utils.html
                            index 2b1f3f9c28..0def165fac 100644
                            --- a/docs/docs/melonjs/utils.html
                            +++ b/docs/docs/melonjs/utils.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -163,14 +163,14 @@ 

                            Public Methods

                            - utils.js:18 + utils.js:20 -
                            checkVersion(first: string, second: string) → {number}
                            +
                            checkVersion(v1: string, v2: string) → {number}
                            @@ -210,7 +210,7 @@

                            Public Methods

                            - first + v1 string @@ -222,7 +222,7 @@

                            Public Methods

                            - second + v2 string @@ -257,9 +257,7 @@

                            Public Methods

                            -

                            comparison result
                            < 0 : first < second
                            -0 : first == second
                            -> 0 : first > second

                            +

                            Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater

                            @@ -290,7 +288,7 @@

                            Public Methods

                            - utils.js:50 + utils.js:39 diff --git a/docs/docs/melonjs/utils/agent.html b/docs/docs/melonjs/utils/agent.html index dc4793c6b8..1faa807ac9 100644 --- a/docs/docs/melonjs/utils/agent.html +++ b/docs/docs/melonjs/utils/agent.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/agent/prefixed.html b/docs/docs/melonjs/utils/agent/prefixed.html index 339e32ed0d..ea3ce52c11 100644 --- a/docs/docs/melonjs/utils/agent/prefixed.html +++ b/docs/docs/melonjs/utils/agent/prefixed.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/agent/setPrefixed.html b/docs/docs/melonjs/utils/agent/setPrefixed.html index eb1ff9d079..c4cc5bbc16 100644 --- a/docs/docs/melonjs/utils/agent/setPrefixed.html +++ b/docs/docs/melonjs/utils/agent/setPrefixed.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/array.html b/docs/docs/melonjs/utils/array.html index 62361e5f64..864681825e 100644 --- a/docs/docs/melonjs/utils/array.html +++ b/docs/docs/melonjs/utils/array.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/array/random.html b/docs/docs/melonjs/utils/array/random.html index 229d76aff5..726259e203 100644 --- a/docs/docs/melonjs/utils/array/random.html +++ b/docs/docs/melonjs/utils/array/random.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/array/remove.html b/docs/docs/melonjs/utils/array/remove.html index 5493c9ef5b..967c81ffea 100644 --- a/docs/docs/melonjs/utils/array/remove.html +++ b/docs/docs/melonjs/utils/array/remove.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/array/weightedRandom.html b/docs/docs/melonjs/utils/array/weightedRandom.html index 43e02408da..a8197a3630 100644 --- a/docs/docs/melonjs/utils/array/weightedRandom.html +++ b/docs/docs/melonjs/utils/array/weightedRandom.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/checkVersion.html b/docs/docs/melonjs/utils/checkVersion.html index cfff4668e7..b5784c73f1 100644 --- a/docs/docs/melonjs/utils/checkVersion.html +++ b/docs/docs/melonjs/utils/checkVersion.html @@ -1,5 +1,5 @@ - + @@ -87,7 +87,7 @@

                            -
                            checkVersion(first: string, second: string) → {number}
                            +
                            checkVersion(v1: string, v2: string) → {number}
                            @@ -124,7 +124,7 @@

                            - first + v1 string @@ -136,7 +136,7 @@

                            - second + v2 string @@ -168,9 +168,7 @@

                            -

                            comparison result
                            < 0 : first < second
                            -0 : first == second
                            -> 0 : first > second

                            +

                            Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater

                            diff --git a/docs/docs/melonjs/utils/file.html b/docs/docs/melonjs/utils/file.html index e1ecfa7111..0b8792eb92 100644 --- a/docs/docs/melonjs/utils/file.html +++ b/docs/docs/melonjs/utils/file.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/file/getBasename.html b/docs/docs/melonjs/utils/file/getBasename.html index 20a90fb8ad..343acc58fb 100644 --- a/docs/docs/melonjs/utils/file/getBasename.html +++ b/docs/docs/melonjs/utils/file/getBasename.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/file/getExtension.html b/docs/docs/melonjs/utils/file/getExtension.html index 1a6e1e91d9..9df84242d7 100644 --- a/docs/docs/melonjs/utils/file/getExtension.html +++ b/docs/docs/melonjs/utils/file/getExtension.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/file/getPath.html b/docs/docs/melonjs/utils/file/getPath.html index 2248bf396b..8ff1929712 100644 --- a/docs/docs/melonjs/utils/file/getPath.html +++ b/docs/docs/melonjs/utils/file/getPath.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/function.html b/docs/docs/melonjs/utils/function.html index fcdfee0002..5fabc2aaee 100644 --- a/docs/docs/melonjs/utils/function.html +++ b/docs/docs/melonjs/utils/function.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/function/defer.html b/docs/docs/melonjs/utils/function/defer.html index 9163221538..70f0ef9d0d 100644 --- a/docs/docs/melonjs/utils/function/defer.html +++ b/docs/docs/melonjs/utils/function/defer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/function/throttle.html b/docs/docs/melonjs/utils/function/throttle.html index cf3c839dc0..dad629159d 100644 --- a/docs/docs/melonjs/utils/function/throttle.html +++ b/docs/docs/melonjs/utils/function/throttle.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/getUriFragment.html b/docs/docs/melonjs/utils/getUriFragment.html index 86c8b37019..06f980a889 100644 --- a/docs/docs/melonjs/utils/getUriFragment.html +++ b/docs/docs/melonjs/utils/getUriFragment.html @@ -1,5 +1,5 @@ - + @@ -344,7 +344,7 @@

                            Public Properties

                            - utils.js:50 + utils.js:39 @@ -393,7 +393,7 @@

                            Public Properties

                            - utils.js:50 + utils.js:39 @@ -442,7 +442,7 @@

                            Public Properties

                            - utils.js:50 + utils.js:39 @@ -491,7 +491,7 @@

                            Public Properties

                            - utils.js:50 + utils.js:39 @@ -540,7 +540,7 @@

                            Public Properties

                            - utils.js:50 + utils.js:39 @@ -589,7 +589,7 @@

                            Public Properties

                            - utils.js:50 + utils.js:39 diff --git a/docs/docs/melonjs/utils/string.html b/docs/docs/melonjs/utils/string.html index 0dd6800351..8b1119566a 100644 --- a/docs/docs/melonjs/utils/string.html +++ b/docs/docs/melonjs/utils/string.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/string/capitalize.html b/docs/docs/melonjs/utils/string/capitalize.html index 91f68322d0..f15c3ac371 100644 --- a/docs/docs/melonjs/utils/string/capitalize.html +++ b/docs/docs/melonjs/utils/string/capitalize.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/string/isBoolean.html b/docs/docs/melonjs/utils/string/isBoolean.html index 34f205d1b7..192acd3434 100644 --- a/docs/docs/melonjs/utils/string/isBoolean.html +++ b/docs/docs/melonjs/utils/string/isBoolean.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/string/isDataUrl.html b/docs/docs/melonjs/utils/string/isDataUrl.html index d32e97a26a..b1ffc8b523 100644 --- a/docs/docs/melonjs/utils/string/isDataUrl.html +++ b/docs/docs/melonjs/utils/string/isDataUrl.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/string/isNumeric.html b/docs/docs/melonjs/utils/string/isNumeric.html index 248490abe0..01f3bf6809 100644 --- a/docs/docs/melonjs/utils/string/isNumeric.html +++ b/docs/docs/melonjs/utils/string/isNumeric.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/string/toHex.html b/docs/docs/melonjs/utils/string/toHex.html index 5a5bea01ca..35be3f72a7 100644 --- a/docs/docs/melonjs/utils/string/toHex.html +++ b/docs/docs/melonjs/utils/string/toHex.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/video.html b/docs/docs/melonjs/video.html index 499993fac5..095d283703 100644 --- a/docs/docs/melonjs/video.html +++ b/docs/docs/melonjs/video.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/video/createCanvas.html b/docs/docs/melonjs/video/createCanvas.html index b4c5b9ba37..4b9da690eb 100644 --- a/docs/docs/melonjs/video/createCanvas.html +++ b/docs/docs/melonjs/video/createCanvas.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/video/getParent.html b/docs/docs/melonjs/video/getParent.html index 78a37d238b..49bf30fb94 100644 --- a/docs/docs/melonjs/video/getParent.html +++ b/docs/docs/melonjs/video/getParent.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/video/init.html b/docs/docs/melonjs/video/init.html index a7c3e996d5..914567a722 100644 --- a/docs/docs/melonjs/video/init.html +++ b/docs/docs/melonjs/video/init.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/warning.html b/docs/docs/melonjs/warning.html index 5e1cbeb7cb..14553e51f4 100644 --- a/docs/docs/melonjs/warning.html +++ b/docs/docs/melonjs/warning.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/settings.html b/docs/docs/settings.html index dfeef90a27..7d245a4c72 100644 --- a/docs/docs/settings.html +++ b/docs/docs/settings.html @@ -1,5 +1,5 @@ - +