From 74cf828c605f541bf9ea67a33b1a7310825d8a3d Mon Sep 17 00:00:00 2001 From: Olivier Biot Date: Fri, 29 Mar 2024 08:13:43 +0800 Subject: [PATCH] 17.1.0 dist files --- dist/melonjs.mjs/_virtual/_commonjsHelpers.js | 2 +- dist/melonjs.mjs/_virtual/earcut.js | 2 +- dist/melonjs.mjs/_virtual/howler.js | 2 +- dist/melonjs.mjs/_virtual/index.js | 2 +- dist/melonjs.mjs/_virtual/re.js | 2 +- dist/melonjs.mjs/application/application.js | 2 +- dist/melonjs.mjs/application/header.js | 2 +- dist/melonjs.mjs/application/resize.js | 2 +- dist/melonjs.mjs/application/settings.js | 2 +- dist/melonjs.mjs/audio/audio.js | 146 +- dist/melonjs.mjs/camera/camera2d.js | 2 +- dist/melonjs.mjs/const.js | 2 +- dist/melonjs.mjs/geometries/ellipse.js | 2 +- dist/melonjs.mjs/geometries/line.js | 2 +- dist/melonjs.mjs/geometries/path2d.js | 2 +- dist/melonjs.mjs/geometries/point.js | 2 +- dist/melonjs.mjs/geometries/poly.js | 2 +- dist/melonjs.mjs/geometries/rectangle.js | 2 +- dist/melonjs.mjs/geometries/roundrect.js | 2 +- dist/melonjs.mjs/geometries/toarccanvas.js | 2 +- dist/melonjs.mjs/index.js | 12 +- dist/melonjs.mjs/input/gamepad.js | 2 +- dist/melonjs.mjs/input/input.js | 2 +- dist/melonjs.mjs/input/keyboard.js | 2 +- dist/melonjs.mjs/input/pointer.js | 2 +- dist/melonjs.mjs/input/pointerevent.js | 2 +- dist/melonjs.mjs/lang/console.js | 2 +- dist/melonjs.mjs/lang/deprecated.js | 26 +- dist/melonjs.mjs/level/level.js | 2 +- dist/melonjs.mjs/level/tiled/TMXGroup.js | 2 +- dist/melonjs.mjs/level/tiled/TMXLayer.js | 2 +- dist/melonjs.mjs/level/tiled/TMXObject.js | 2 +- dist/melonjs.mjs/level/tiled/TMXTile.js | 2 +- dist/melonjs.mjs/level/tiled/TMXTileMap.js | 2 +- dist/melonjs.mjs/level/tiled/TMXTileset.js | 2 +- .../level/tiled/TMXTilesetGroup.js | 2 +- dist/melonjs.mjs/level/tiled/TMXUtils.js | 2 +- dist/melonjs.mjs/level/tiled/constants.js | 2 +- .../tiled/renderer/TMXHexagonalRenderer.js | 2 +- .../tiled/renderer/TMXIsometricRenderer.js | 2 +- .../tiled/renderer/TMXOrthogonalRenderer.js | 2 +- .../level/tiled/renderer/TMXRenderer.js | 2 +- .../tiled/renderer/TMXStaggeredRenderer.js | 2 +- .../level/tiled/renderer/autodetect.js | 2 +- dist/melonjs.mjs/loader/cache.js | 2 +- dist/melonjs.mjs/loader/loader.js | 2 +- dist/melonjs.mjs/loader/loadingscreen.js | 2 +- dist/melonjs.mjs/loader/melonjs_logo.png.js | 2 +- dist/melonjs.mjs/loader/parsers/binary.js | 2 +- .../compressed_textures/compressed_image.js | 58 + .../parsers/compressed_textures/parseDDS.js | 13 + .../parsers/compressed_textures/parseKTX.js | 13 + .../parsers/compressed_textures/parseKTX2.js | 13 + .../parsers/compressed_textures/parsePKM.js | 13 + .../parsers/compressed_textures/parsePVR.js | 136 ++ dist/melonjs.mjs/loader/parsers/fetchdata.js | 2 +- dist/melonjs.mjs/loader/parsers/fontface.js | 2 +- dist/melonjs.mjs/loader/parsers/image.js | 133 +- dist/melonjs.mjs/loader/parsers/json.js | 2 +- dist/melonjs.mjs/loader/parsers/script.js | 2 +- dist/melonjs.mjs/loader/parsers/tmx.js | 2 +- dist/melonjs.mjs/loader/parsers/video.js | 2 +- dist/melonjs.mjs/math/color.js | 2 +- dist/melonjs.mjs/math/math.js | 26 +- dist/melonjs.mjs/math/matrix2.js | 2 +- dist/melonjs.mjs/math/matrix3.js | 2 +- dist/melonjs.mjs/math/observable_vector2.js | 2 +- dist/melonjs.mjs/math/observable_vector3.js | 2 +- dist/melonjs.mjs/math/vector2.js | 2 +- dist/melonjs.mjs/math/vector3.js | 2 +- dist/melonjs.mjs/particles/emitter.js | 4 +- dist/melonjs.mjs/particles/particle.js | 2 +- dist/melonjs.mjs/particles/settings.js | 2 +- dist/melonjs.mjs/physics/body.js | 2 +- dist/melonjs.mjs/physics/bounds.js | 2 +- dist/melonjs.mjs/physics/collision.js | 2 +- dist/melonjs.mjs/physics/detector.js | 2 +- dist/melonjs.mjs/physics/quadtree.js | 2 +- dist/melonjs.mjs/physics/response.js | 2 +- dist/melonjs.mjs/physics/sat.js | 2 +- dist/melonjs.mjs/physics/world.js | 2 +- dist/melonjs.mjs/plugin/plugin.js | 8 +- dist/melonjs.mjs/renderable/collectable.js | 2 +- dist/melonjs.mjs/renderable/colorlayer.js | 2 +- dist/melonjs.mjs/renderable/container.js | 2 +- dist/melonjs.mjs/renderable/draggable.js | 2 +- dist/melonjs.mjs/renderable/dragndrop.js | 2 +- dist/melonjs.mjs/renderable/entity/entity.js | 2 +- dist/melonjs.mjs/renderable/imagelayer.js | 2 +- dist/melonjs.mjs/renderable/light2d.js | 4 +- .../melonjs.mjs/renderable/nineslicesprite.js | 2 +- dist/melonjs.mjs/renderable/renderable.js | 26 +- dist/melonjs.mjs/renderable/sprite.js | 2 +- .../melonjs.mjs/renderable/text/bitmaptext.js | 2 +- .../renderable/text/bitmaptextdata.js | 2 +- dist/melonjs.mjs/renderable/text/glyph.js | 2 +- dist/melonjs.mjs/renderable/text/text.js | 4 +- .../renderable/text/textmetrics.js | 2 +- dist/melonjs.mjs/renderable/text/textstyle.js | 2 +- dist/melonjs.mjs/renderable/trigger.js | 2 +- .../renderable/ui/uibaseelement.js | 2 +- .../renderable/ui/uispriteelement.js | 2 +- .../melonjs.mjs/renderable/ui/uitextbutton.js | 2 +- dist/melonjs.mjs/state/stage.js | 4 +- dist/melonjs.mjs/state/state.js | 10 +- dist/melonjs.mjs/system/device.js | 31 +- dist/melonjs.mjs/system/dom.js | 2 +- dist/melonjs.mjs/system/event.js | 4 +- dist/melonjs.mjs/system/platform.js | 2 +- dist/melonjs.mjs/system/pooling.js | 4 +- dist/melonjs.mjs/system/save.js | 6 +- dist/melonjs.mjs/system/timer.js | 8 +- dist/melonjs.mjs/tweens/easing.js | 2 +- dist/melonjs.mjs/tweens/interpolation.js | 2 +- dist/melonjs.mjs/tweens/tween.js | 2 +- dist/melonjs.mjs/utils/agent.js | 2 +- dist/melonjs.mjs/utils/array.js | 2 +- dist/melonjs.mjs/utils/file.js | 2 +- dist/melonjs.mjs/utils/function.js | 2 +- dist/melonjs.mjs/utils/string.js | 2 +- dist/melonjs.mjs/utils/utils.js | 2 +- .../video/canvas/canvas_renderer.js | 5 +- dist/melonjs.mjs/video/renderer.js | 62 +- .../canvasrendertarget.js} | 111 +- dist/melonjs.mjs/video/texture/atlas.js | 2 +- dist/melonjs.mjs/video/texture/cache.js | 2 +- .../video/texture/parser/aseprite.js | 2 +- .../video/texture/parser/spritesheet.js | 2 +- .../video/texture/parser/texturepacker.js | 2 +- dist/melonjs.mjs/video/utils/autodetect.js | 2 +- dist/melonjs.mjs/video/video.js | 2 +- dist/melonjs.mjs/video/webgl/buffer/vertex.js | 2 +- .../video/webgl/compositors/compositor.js | 2 +- .../webgl/compositors/primitive_compositor.js | 2 +- .../webgl/compositors/quad_compositor.js | 2 +- dist/melonjs.mjs/video/webgl/glshader.js | 2 +- .../video/webgl/shaders/primitive.frag.js | 2 +- .../video/webgl/shaders/primitive.vert.js | 2 +- .../video/webgl/shaders/quad.frag.js | 2 +- .../video/webgl/shaders/quad.vert.js | 2 +- .../video/webgl/utils/attributes.js | 2 +- .../video/webgl/utils/precision.js | 2 +- dist/melonjs.mjs/video/webgl/utils/program.js | 2 +- dist/melonjs.mjs/video/webgl/utils/string.js | 2 +- .../melonjs.mjs/video/webgl/utils/uniforms.js | 2 +- .../melonjs.mjs/video/webgl/webgl_renderer.js | 115 +- dist/melonjs.module.js | 2005 ++++++++++------- dist/types/audio/audio.d.ts | 110 +- dist/types/index.d.ts | 4 +- dist/types/lang/deprecated.d.ts | 23 + dist/types/level/tiled/TMXLayer.d.ts | 3 +- .../compressed_textures/compressed_image.d.ts | 1 + .../parsers/compressed_textures/parseDDS.d.ts | 1 + .../parsers/compressed_textures/parseKTX.d.ts | 1 + .../compressed_textures/parseKTX2.d.ts | 1 + .../parsers/compressed_textures/parsePKM.d.ts | 1 + .../parsers/compressed_textures/parsePVR.d.ts | 1 + dist/types/math/math.d.ts | 7 + dist/types/particles/emitter.d.ts | 39 +- dist/types/plugin/plugin.d.ts | 2 +- dist/types/polyfill/console.d.ts | 1 + dist/types/polyfill/roundrect.d.ts | 1 + dist/types/renderable/collectable.d.ts | 2 - dist/types/renderable/container.d.ts | 8 +- dist/types/renderable/entity/entity.d.ts | 6 + dist/types/renderable/renderable.d.ts | 9 + dist/types/renderable/text/bitmaptext.d.ts | 6 + dist/types/renderable/trigger.d.ts | 2 - dist/types/state/stage.d.ts | 2 +- dist/types/state/state.d.ts | 2 +- dist/types/system/event.d.ts | 10 +- dist/types/system/pooling.d.ts | 4 +- dist/types/video/canvas/canvas_renderer.d.ts | 1 - dist/types/video/renderer.d.ts | 7 + .../canvasrendertarget.d.ts} | 25 +- dist/types/video/utils/autodetect.d.ts | 4 +- dist/types/video/video.d.ts | 1 - dist/types/video/webgl/webgl_renderer.d.ts | 34 +- docs/docs/Class-Index.html | 7 +- docs/docs/explorer/reference.json | 2 +- docs/docs/index.html | 4 +- docs/docs/melonjs.api.json | 2 +- docs/docs/melonjs.api.json.md5 | 2 +- docs/docs/melonjs.html | 4 +- docs/docs/melonjs/Application.html | 2 +- docs/docs/melonjs/Application/Settings.html | 2 +- docs/docs/melonjs/BitmapText.html | 2 +- docs/docs/melonjs/Body.html | 2 +- docs/docs/melonjs/Bounds.html | 2 +- docs/docs/melonjs/Camera2d.html | 2 +- docs/docs/melonjs/Camera2d/AXIS.html | 2 +- docs/docs/melonjs/CanvasRenderTarget.html | 1567 +++++++++++++ docs/docs/melonjs/CanvasRenderer.html | 108 +- docs/docs/melonjs/CanvasTexture.html | 1249 +--------- docs/docs/melonjs/Collectable.html | 2 +- docs/docs/melonjs/Color.html | 2 +- docs/docs/melonjs/ColorLayer.html | 2 +- docs/docs/melonjs/Compositor.html | 2 +- docs/docs/melonjs/Container.html | 2 +- docs/docs/melonjs/Detector.html | 2 +- docs/docs/melonjs/Draggable.html | 2 +- docs/docs/melonjs/DraggableEntity.html | 2 +- docs/docs/melonjs/DropTarget.html | 2 +- docs/docs/melonjs/DroptargetEntity.html | 2 +- docs/docs/melonjs/Ellipse.html | 2 +- docs/docs/melonjs/Entity.html | 2 +- docs/docs/melonjs/GLShader.html | 2 +- docs/docs/melonjs/GUI_Object.html | 2 +- docs/docs/melonjs/ImageLayer.html | 2 +- docs/docs/melonjs/Light2d.html | 2 +- docs/docs/melonjs/Line.html | 2 +- docs/docs/melonjs/Math.html | 126 +- docs/docs/melonjs/Math/clamp.html | 2 +- docs/docs/melonjs/Math/degToRad.html | 2 +- docs/docs/melonjs/Math/isPowerOfFour.html | 193 ++ docs/docs/melonjs/Math/isPowerOfTwo.html | 2 +- docs/docs/melonjs/Math/nextPowerOfTwo.html | 2 +- docs/docs/melonjs/Math/pow.html | 2 +- docs/docs/melonjs/Math/radToDeg.html | 2 +- docs/docs/melonjs/Math/random.html | 2 +- docs/docs/melonjs/Math/randomFloat.html | 2 +- docs/docs/melonjs/Math/round.html | 2 +- docs/docs/melonjs/Math/toBeCloseTo.html | 2 +- docs/docs/melonjs/Math/weightedRandom.html | 2 +- docs/docs/melonjs/Matrix2d.html | 2 +- docs/docs/melonjs/Matrix3d.html | 2 +- docs/docs/melonjs/NineSliceSprite.html | 2 +- docs/docs/melonjs/ObjectPool.html | 16 +- docs/docs/melonjs/ObservableVector2d.html | 2 +- docs/docs/melonjs/ObservableVector3d.html | 2 +- docs/docs/melonjs/Particle.html | 2 +- docs/docs/melonjs/ParticleEmitter.html | 2 +- .../docs/melonjs/ParticleEmitterSettings.html | 2 +- docs/docs/melonjs/Path2D.html | 2 +- docs/docs/melonjs/Point.html | 2 +- docs/docs/melonjs/Pointer.html | 2 +- docs/docs/melonjs/Polygon.html | 2 +- docs/docs/melonjs/PrimitiveCompositor.html | 2 +- docs/docs/melonjs/QuadCompositor.html | 2 +- docs/docs/melonjs/QuadTree.html | 2 +- docs/docs/melonjs/Rect.html | 2 +- docs/docs/melonjs/Renderable.html | 94 +- docs/docs/melonjs/Renderer.html | 139 +- docs/docs/melonjs/Renderer/Texture.html | 2 +- docs/docs/melonjs/Renderer/getHeight.html | 2 +- docs/docs/melonjs/Renderer/getWidth.html | 2 +- docs/docs/melonjs/ResponseObject.html | 2 +- docs/docs/melonjs/RoundRect.html | 2 +- docs/docs/melonjs/Sprite.html | 2 +- docs/docs/melonjs/Stage.html | 16 +- docs/docs/melonjs/TMXHexagonalRenderer.html | 2 +- docs/docs/melonjs/TMXIsometricRenderer.html | 2 +- docs/docs/melonjs/TMXLayer.html | 2 +- docs/docs/melonjs/TMXOrthogonalRenderer.html | 2 +- docs/docs/melonjs/TMXRenderer.html | 2 +- docs/docs/melonjs/TMXStaggeredRenderer.html | 2 +- docs/docs/melonjs/TMXTileMap.html | 2 +- docs/docs/melonjs/TMXTileset.html | 2 +- docs/docs/melonjs/TMXTilesetGroup.html | 2 +- docs/docs/melonjs/TMXUtils.html | 2 +- .../melonjs/TMXUtils/applyTMXProperties.html | 2 +- docs/docs/melonjs/TMXUtils/decode.html | 2 +- .../melonjs/TMXUtils/decodeBase64AsArray.html | 2 +- docs/docs/melonjs/TMXUtils/decodeCSV.html | 2 +- docs/docs/melonjs/TMXUtils/decompress.html | 2 +- docs/docs/melonjs/TMXUtils/parse.html | 2 +- .../melonjs/TMXUtils/setInflateFunction.html | 2 +- docs/docs/melonjs/Text.html | 2 +- docs/docs/melonjs/TextMetrics.html | 2 +- docs/docs/melonjs/TextureAtlas.html | 2 +- docs/docs/melonjs/Tile.html | 2 +- docs/docs/melonjs/Timer_.html | 2 +- docs/docs/melonjs/Trigger.html | 2 +- docs/docs/melonjs/Tween.html | 2 +- docs/docs/melonjs/Tween/Easing.html | 2 +- docs/docs/melonjs/Tween/Interpolation.html | 2 +- docs/docs/melonjs/UIBaseElement.html | 2 +- docs/docs/melonjs/UISpriteElement.html | 2 +- docs/docs/melonjs/UITextButton.html | 2 +- docs/docs/melonjs/Vector2d.html | 2 +- docs/docs/melonjs/Vector3d.html | 2 +- docs/docs/melonjs/WebGLRenderer.html | 361 +-- docs/docs/melonjs/World.html | 2 +- docs/docs/melonjs/audio.html | 767 ++++++- docs/docs/melonjs/audio/disable.html | 2 +- docs/docs/melonjs/audio/enable.html | 2 +- docs/docs/melonjs/audio/fade.html | 2 +- docs/docs/melonjs/audio/getCurrentTrack.html | 2 +- docs/docs/melonjs/audio/getVolume.html | 2 +- docs/docs/melonjs/audio/hasAudio.html | 2 +- docs/docs/melonjs/audio/hasFormat.html | 2 +- docs/docs/melonjs/audio/init.html | 2 +- docs/docs/melonjs/audio/load.html | 2 +- docs/docs/melonjs/audio/mute.html | 2 +- docs/docs/melonjs/audio/muteAll.html | 2 +- docs/docs/melonjs/audio/muted.html | 2 +- docs/docs/melonjs/audio/orientation.html | 235 ++ docs/docs/melonjs/audio/panner.html | 376 ++++ docs/docs/melonjs/audio/pause.html | 2 +- docs/docs/melonjs/audio/pauseTrack.html | 2 +- docs/docs/melonjs/audio/play.html | 2 +- docs/docs/melonjs/audio/playTrack.html | 2 +- docs/docs/melonjs/audio/position.html | 234 ++ docs/docs/melonjs/audio/rate.html | 2 +- docs/docs/melonjs/audio/resume.html | 2 +- docs/docs/melonjs/audio/resumeTrack.html | 2 +- docs/docs/melonjs/audio/seek.html | 2 +- docs/docs/melonjs/audio/setVolume.html | 2 +- docs/docs/melonjs/audio/stereo.html | 222 ++ docs/docs/melonjs/audio/stop.html | 2 +- docs/docs/melonjs/audio/stopTrack.html | 2 +- docs/docs/melonjs/audio/unload.html | 2 +- docs/docs/melonjs/audio/unloadAll.html | 2 +- docs/docs/melonjs/audio/unmute.html | 2 +- docs/docs/melonjs/audio/unmuteAll.html | 2 +- docs/docs/melonjs/boot.html | 2 +- docs/docs/melonjs/collision.html | 2 +- docs/docs/melonjs/collision/types.html | 2 +- docs/docs/melonjs/consoleHeader.html | 2 +- docs/docs/melonjs/device.html | 110 +- docs/docs/melonjs/device/enableSwipe.html | 2 +- docs/docs/melonjs/device/exitFullscreen.html | 2 +- docs/docs/melonjs/device/focus.html | 2 +- docs/docs/melonjs/device/getElement.html | 2 +- .../docs/melonjs/device/getElementBounds.html | 2 +- docs/docs/melonjs/device/getParentBounds.html | 2 +- .../docs/melonjs/device/getParentElement.html | 2 +- .../melonjs/device/getScreenOrientation.html | 2 +- docs/docs/melonjs/device/getStorage.html | 2 +- docs/docs/melonjs/device/hasVideoFormat.html | 2 +- docs/docs/melonjs/device/isFullscreen.html | 2 +- docs/docs/melonjs/device/isLandscape.html | 2 +- docs/docs/melonjs/device/isPortrait.html | 2 +- .../docs/melonjs/device/isWebGLSupported.html | 2 +- docs/docs/melonjs/device/lockOrientation.html | 2 +- docs/docs/melonjs/device/onReady.html | 2 +- docs/docs/melonjs/device/platform.html | 2 +- .../melonjs/device/requestFullscreen.html | 2 +- .../melonjs/device/unlockOrientation.html | 2 +- .../melonjs/device/unwatchAccelerometer.html | 2 +- .../device/unwatchDeviceOrientation.html | 2 +- docs/docs/melonjs/device/vibrate.html | 2 +- .../melonjs/device/watchAccelerometer.html | 2 +- .../device/watchDeviceOrientation.html | 2 +- docs/docs/melonjs/event.html | 8 +- docs/docs/melonjs/event/emit.html | 8 +- docs/docs/melonjs/event/off.html | 2 +- docs/docs/melonjs/event/on.html | 2 +- docs/docs/melonjs/event/once.html | 2 +- docs/docs/melonjs/game.html | 2 +- docs/docs/melonjs/input.html | 2 +- docs/docs/melonjs/input/GAMEPAD.html | 2 +- docs/docs/melonjs/input/GAMEPAD/AXES.html | 2 +- docs/docs/melonjs/input/GAMEPAD/BUTTONS.html | 2 +- docs/docs/melonjs/input/KEY.html | 2 +- docs/docs/melonjs/input/bindGamepad.html | 2 +- docs/docs/melonjs/input/bindKey.html | 2 +- docs/docs/melonjs/input/bindPointer.html | 2 +- docs/docs/melonjs/input/exitPointerLock.html | 2 +- docs/docs/melonjs/input/getBindingKey.html | 2 +- docs/docs/melonjs/input/globalToLocal.html | 2 +- docs/docs/melonjs/input/hasActiveEvents.html | 2 +- .../melonjs/input/hasRegisteredEvents.html | 2 +- docs/docs/melonjs/input/isKeyPressed.html | 2 +- docs/docs/melonjs/input/keyStatus.html | 2 +- .../melonjs/input/registerPointerEvent.html | 2 +- .../input/releaseAllPointerEvents.html | 2 +- .../melonjs/input/releasePointerEvent.html | 2 +- .../melonjs/input/requestPointerLock.html | 2 +- .../melonjs/input/setGamepadDeadzone.html | 2 +- docs/docs/melonjs/input/setTouchAction.html | 2 +- docs/docs/melonjs/input/triggerKeyEvent.html | 2 +- docs/docs/melonjs/input/unbindGamepad.html | 2 +- docs/docs/melonjs/input/unbindKey.html | 2 +- docs/docs/melonjs/input/unbindPointer.html | 2 +- docs/docs/melonjs/input/unlockKey.html | 2 +- docs/docs/melonjs/level.html | 2 +- docs/docs/melonjs/loader.html | 2 +- docs/docs/melonjs/loader/Asset.html | 2 +- docs/docs/melonjs/loader/getBinary.html | 2 +- docs/docs/melonjs/loader/getImage.html | 2 +- docs/docs/melonjs/loader/getJSON.html | 2 +- docs/docs/melonjs/loader/getTMX.html | 2 +- docs/docs/melonjs/loader/getVideo.html | 2 +- docs/docs/melonjs/loader/load.html | 2 +- docs/docs/melonjs/loader/preload.html | 2 +- docs/docs/melonjs/loader/reload.html | 2 +- docs/docs/melonjs/loader/setBaseURL.html | 2 +- docs/docs/melonjs/loader/setOptions.html | 2 +- docs/docs/melonjs/loader/setParser.html | 2 +- docs/docs/melonjs/loader/unload.html | 2 +- docs/docs/melonjs/loader/unloadAll.html | 2 +- docs/docs/melonjs/onresize.html | 2 +- docs/docs/melonjs/plugin.html | 8 +- docs/docs/melonjs/plugin/Base.html | 2 +- docs/docs/melonjs/plugin/BasePlugin.html | 2 +- docs/docs/melonjs/plugin/get.html | 2 +- docs/docs/melonjs/plugin/patch.html | 2 +- docs/docs/melonjs/plugin/register.html | 8 +- docs/docs/melonjs/pool.html | 2 +- docs/docs/melonjs/save.html | 2 +- docs/docs/melonjs/scale.html | 2 +- .../src/application/application.js.html | 2 +- .../melonjs/src/application/header.js.html | 2 +- .../melonjs/src/application/resize.js.html | 2 +- .../melonjs/src/application/settings.js.html | 2 +- docs/docs/melonjs/src/audio/audio.js.html | 488 +++- docs/docs/melonjs/src/camera/camera2d.js.html | 2 +- docs/docs/melonjs/src/const.js.html | 2 +- .../melonjs/src/geometries/ellipse.js.html | 2 +- docs/docs/melonjs/src/geometries/line.js.html | 2 +- .../melonjs/src/geometries/path2d.js.html | 2 +- .../docs/melonjs/src/geometries/point.js.html | 2 +- docs/docs/melonjs/src/geometries/poly.js.html | 2 +- .../melonjs/src/geometries/rectangle.js.html | 2 +- .../melonjs/src/geometries/roundrect.js.html | 2 +- .../src/geometries/toarccanvas.js.html | 2 +- docs/docs/melonjs/src/index.js.html | 8 +- docs/docs/melonjs/src/input/gamepad.js.html | 2 +- docs/docs/melonjs/src/input/input.js.html | 2 +- docs/docs/melonjs/src/input/keyboard.js.html | 2 +- docs/docs/melonjs/src/input/pointer.js.html | 2 +- .../melonjs/src/input/pointerevent.js.html | 2 +- docs/docs/melonjs/src/lang/console.js.html | 2 +- docs/docs/melonjs/src/lang/deprecated.js.html | 107 +- docs/docs/melonjs/src/level/level.js.html | 2 +- .../melonjs/src/level/tiled/TMXGroup.js.html | 2 +- .../melonjs/src/level/tiled/TMXLayer.js.html | 2 +- .../melonjs/src/level/tiled/TMXObject.js.html | 2 +- .../melonjs/src/level/tiled/TMXTile.js.html | 2 +- .../src/level/tiled/TMXTileMap.js.html | 2 +- .../src/level/tiled/TMXTileset.js.html | 2 +- .../src/level/tiled/TMXTilesetGroup.js.html | 2 +- .../melonjs/src/level/tiled/TMXUtils.js.html | 2 +- .../melonjs/src/level/tiled/constants.js.html | 2 +- .../renderer/TMXHexagonalRenderer.js.html | 2 +- .../renderer/TMXIsometricRenderer.js.html | 2 +- .../renderer/TMXOrthogonalRenderer.js.html | 2 +- .../level/tiled/renderer/TMXRenderer.js.html | 2 +- .../renderer/TMXStaggeredRenderer.js.html | 2 +- .../level/tiled/renderer/autodetect.js.html | 2 +- docs/docs/melonjs/src/loader/cache.js.html | 2 +- docs/docs/melonjs/src/loader/loader.js.html | 2 +- .../melonjs/src/loader/loadingscreen.js.html | 2 +- .../melonjs/src/loader/parsers/binary.js.html | 2 +- .../compressed_image.js.html | 349 +++ .../compressed_textures/parseDDS.js.html | 129 ++ .../compressed_textures/parseKTX.js.html | 129 ++ .../compressed_textures/parseKTX2.js.html | 129 ++ .../compressed_textures/parsePKM.js.html | 129 ++ .../compressed_textures/parsePVR.js.html | 739 ++++++ .../src/loader/parsers/fetchdata.js.html | 2 +- .../src/loader/parsers/fontface.js.html | 2 +- .../melonjs/src/loader/parsers/image.js.html | 321 ++- .../melonjs/src/loader/parsers/json.js.html | 2 +- .../melonjs/src/loader/parsers/script.js.html | 2 +- .../melonjs/src/loader/parsers/tmx.js.html | 2 +- .../melonjs/src/loader/parsers/video.js.html | 2 +- docs/docs/melonjs/src/math/color.js.html | 2 +- docs/docs/melonjs/src/math/math.js.html | 112 +- docs/docs/melonjs/src/math/matrix2.js.html | 2 +- docs/docs/melonjs/src/math/matrix3.js.html | 2 +- .../src/math/observable_vector2.js.html | 2 +- .../src/math/observable_vector3.js.html | 2 +- docs/docs/melonjs/src/math/vector2.js.html | 2 +- docs/docs/melonjs/src/math/vector3.js.html | 2 +- .../melonjs/src/particles/emitter.js.html | 4 +- .../melonjs/src/particles/particle.js.html | 2 +- .../melonjs/src/particles/settings.js.html | 2 +- docs/docs/melonjs/src/physics/body.js.html | 2 +- docs/docs/melonjs/src/physics/bounds.js.html | 2 +- .../melonjs/src/physics/collision.js.html | 2 +- .../docs/melonjs/src/physics/detector.js.html | 2 +- .../docs/melonjs/src/physics/quadtree.js.html | 2 +- .../docs/melonjs/src/physics/response.js.html | 2 +- docs/docs/melonjs/src/physics/sat.js.html | 2 +- docs/docs/melonjs/src/physics/world.js.html | 2 +- docs/docs/melonjs/src/plugin/plugin.js.html | 4 +- .../docs/melonjs/src/polyfill/console.js.html | 2 +- docs/docs/melonjs/src/polyfill/index.js.html | 2 +- .../melonjs/src/polyfill/roundrect.js.html | 2 +- .../src/renderable/collectable.js.html | 2 +- .../melonjs/src/renderable/colorlayer.js.html | 2 +- .../melonjs/src/renderable/container.js.html | 4 +- .../melonjs/src/renderable/draggable.js.html | 2 +- .../melonjs/src/renderable/dragndrop.js.html | 2 +- .../src/renderable/entity/entity.js.html | 2 +- .../melonjs/src/renderable/imagelayer.js.html | 2 +- .../melonjs/src/renderable/light2d.js.html | 4 +- .../src/renderable/nineslicesprite.js.html | 2 +- .../melonjs/src/renderable/renderable.js.html | 79 +- .../melonjs/src/renderable/sprite.js.html | 2 +- .../src/renderable/text/bitmaptext.js.html | 2 +- .../renderable/text/bitmaptextdata.js.html | 2 +- .../melonjs/src/renderable/text/glyph.js.html | 2 +- .../melonjs/src/renderable/text/text.js.html | 4 +- .../src/renderable/text/textmetrics.js.html | 2 +- .../src/renderable/text/textstyle.js.html | 2 +- .../melonjs/src/renderable/trigger.js.html | 2 +- .../src/renderable/ui/uibaseelement.js.html | 2 +- .../src/renderable/ui/uispriteelement.js.html | 2 +- .../src/renderable/ui/uitextbutton.js.html | 2 +- docs/docs/melonjs/src/state/stage.js.html | 4 +- docs/docs/melonjs/src/state/state.js.html | 8 +- docs/docs/melonjs/src/system/device.js.html | 51 +- docs/docs/melonjs/src/system/dom.js.html | 2 +- docs/docs/melonjs/src/system/event.js.html | 4 +- docs/docs/melonjs/src/system/platform.js.html | 2 +- docs/docs/melonjs/src/system/pooling.js.html | 4 +- docs/docs/melonjs/src/system/save.js.html | 4 +- docs/docs/melonjs/src/system/timer.js.html | 6 +- docs/docs/melonjs/src/tweens/easing.js.html | 2 +- .../melonjs/src/tweens/interpolation.js.html | 2 +- docs/docs/melonjs/src/tweens/tween.js.html | 2 +- docs/docs/melonjs/src/utils/agent.js.html | 2 +- docs/docs/melonjs/src/utils/array.js.html | 2 +- docs/docs/melonjs/src/utils/file.js.html | 2 +- docs/docs/melonjs/src/utils/function.js.html | 2 +- docs/docs/melonjs/src/utils/string.js.html | 2 +- docs/docs/melonjs/src/utils/utils.js.html | 2 +- .../src/video/canvas/canvas_renderer.js.html | 17 +- docs/docs/melonjs/src/video/renderer.js.html | 172 +- .../canvasrendertarget.js.html} | 391 +++- .../melonjs/src/video/texture/atlas.js.html | 2 +- .../melonjs/src/video/texture/cache.js.html | 2 +- .../src/video/texture/parser/aseprite.js.html | 2 +- .../video/texture/parser/spritesheet.js.html | 2 +- .../texture/parser/texturepacker.js.html | 2 +- .../src/video/utils/autodetect.js.html | 2 +- docs/docs/melonjs/src/video/video.js.html | 2 +- .../src/video/webgl/buffer/vertex.js.html | 2 +- .../webgl/compositors/compositor.js.html | 2 +- .../compositors/primitive_compositor.js.html | 2 +- .../webgl/compositors/quad_compositor.js.html | 2 +- .../melonjs/src/video/webgl/glshader.js.html | 2 +- .../src/video/webgl/utils/attributes.js.html | 2 +- .../src/video/webgl/utils/precision.js.html | 2 +- .../src/video/webgl/utils/program.js.html | 2 +- .../src/video/webgl/utils/string.js.html | 2 +- .../src/video/webgl/utils/uniforms.js.html | 2 +- .../src/video/webgl/webgl_renderer.js.html | 151 +- docs/docs/melonjs/state.html | 16 +- docs/docs/melonjs/timer.html | 2 +- docs/docs/melonjs/utils.html | 2 +- docs/docs/melonjs/utils/agent.html | 2 +- docs/docs/melonjs/utils/agent/prefixed.html | 2 +- .../docs/melonjs/utils/agent/setPrefixed.html | 2 +- docs/docs/melonjs/utils/array.html | 2 +- docs/docs/melonjs/utils/array/random.html | 2 +- docs/docs/melonjs/utils/array/remove.html | 2 +- .../melonjs/utils/array/weightedRandom.html | 2 +- docs/docs/melonjs/utils/checkVersion.html | 2 +- docs/docs/melonjs/utils/file.html | 2 +- docs/docs/melonjs/utils/file/getBasename.html | 2 +- .../docs/melonjs/utils/file/getExtension.html | 2 +- docs/docs/melonjs/utils/file/getPath.html | 2 +- docs/docs/melonjs/utils/function.html | 2 +- docs/docs/melonjs/utils/function/defer.html | 2 +- .../docs/melonjs/utils/function/throttle.html | 2 +- docs/docs/melonjs/utils/getUriFragment.html | 2 +- docs/docs/melonjs/utils/string.html | 2 +- .../docs/melonjs/utils/string/capitalize.html | 2 +- docs/docs/melonjs/utils/string/isBoolean.html | 2 +- docs/docs/melonjs/utils/string/isDataUrl.html | 2 +- docs/docs/melonjs/utils/string/isNumeric.html | 2 +- docs/docs/melonjs/utils/string/toHex.html | 2 +- docs/docs/melonjs/video.html | 2 +- docs/docs/melonjs/video/createCanvas.html | 2 +- docs/docs/melonjs/video/getParent.html | 2 +- docs/docs/melonjs/video/init.html | 2 +- docs/docs/melonjs/warning.html | 2 +- docs/docs/settings.html | 2 +- 572 files changed, 10029 insertions(+), 3639 deletions(-) create mode 100644 dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js create mode 100644 dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js create mode 100644 dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js create mode 100644 dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js create mode 100644 dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js create mode 100644 dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js rename dist/melonjs.mjs/video/{texture/canvas_texture.js => rendertarget/canvasrendertarget.js} (75%) create mode 100644 dist/types/loader/parsers/compressed_textures/compressed_image.d.ts create mode 100644 dist/types/loader/parsers/compressed_textures/parseDDS.d.ts create mode 100644 dist/types/loader/parsers/compressed_textures/parseKTX.d.ts create mode 100644 dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts create mode 100644 dist/types/loader/parsers/compressed_textures/parsePKM.d.ts create mode 100644 dist/types/loader/parsers/compressed_textures/parsePVR.d.ts rename dist/types/video/{texture/canvas_texture.d.ts => rendertarget/canvasrendertarget.d.ts} (89%) create mode 100644 docs/docs/melonjs/CanvasRenderTarget.html create mode 100644 docs/docs/melonjs/Math/isPowerOfFour.html create mode 100644 docs/docs/melonjs/audio/orientation.html create mode 100644 docs/docs/melonjs/audio/panner.html create mode 100644 docs/docs/melonjs/audio/position.html create mode 100644 docs/docs/melonjs/audio/stereo.html create mode 100644 docs/docs/melonjs/src/loader/parsers/compressed_textures/compressed_image.js.html create mode 100644 docs/docs/melonjs/src/loader/parsers/compressed_textures/parseDDS.js.html create mode 100644 docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX.js.html create mode 100644 docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX2.js.html create mode 100644 docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePKM.js.html create mode 100644 docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePVR.js.html rename docs/docs/melonjs/src/video/{texture/canvas_texture.js.html => rendertarget/canvasrendertarget.js.html} (77%) diff --git a/dist/melonjs.mjs/_virtual/_commonjsHelpers.js b/dist/melonjs.mjs/_virtual/_commonjsHelpers.js index 8d6252dafa..c135c66d82 100644 --- a/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +++ b/dist/melonjs.mjs/_virtual/_commonjsHelpers.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 09ed37f349..9859c5185d 100644 --- a/dist/melonjs.mjs/_virtual/earcut.js +++ b/dist/melonjs.mjs/_virtual/earcut.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 d913dad15e..ef0548432e 100644 --- a/dist/melonjs.mjs/_virtual/howler.js +++ b/dist/melonjs.mjs/_virtual/howler.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 a8b3c61b18..6dadbeecc9 100644 --- a/dist/melonjs.mjs/_virtual/index.js +++ b/dist/melonjs.mjs/_virtual/index.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 index db8b0bdd63..9743fea4f5 100644 --- a/dist/melonjs.mjs/_virtual/re.js +++ b/dist/melonjs.mjs/_virtual/re.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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/application.js b/dist/melonjs.mjs/application/application.js index cf7d089fa2..e9ea916d88 100644 --- a/dist/melonjs.mjs/application/application.js +++ b/dist/melonjs.mjs/application/application.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 177d534d6a..34d7d73407 100644 --- a/dist/melonjs.mjs/application/header.js +++ b/dist/melonjs.mjs/application/header.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 f882f9cb23..08d9fc665a 100644 --- a/dist/melonjs.mjs/application/resize.js +++ b/dist/melonjs.mjs/application/resize.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 6dc0b9c37a..fbaacb1510 100644 --- a/dist/melonjs.mjs/application/settings.js +++ b/dist/melonjs.mjs/application/settings.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 f8e146c023..ebee970604 100644 --- a/dist/melonjs.mjs/audio/audio.js +++ b/dist/melonjs.mjs/audio/audio.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -65,7 +65,6 @@ let soundLoadError = function (sound_name, onerror_cb) { * if true, melonJS will throw an exception and stop loading
* if false, melonJS will disable sounds and output a warning message * in the console
- * @name stopOnAudioError * @type {boolean} * @default true * @memberof audio @@ -79,7 +78,7 @@ let stopOnAudioError = true; * webm has nearly full browser coverage with a great combination of compression and quality, and mp3 will fallback gracefully for other browsers. * It is important to remember that melonJS selects the first compatible sound based on the list of extensions and given order passed here. * So if you want webm to be used before mp3, you need to put the audio format in that order. - * @function audio.init + * @memberof audio * @param {string} [format="mp3"] - audio format to prioritize ("mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac") * @returns {boolean} Indicates whether audio initialization was successful * @example @@ -98,7 +97,7 @@ function init(format = "mp3") { /** * check if the given audio format is supported - * @function audio.hasFormat + * @memberof audio * @param {"mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac"} codec - the audio format to check for support * @returns {boolean} return true if the given audio format is supported */ @@ -108,7 +107,7 @@ function hasFormat(codec) { /** * check if audio (HTML5 or WebAudio) is supported - * @function audio.hasAudio + * @memberof audio * @returns {boolean} return true if audio (HTML5 or WebAudio) is supported */ function hasAudio() { @@ -118,7 +117,7 @@ function hasAudio() { /** * enable audio output
* only useful if audio supported and previously disabled through - * @function audio.enable + * @memberof audio * @see audio.disable */ function enable() { @@ -127,7 +126,7 @@ function enable() { /** * disable audio output - * @function audio.disable + * @memberof audio */ function disable() { muteAll(); @@ -135,7 +134,7 @@ function disable() { /** * Load an audio file - * @function audio.load + * @memberof audio * @param {loader.Asset} sound * @param {Function} [onloadcb] - function to be called when the resource is loaded * @param {Function} [onerrorcb] - function to be called in case of error @@ -178,7 +177,7 @@ function load(sound, onloadcb, onerrorcb, settings = {}) { /** * play the specified sound - * @function audio.play + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {boolean} [loop=false] - loop audio * @param {Function} [onend] - Function to call when sound instance ends playing. @@ -219,7 +218,7 @@ function play(sound_name, loop = false, onend, volume) { /** * Fade a currently playing sound between two volumee. - * @function audio.fade + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} from - Volume to fade from (0.0 to 1.0). * @param {number} to - Volume to fade to (0.0 to 1.0). @@ -237,7 +236,7 @@ function fade(sound_name, from, to, duration, id) { /** * get/set the position of playback for a sound. - * @function audio.seek + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [seek] - the position to move current playback to (in seconds). * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will changed. @@ -259,7 +258,7 @@ function seek(sound_name, ...args) { /** * get or set the rate of playback for a sound. - * @function audio.rate + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [rate] - playback rate : 0.5 to 4.0, with 1.0 being normal speed. * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed. @@ -279,9 +278,96 @@ function rate(sound_name, ...args) { } } +/** + * get or set the stereo panning for the specified sound. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {number} [pan] - the panning value - A value of -1.0 is all the way left and 1.0 is all the way right. + * @return {number} the current panning value + * @example + * me.audio.stereo("cling", -1); + */ +function stereo(sound_name, pan) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.stereo(pan); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + +/** + * get or set the 3D spatial position for the specified sound. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {Number} x - the x-position of the audio source. + * @param {Number} y - the y-position of the audio source. + * @param {Number} z - the z-position of the audio source. + * @return {Array} the current 3D spatial position: [x, y, z] + */ +function position(sound_name, x, y, z) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.pos(x, y, z); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + +/** + * Get/set the direction the audio source is pointing in the 3D cartesian coordinate space. + * Depending on how direction the sound is, based on the `cone` attributes, a sound pointing away from the listener can be quiet or silent. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {Number} x - the x-orientation of the audio source. + * @param {Number} y - the y-orientation of the audio source. + * @param {Number} z - the z-orientation of the audio source. + * @return {Array} the current 3D spatial orientation: [x, y, z] + */ +function orientation(sound_name, x, y, z) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.orientation(x, y, z); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + +/** + * get or set the panner node's attributes for a sound or group of sounds. + * See {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Web_audio_spatialization_basics#creating_a_panner_node} + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {object} [attribute] - the panner attributes to set + * @param {string} [settings.coneInnerAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, inside of which there will be no volume reduction. + * @param {string} [settings.coneOuterAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, outside of which the volume will be reduced to a constant value of `coneOuterGain`. + * @param {string} [settings.coneOuterGain=0] - A parameter for directional audio sources, this is the gain outside of the `coneOuterAngle`. It is a linear value in the range `[0, 1]`. + * @param {string} [settings.distanceModel="inverse"] - Determines algorithm used to reduce volume as audio moves away from listener. Can be `linear`, `inverse` or `exponential. + * @param {string} [settings.maxDistance=10000] - The maximum distance between source and listener, after which the volume will not be reduced any further. + * @param {string} [settings.refDistance=1] - A reference distance for reducing volume as source moves further from the listener. This is simply a variable of the distance model and has a different effect depending on which model is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance. + * @param {string} [settings.rolloffFactor=1] - How quickly the volume reduces as source moves from listener. This is simply a variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]` with `inverse` and `exponential`. + * @param {string} [settings.panningModel="HRTF"] - Determines which spatialization algorithm is used to position audio. Can be `HRTF` or `equalpower`. + * @return {Object} current panner attributes. + * @example + * me.audio.panner("cling", { + * panningModel: 'HRTF', + * refDistance: 0.8, + * rolloffFactor: 2.5, + * distanceModel: 'exponential' + * }); + */ +function panner(sound_name, attributes) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.pannerAttr(attributes); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + /** * stop the specified sound on all channels - * @function audio.stop + * @memberof audio * @param {string} [sound_name] - audio clip name (case sensitive). If none is passed, all sounds are stopped. * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will stop. * @example @@ -305,7 +391,7 @@ function stop(sound_name, id) { /** * pause the specified sound on all channels
* this function does not reset the currentTime property - * @function audio.pause + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will pause. * @example @@ -322,7 +408,7 @@ function pause(sound_name, id) { /** * resume the specified sound on all channels
- * @function audio.resume + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will resume. * @example @@ -348,7 +434,7 @@ function resume(sound_name, id) { * play the specified audio track
* this function automatically set the loop property to true
* and keep track of the current sound being played. - * @function audio.playTrack + * @memberof audio * @param {string} sound_name - audio track name - case sensitive * @param {number} [volume=default] - Float specifying volume (0.0 - 1.0 values accepted). * @returns {number} the sound instance ID. @@ -367,7 +453,7 @@ function playTrack(sound_name, volume) { /** * stop the current audio track - * @function audio.stopTrack + * @memberof audio * @see audio.playTrack * @example * // play a awesome music @@ -384,7 +470,7 @@ function stopTrack() { /** * pause the current audio track - * @function audio.pauseTrack + * @memberof audio * @example * me.audio.pauseTrack(); */ @@ -396,7 +482,7 @@ function pauseTrack() { /** * resume the previously paused audio track - * @function audio.resumeTrack + * @memberof audio * @example * // play an awesome music * me.audio.playTrack("awesome_music"); @@ -413,7 +499,7 @@ function resumeTrack() { /** * returns the current track Id - * @function audio.getCurrentTrack + * @memberof audio * @returns {string} audio track name */ function getCurrentTrack() { @@ -422,7 +508,7 @@ function getCurrentTrack() { /** * set the default global volume - * @function audio.setVolume + * @memberof audio * @param {number} volume - Float specifying volume (0.0 - 1.0 values accepted). */ function setVolume(volume) { @@ -431,7 +517,7 @@ function setVolume(volume) { /** * get the default global volume - * @function audio.getVolume + * @memberof audio * @returns {number} current volume value in Float [0.0 - 1.0] . */ function getVolume() { @@ -440,7 +526,7 @@ function getVolume() { /** * mute or unmute the specified sound, but does not pause the playback. - * @function audio.mute + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will mute. * @param {boolean} [mute=true] - True to mute and false to unmute @@ -459,7 +545,7 @@ function mute(sound_name, id, mute = true) { /** * unmute the specified sound - * @function audio.unmute + * @memberof audio * @param {string} sound_name - audio clip name * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will unmute. */ @@ -469,7 +555,7 @@ function unmute(sound_name, id) { /** * mute all audio - * @function audio.muteAll + * @memberof audio */ function muteAll() { howler.Howler.mute(true); @@ -477,7 +563,7 @@ function muteAll() { /** * unmute all audio - * @function audio.unmuteAll + * @memberof audio */ function unmuteAll() { howler.Howler.mute(false); @@ -485,7 +571,7 @@ function unmuteAll() { /** * Returns true if audio is muted globally. - * @function audio.muted + * @memberof audio * @returns {boolean} true if audio is muted globally */ function muted() { @@ -494,7 +580,7 @@ function muted() { /** * unload specified audio track to free memory - * @function audio.unload + * @memberof audio * @param {string} sound_name - audio track name - case sensitive * @returns {boolean} true if unloaded * @example @@ -513,7 +599,7 @@ function unload(sound_name) { /** * unload all audio to free memory - * @function audio.unloadAll + * @memberof audio * @example * me.audio.unloadAll(); */ @@ -525,4 +611,4 @@ function unloadAll() { } } -export { disable, enable, fade, getCurrentTrack, getVolume, hasAudio, hasFormat, init, load, mute, muteAll, muted, pause, pauseTrack, play, playTrack, rate, resume, resumeTrack, seek, setVolume, stop, stopOnAudioError, stopTrack, unload, unloadAll, unmute, unmuteAll }; +export { disable, enable, fade, getCurrentTrack, getVolume, hasAudio, hasFormat, init, load, mute, muteAll, muted, orientation, panner, pause, pauseTrack, play, playTrack, position, rate, resume, resumeTrack, seek, setVolume, stereo, stop, stopOnAudioError, stopTrack, unload, unloadAll, unmute, unmuteAll }; diff --git a/dist/melonjs.mjs/camera/camera2d.js b/dist/melonjs.mjs/camera/camera2d.js index 377007fbbd..11d380e91c 100644 --- a/dist/melonjs.mjs/camera/camera2d.js +++ b/dist/melonjs.mjs/camera/camera2d.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 3167d79cf3..13ed73ff00 100644 --- a/dist/melonjs.mjs/const.js +++ b/dist/melonjs.mjs/const.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 5c3a01843a..2bbfdecdce 100644 --- a/dist/melonjs.mjs/geometries/ellipse.js +++ b/dist/melonjs.mjs/geometries/ellipse.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 5b427139f1..d469fb3c26 100644 --- a/dist/melonjs.mjs/geometries/line.js +++ b/dist/melonjs.mjs/geometries/line.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 15b5e0180a..96c1695312 100644 --- a/dist/melonjs.mjs/geometries/path2d.js +++ b/dist/melonjs.mjs/geometries/path2d.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 eb08355dc3..a8d3e6e73a 100644 --- a/dist/melonjs.mjs/geometries/point.js +++ b/dist/melonjs.mjs/geometries/point.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 d992d14a7a..6e1c9dc983 100644 --- a/dist/melonjs.mjs/geometries/poly.js +++ b/dist/melonjs.mjs/geometries/poly.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 531ea0ce00..1a712518af 100644 --- a/dist/melonjs.mjs/geometries/rectangle.js +++ b/dist/melonjs.mjs/geometries/rectangle.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 ab986f22d9..dd5f062f1f 100644 --- a/dist/melonjs.mjs/geometries/roundrect.js +++ b/dist/melonjs.mjs/geometries/roundrect.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 58a154f122..04ad8a506f 100644 --- a/dist/melonjs.mjs/geometries/toarccanvas.js +++ b/dist/melonjs.mjs/geometries/toarccanvas.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 be4fff60d7..beb60b28ad 100644 --- a/dist/melonjs.mjs/index.js +++ b/dist/melonjs.mjs/index.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -29,7 +29,7 @@ export { default as QuadCompositor } from './video/webgl/compositors/quad_compos export { default as Renderer } from './video/renderer.js'; export { default as WebGLRenderer } from './video/webgl/webgl_renderer.js'; export { default as CanvasRenderer } from './video/canvas/canvas_renderer.js'; -import CanvasTexture from './video/texture/canvas_texture.js'; +import CanvasRenderTarget from './video/rendertarget/canvasrendertarget.js'; export { TextureAtlas } from './video/texture/atlas.js'; import Renderable from './renderable/renderable.js'; import ColorLayer from './renderable/colorlayer.js'; @@ -98,7 +98,7 @@ export { default as timer } from './system/timer.js'; import pool from './system/pooling.js'; export { default as state } from './state/state.js'; export { default as level } from './level/level.js'; -export { DraggableEntity, DroptargetEntity, GUI_Object } from './lang/deprecated.js'; +export { CanvasTexture, DraggableEntity, DroptargetEntity, GUI_Object } from './lang/deprecated.js'; export { AUTO, CANVAS, WEBGL } from './const.js'; import { initKeyboardEvent } from './input/keyboard.js'; @@ -112,7 +112,7 @@ import { initKeyboardEvent } from './input/keyboard.js'; * @name version * @type {string} */ -const version = "17.0.0"; +const version = "17.1.0"; /** * a flag indicating that melonJS is fully initialized @@ -214,7 +214,7 @@ function boot() { pool.register("Point", Point, true); pool.register("Ellipse", Ellipse, true); pool.register("Bounds", Bounds, true); - pool.register("CanvasTexture", CanvasTexture, true); + pool.register("CanvasRenderTarget", CanvasRenderTarget, true); // publish Boot notification emit(BOOT); @@ -236,4 +236,4 @@ onReady(() => { } }); -export { Application, BitmapText, BitmapTextData, Bounds, CanvasTexture, Collectable, Color, ColorLayer, Ellipse, Entity, ImageLayer, Light2d, Line, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, Point, Polygon, Rect, Renderable, RoundRect, Sprite, Text, Trigger, Tween, Vector2d, Vector3d, boot, game, initialized, pool, skipAutoInit, version }; +export { Application, BitmapText, BitmapTextData, Bounds, CanvasRenderTarget, Collectable, Color, ColorLayer, Ellipse, Entity, ImageLayer, Light2d, Line, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, Point, Polygon, Rect, Renderable, RoundRect, Sprite, Text, Trigger, Tween, Vector2d, Vector3d, boot, game, initialized, pool, skipAutoInit, version }; diff --git a/dist/melonjs.mjs/input/gamepad.js b/dist/melonjs.mjs/input/gamepad.js index 545ca891bb..db32324e71 100644 --- a/dist/melonjs.mjs/input/gamepad.js +++ b/dist/melonjs.mjs/input/gamepad.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 949bd8a64d..a95d5e302b 100644 --- a/dist/melonjs.mjs/input/input.js +++ b/dist/melonjs.mjs/input/input.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 08e7410b6d..f7cd746ff8 100644 --- a/dist/melonjs.mjs/input/keyboard.js +++ b/dist/melonjs.mjs/input/keyboard.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 3b6a820b38..0b635e254f 100644 --- a/dist/melonjs.mjs/input/pointer.js +++ b/dist/melonjs.mjs/input/pointer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 5dbd9f92a1..31e831af8b 100644 --- a/dist/melonjs.mjs/input/pointerevent.js +++ b/dist/melonjs.mjs/input/pointerevent.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 299453ee4e..a3fc4c76bf 100644 --- a/dist/melonjs.mjs/lang/console.js +++ b/dist/melonjs.mjs/lang/console.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 297d3c30ec..9b6f7132f5 100644 --- a/dist/melonjs.mjs/lang/deprecated.js +++ b/dist/melonjs.mjs/lang/deprecated.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -11,6 +11,7 @@ import { Draggable } from '../renderable/draggable.js'; import { DropTarget } from '../renderable/dragndrop.js'; import UISpriteElement from '../renderable/ui/uispriteelement.js'; import { warning } from './console.js'; +import CanvasRenderTarget from '../video/rendertarget/canvasrendertarget.js'; /* * placeholder for all deprecated classes and corresponding alias for backward compatibility @@ -148,4 +149,25 @@ Renderer.prototype.getHeight = function() { return this.height; }; -export { DraggableEntity, DroptargetEntity, GUI_Object }; +/** + * @classdesc + * @deprecated since 17.1.0 + * @see CanvasRenderTarget + */ +class CanvasTexture extends CanvasRenderTarget { + /** + * @param {number} width - the desired width of the canvas + * @param {number} height - the desired height of the canvas + * @param {object} attributes - The attributes to create both the canvas and context + * @param {boolean} [attributes.context="2d"] - the context type to be created ("2d", "webgl", "webgl2") + * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas + * @param {boolean} [attributes.willReadFrequently=false] - Indicates whether or not a lot of read-back operations are planned + * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect. + */ + constructor(width, height, attributes) { + warning("CanvasTexture", "CanvasRenderTarget", "17.1.0"); + super(width, height, attributes); + } +} + +export { CanvasTexture, DraggableEntity, DroptargetEntity, GUI_Object }; diff --git a/dist/melonjs.mjs/level/level.js b/dist/melonjs.mjs/level/level.js index 3132c0cb6e..55e365031c 100644 --- a/dist/melonjs.mjs/level/level.js +++ b/dist/melonjs.mjs/level/level.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 21c7f0aa16..5d8a08e050 100644 --- a/dist/melonjs.mjs/level/tiled/TMXGroup.js +++ b/dist/melonjs.mjs/level/tiled/TMXGroup.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 c8cbcc2eac..bd7b0eff9f 100644 --- a/dist/melonjs.mjs/level/tiled/TMXLayer.js +++ b/dist/melonjs.mjs/level/tiled/TMXLayer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 cf3697523d..370a7123a1 100644 --- a/dist/melonjs.mjs/level/tiled/TMXObject.js +++ b/dist/melonjs.mjs/level/tiled/TMXObject.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 4f3c5af168..82e2f00a73 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTile.js +++ b/dist/melonjs.mjs/level/tiled/TMXTile.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 c5dc4dd307..ddbaf6543d 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTileMap.js +++ b/dist/melonjs.mjs/level/tiled/TMXTileMap.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 ffc9953e02..16d926e299 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTileset.js +++ b/dist/melonjs.mjs/level/tiled/TMXTileset.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 a9064d35e7..c349d7561a 100644 --- a/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +++ b/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 dd96037684..974b367962 100644 --- a/dist/melonjs.mjs/level/tiled/TMXUtils.js +++ b/dist/melonjs.mjs/level/tiled/TMXUtils.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 522d89ac68..6af20598e2 100644 --- a/dist/melonjs.mjs/level/tiled/constants.js +++ b/dist/melonjs.mjs/level/tiled/constants.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 a9c967b85c..b1b4a9a7f2 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 0e23ddddee..633c370e74 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 922b1be0c9..07723543cc 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 bceb4a51fd..ae817e6412 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 e0ce76c95a..5d5885baa6 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 eed397890c..84557c2883 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 65560c7616..b154785db3 100644 --- a/dist/melonjs.mjs/loader/cache.js +++ b/dist/melonjs.mjs/loader/cache.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 db99eaaef6..00887e13f4 100644 --- a/dist/melonjs.mjs/loader/loader.js +++ b/dist/melonjs.mjs/loader/loader.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 b378376ba5..3da70c177a 100644 --- a/dist/melonjs.mjs/loader/loadingscreen.js +++ b/dist/melonjs.mjs/loader/loadingscreen.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 b40deacd9a..73259ffb4f 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 96c6616a71..d7b6ebc59b 100644 --- a/dist/melonjs.mjs/loader/parsers/binary.js +++ b/dist/melonjs.mjs/loader/parsers/binary.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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/compressed_textures/compressed_image.js b/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js new file mode 100644 index 0000000000..d8905e5a43 --- /dev/null +++ b/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js @@ -0,0 +1,58 @@ +/*! + * melonJS Game Engine - v17.1.0 + * 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) + */ +import { parseDDS } from './parseDDS.js'; +import { parseKTX } from './parseKTX.js'; +import { parseKTX2 } from './parseKTX2.js'; +import { parsePVR } from './parsePVR.js'; +import { parsePKM } from './parsePKM.js'; +import { once, VIDEO_INIT } from '../../../system/event.js'; + +let _renderer; + +// gracefully capture a reference to the active renderer without adding more cyclic redundancy +once(VIDEO_INIT, (renderer) => { + _renderer = renderer; +}); + + +function parseCompressedImage(arrayBuffer, imgExt) { + let texture; + + // check if the current renderer is WebGL + if (_renderer.type.includes("WebGL")) { + switch (imgExt) { + // Compressed texture + case "dds": + texture = parseDDS(); + break; + case "pvr": + texture = parsePVR(); + break; + case "pkm": + texture = parsePKM(); + break; + case "ktx": + texture = parseKTX(); + break; + case "ktx2": + texture = parseKTX2(); + break; + } + } + + if (typeof texture !== "undefined") { + if (_renderer.hasSupportedCompressedFormats(texture.format)) { + console.log("Compressed texture format supported: " + texture.format); + return texture; + } + } + + throw ("unsupported texture format:" + imgExt + texture ? " (" + texture.format + ")" : ""); +} + +export { parseCompressedImage }; diff --git a/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js b/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js new file mode 100644 index 0000000000..6fa5838fbe --- /dev/null +++ b/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js @@ -0,0 +1,13 @@ +/*! + * melonJS Game Engine - v17.1.0 + * 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) + */ +// parse and return the compressed texture +function parseDDS(/*data, formats*/) { + throw new Error("unsupported format"); +} + +export { parseDDS }; diff --git a/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js b/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js new file mode 100644 index 0000000000..37d3a30d0a --- /dev/null +++ b/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js @@ -0,0 +1,13 @@ +/*! + * melonJS Game Engine - v17.1.0 + * 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) + */ +// parse and return the compressed texture +function parseKTX(/*data, formats*/) { + throw new Error("unsupported format"); +} + +export { parseKTX }; diff --git a/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js b/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js new file mode 100644 index 0000000000..b9665d2315 --- /dev/null +++ b/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js @@ -0,0 +1,13 @@ +/*! + * melonJS Game Engine - v17.1.0 + * 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) + */ +// parse and return the compressed texture +function parseKTX2(/*data, formats*/) { + throw new Error("unsupported format"); +} + +export { parseKTX2 }; diff --git a/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js b/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js new file mode 100644 index 0000000000..4d2ccb659f --- /dev/null +++ b/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js @@ -0,0 +1,13 @@ +/*! + * melonJS Game Engine - v17.1.0 + * 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) + */ +// parse and return the compressed texture +function parsePKM(/*data, formats*/) { + throw new Error("unsupported format"); +} + +export { parsePKM }; diff --git a/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js b/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js new file mode 100644 index 0000000000..b33df658ec --- /dev/null +++ b/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js @@ -0,0 +1,136 @@ +/*! + * melonJS Game Engine - v17.1.0 + * 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) + */ +/* +const COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00; +const COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01; +const COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02; +const COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03; + +const COMPRESSED_RGB_ETC1_WEBGL = 0x8D64; + +const PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints. +//const PVR_MAGIC = 0x03525650; //0x50565203; + +// Offsets into the header array. +//const PVR_HEADER_MAGIC = 0; +const PVR_HEADER_FORMAT = 2; +const PVR_HEADER_HEIGHT = 6; +const PVR_HEADER_WIDTH = 7; +const PVR_HEADER_MIPMAPCOUNT = 11; +const PVR_HEADER_METADATA = 12; + +const PVR_FORMAT_2BPP_RGB = 0; +const PVR_FORMAT_2BPP_RGBA = 1; +const PVR_FORMAT_4BPP_RGB = 2; +const PVR_FORMAT_4BPP_RGBA = 3; +//const PVR_COLOR_SPACE = 4; +const PVR_FORMAT_ETC1 = 6; +const PVR_FORMAT_DXT1 = 7; +const PVR_FORMAT_DXT3 = 9; +const PVR_FORMAT_DXT5 = 5; + +const COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; +//const COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; +const COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; +const COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; + +const PVR_TO_WEBGL_FORMAT = { + [PVR_FORMAT_2BPP_RGB] : COMPRESSED_RGB_PVRTC_2BPPV1_IMG, + [PVR_FORMAT_2BPP_RGBA] : COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, + [PVR_FORMAT_4BPP_RGB] : COMPRESSED_RGB_PVRTC_4BPPV1_IMG, + [PVR_FORMAT_4BPP_RGBA] : COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, + [PVR_FORMAT_ETC1] : COMPRESSED_RGB_ETC1_WEBGL, + [PVR_FORMAT_DXT1] : COMPRESSED_RGB_S3TC_DXT1_EXT, + [PVR_FORMAT_DXT3] : COMPRESSED_RGBA_S3TC_DXT3_EXT, + [PVR_FORMAT_DXT5] : COMPRESSED_RGBA_S3TC_DXT5_EXT +}; + +function levelBufferSize(format, width, height) { + switch (format) { + case COMPRESSED_RGB_S3TC_DXT1_EXT: + case COMPRESSED_RGB_ETC1_WEBGL: + return ((width + 3) >> 2) * ((height + 3) >> 2) * 8; + + case COMPRESSED_RGBA_S3TC_DXT3_EXT: + case COMPRESSED_RGBA_S3TC_DXT5_EXT: + return ((width + 3) >> 2) * ((height + 3) >> 2) * 16; + + case COMPRESSED_RGB_PVRTC_4BPPV1_IMG: + case COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: + return Math.floor((Math.max(width, 8) * Math.max(height, 8) * 4 + 7) / 8); + + case COMPRESSED_RGB_PVRTC_2BPPV1_IMG: + case COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: + return Math.floor((Math.max(width, 16) * Math.max(height, 8) * 2 + 7) / 8); + + default: + return 0; + } +} +*/ + +// parse and return the compressed texture +function parsePVR() { + + throw new Error("unsupported format"); + + /* + + // Create a new DataView from the data + let header = new Uint32Array(data, 0, PVR_HEADER_LENGTH); + + //console.log(header); + + // VERSION + //const version = header[PVR_HEADER_FORMAT]; + //const versionMatch = version === PVR_MAGIC; + + // PIXEL_FORMAT_INDEX + const pvrFormat = PVR_TO_WEBGL_FORMAT[header[PVR_HEADER_FORMAT]] || -1; + const width = header[PVR_HEADER_WIDTH]; + const height = header[PVR_HEADER_HEIGHT]; + const dataOffset = header[PVR_HEADER_METADATA] + 52; + //const colorSpace = header[PVR_COLOR_SPACE]; + const mipmapCount = header[PVR_HEADER_MIPMAPCOUNT]; + + var image = new Uint8Array(data, dataOffset); + var mipmaps = new Array(mipmapCount); + + var offset = 0; + var levelWidth = width; + var levelHeight = height; + + for (var i = 0; i < mipmapCount; i++) + { + var levelSize = levelBufferSize(pvrFormat, levelWidth, levelHeight); + + mipmaps[i] = { + data: new Uint8Array(image.buffer, image.byteOffset + offset, levelSize), + width: levelWidth, + height: levelHeight + }; + + levelWidth = Math.max(1, levelWidth >> 1); + levelHeight = Math.max(1, levelHeight >> 1); + + offset += levelSize; + } + + return { + mipmaps: mipmaps, + width: width, + height: height, + format: pvrFormat, + compressed: true, + generateMipmap: false + }; + + */ +} + +export { parsePVR }; diff --git a/dist/melonjs.mjs/loader/parsers/fetchdata.js b/dist/melonjs.mjs/loader/parsers/fetchdata.js index 54c9b8d03d..54e5e04539 100644 --- a/dist/melonjs.mjs/loader/parsers/fetchdata.js +++ b/dist/melonjs.mjs/loader/parsers/fetchdata.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 bad3acc1cf..8dfde5eda3 100644 --- a/dist/melonjs.mjs/loader/parsers/fontface.js +++ b/dist/melonjs.mjs/loader/parsers/fontface.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 ccab1858a3..115cdc78d9 100644 --- a/dist/melonjs.mjs/loader/parsers/image.js +++ b/dist/melonjs.mjs/loader/parsers/image.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -8,6 +8,7 @@ import { imgList } from '../cache.js'; import { fetchData } from './fetchdata.js'; import { getExtension } from '../../utils/file.js'; +import { parseCompressedImage } from './compressed_textures/compressed_image.js'; /** * parse/preload an image @@ -31,52 +32,98 @@ function preloadImage(img, onload, onerror, settings) { return 0; } - // handle SVG file loading - if (getExtension(img.src) === "svg") { - // handle SVG file - fetchData(img.src, "text", settings) - .then(svgText => { - const svgImage = new Image(); - svgImage.onload = function() { - imgList[img.name] = svgImage; - if (typeof onload === "function") { - // callback - onload(); - } - }; - svgImage.onerror = function(error) { - if (typeof onerror === "function") { - onerror(error); - } - }; - svgImage.src = "data:image/svg+xml;charset=utf8," + encodeURIComponent(svgText); - }) - .catch(error => { - if (typeof onerror === "function") { - onerror(error); - } - }); - } else { - // handle all other image files - fetchData(img.src, "blob", settings) - .then(blob => { - globalThis.createImageBitmap(blob) - .then((bitmap) => { - imgList[img.name] = bitmap; - if (typeof onload === "function") { - // callback - onload(); + let sources = Array.isArray(img.src) ? img.src : [img.src]; + let isFormatSupported = false; + + for (const imgPath of sources) { + const imgExt = getExtension(imgPath); + // loop will stop as soon as a first supported format is detected + switch (imgExt) { + // Compressed texture + case "dds": + case "pvr": + case "pkm": + case "ktx": + case "ktx2": + fetchData(imgPath, "arrayBuffer", settings) + .then(arrayBuffer => { + try { + imgList[img.name] = parseCompressedImage(arrayBuffer, imgExt); + isFormatSupported = true; + if (typeof onload === "function") { + // callback + onload(); + } + } catch (e) { + // parseCompressedImage will throw an error if a format is not supported or badly formatted + } + }).catch(error => { + if (typeof onerror === "function") { + // file cannot be loaded + onerror(error); + } + }); + break; + + // SVG file + case "svg": + fetchData(imgPath, "text", settings) + .then(svgText => { + const svgImage = new Image(); + svgImage.onload = function() { + imgList[img.name] = svgImage; + if (typeof onload === "function") { + // callback + onload(); + } + }; + svgImage.onerror = function(error) { + if (typeof onerror === "function") { + onerror(error); + } + }; + svgImage.src = "data:image/svg+xml;charset=utf8," + encodeURIComponent(svgText); + }) + .catch(error => { + if (typeof onerror === "function") { + onerror(error); } }); - }) - .catch(error => { - if (typeof onerror === "function") { - onerror(error); - } - }); + isFormatSupported = true; + break; + + // default is regular images (jpg, png and friends) + default: + fetchData(imgPath, "blob", settings) + .then(blob => { + globalThis.createImageBitmap(blob) + .then((bitmap) => { + imgList[img.name] = bitmap; + if (typeof onload === "function") { + // callback + onload(); + } + }); + }) + .catch(error => { + if (typeof onerror === "function") { + onerror(error); + } + }); + isFormatSupported = true; + break; + } + + // exit the loop as soon as the first supported format is detected + if (isFormatSupported === true) { + return 1; + } } - return 1; + // no compatible format was found + throw new Error( + "No suppported Image file format found for " + img.name + ); } export { preloadImage }; diff --git a/dist/melonjs.mjs/loader/parsers/json.js b/dist/melonjs.mjs/loader/parsers/json.js index bbaf07bef5..8a63f2dda4 100644 --- a/dist/melonjs.mjs/loader/parsers/json.js +++ b/dist/melonjs.mjs/loader/parsers/json.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 e1d9376edf..51dee61e40 100644 --- a/dist/melonjs.mjs/loader/parsers/script.js +++ b/dist/melonjs.mjs/loader/parsers/script.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 6f1ba33a76..62eda2b777 100644 --- a/dist/melonjs.mjs/loader/parsers/tmx.js +++ b/dist/melonjs.mjs/loader/parsers/tmx.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 afe28f7557..88590c93af 100644 --- a/dist/melonjs.mjs/loader/parsers/video.js +++ b/dist/melonjs.mjs/loader/parsers/video.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 44ab835c8b..2abdab05c5 100644 --- a/dist/melonjs.mjs/math/color.js +++ b/dist/melonjs.mjs/math/color.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 7c35ff3a2c..d1cdd32fbe 100644 --- a/dist/melonjs.mjs/math/math.js +++ b/dist/melonjs.mjs/math/math.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -55,6 +55,28 @@ function isPowerOfTwo(val) { return (val & (val - 1)) === 0; } +/** + * returns true if the given value is a power of four + * @memberof Math + * @param {number} val + * @returns {boolean} + */ +function isPowerOfFour(val) { + if (val === 0 || val === 2 || val === 3) { + return false; + } + if (val === 1) { + return true; + } + + if ((val & (val - 1)) === 0) { + if ((val & 0xAAAAAAAA) === 0) { + return true; + } + } + return false; +} + /** * returns the next power of two for the given value * @memberof Math @@ -196,4 +218,4 @@ function pow(n) { return Math.pow(n, 2); } -export { DEG_TO_RAD, EPSILON, ETA, RAD_TO_DEG, TAU, clamp, degToRad, isPowerOfTwo, nextPowerOfTwo, pow, radToDeg, random, randomFloat, round, toBeCloseTo, weightedRandom }; +export { DEG_TO_RAD, EPSILON, ETA, RAD_TO_DEG, TAU, clamp, degToRad, isPowerOfFour, isPowerOfTwo, nextPowerOfTwo, pow, radToDeg, random, randomFloat, round, toBeCloseTo, weightedRandom }; diff --git a/dist/melonjs.mjs/math/matrix2.js b/dist/melonjs.mjs/math/matrix2.js index 64777b75a0..7e32a2c391 100644 --- a/dist/melonjs.mjs/math/matrix2.js +++ b/dist/melonjs.mjs/math/matrix2.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 a10204d8f2..4a52f5e368 100644 --- a/dist/melonjs.mjs/math/matrix3.js +++ b/dist/melonjs.mjs/math/matrix3.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 5ad9afb9cb..6dab161382 100644 --- a/dist/melonjs.mjs/math/observable_vector2.js +++ b/dist/melonjs.mjs/math/observable_vector2.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 88b1194651..7dd30a35ea 100644 --- a/dist/melonjs.mjs/math/observable_vector3.js +++ b/dist/melonjs.mjs/math/observable_vector3.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 f98a037605..79cc2527c7 100644 --- a/dist/melonjs.mjs/math/vector2.js +++ b/dist/melonjs.mjs/math/vector2.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 582b167309..c86eeac714 100644 --- a/dist/melonjs.mjs/math/vector3.js +++ b/dist/melonjs.mjs/math/vector3.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 e4031c7cd3..de77d9505c 100644 --- a/dist/melonjs.mjs/particles/emitter.js +++ b/dist/melonjs.mjs/particles/emitter.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -14,7 +14,7 @@ import Container from '../renderable/container.js'; * @ignore */ function createDefaultParticleTexture(w = 8, h = 8) { - let defaultParticleTexture = pool.pull("CanvasTexture", w, h, { offscreenCanvas: true }); + let defaultParticleTexture = pool.pull("CanvasRenderTarget", w, h, { offscreenCanvas: true }); defaultParticleTexture.context.fillStyle = "#fff"; defaultParticleTexture.context.fillRect(0, 0, w, h); diff --git a/dist/melonjs.mjs/particles/particle.js b/dist/melonjs.mjs/particles/particle.js index 751b5d8f40..852ff1581e 100644 --- a/dist/melonjs.mjs/particles/particle.js +++ b/dist/melonjs.mjs/particles/particle.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 6bb0cde375..7925763f76 100644 --- a/dist/melonjs.mjs/particles/settings.js +++ b/dist/melonjs.mjs/particles/settings.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 52e995167f..4de2d0d30c 100644 --- a/dist/melonjs.mjs/physics/body.js +++ b/dist/melonjs.mjs/physics/body.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 9bdcf0b1ea..a3f02cc1e0 100644 --- a/dist/melonjs.mjs/physics/bounds.js +++ b/dist/melonjs.mjs/physics/bounds.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 017790cc3f..81b8a1e541 100644 --- a/dist/melonjs.mjs/physics/collision.js +++ b/dist/melonjs.mjs/physics/collision.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 d7f42d126c..f5ddc7545c 100644 --- a/dist/melonjs.mjs/physics/detector.js +++ b/dist/melonjs.mjs/physics/detector.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 2cd05dbc48..71111b10c5 100644 --- a/dist/melonjs.mjs/physics/quadtree.js +++ b/dist/melonjs.mjs/physics/quadtree.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 99cc7f9e07..7b9d0b6d40 100644 --- a/dist/melonjs.mjs/physics/response.js +++ b/dist/melonjs.mjs/physics/response.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 1d0d1620d0..12dab5d88c 100644 --- a/dist/melonjs.mjs/physics/sat.js +++ b/dist/melonjs.mjs/physics/sat.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 99786dff89..2d191a97e5 100644 --- a/dist/melonjs.mjs/physics/world.js +++ b/dist/melonjs.mjs/physics/world.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 431950e73e..8bc64fe6cc 100644 --- a/dist/melonjs.mjs/plugin/plugin.js +++ b/dist/melonjs.mjs/plugin/plugin.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 "17.0.0" + * @default "17.1.0" */ - this.version = "17.0.0"; + this.version = "17.1.0"; /** * a reference to the app/game that registered this plugin @@ -112,7 +112,7 @@ function patch(proto, name, fn) { * @memberof plugin * @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register * @param {string} [name=plugin.constructor.name] - a unique name for this plugin - * @param {object} [...arguments] - all extra parameters will be passed to the plugin constructor + * @param {...*} [args] - all extra parameters will be passed to the plugin constructor * @example * // register a new plugin * me.plugin.register(TestPlugin, "testPlugin"); diff --git a/dist/melonjs.mjs/renderable/collectable.js b/dist/melonjs.mjs/renderable/collectable.js index d507ced63d..1d3cf33833 100644 --- a/dist/melonjs.mjs/renderable/collectable.js +++ b/dist/melonjs.mjs/renderable/collectable.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 34bb68d01a..cdeea98ce2 100644 --- a/dist/melonjs.mjs/renderable/colorlayer.js +++ b/dist/melonjs.mjs/renderable/colorlayer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 88c4a962af..22e5f62353 100644 --- a/dist/melonjs.mjs/renderable/container.js +++ b/dist/melonjs.mjs/renderable/container.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 3b634d2cab..123a782d57 100644 --- a/dist/melonjs.mjs/renderable/draggable.js +++ b/dist/melonjs.mjs/renderable/draggable.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 1955da4b20..4d8f9d36cc 100644 --- a/dist/melonjs.mjs/renderable/dragndrop.js +++ b/dist/melonjs.mjs/renderable/dragndrop.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 fe9d8477ba..d29a3a524c 100644 --- a/dist/melonjs.mjs/renderable/entity/entity.js +++ b/dist/melonjs.mjs/renderable/entity/entity.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 f6da47fb91..791c9f7a84 100644 --- a/dist/melonjs.mjs/renderable/imagelayer.js +++ b/dist/melonjs.mjs/renderable/imagelayer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 88c747c50e..7cb53d7b33 100644 --- a/dist/melonjs.mjs/renderable/light2d.js +++ b/dist/melonjs.mjs/renderable/light2d.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -108,7 +108,7 @@ class Light2d extends Renderable { this.visibleArea = pool.pull("Ellipse", this.centerX, this.centerY, this.width, this.height); /** @ignore */ - this.texture = pool.pull("CanvasTexture", this.width, this.height, { offscreenCanvas: false }); + this.texture = pool.pull("CanvasRenderTarget", this.width, this.height, { offscreenCanvas: false }); this.anchorPoint.set(0, 0); diff --git a/dist/melonjs.mjs/renderable/nineslicesprite.js b/dist/melonjs.mjs/renderable/nineslicesprite.js index bb550c2685..fb8c80a0f9 100644 --- a/dist/melonjs.mjs/renderable/nineslicesprite.js +++ b/dist/melonjs.mjs/renderable/nineslicesprite.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 e08ce701be..2bab14cbc3 100644 --- a/dist/melonjs.mjs/renderable/renderable.js +++ b/dist/melonjs.mjs/renderable/renderable.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -10,6 +10,10 @@ import ObservableVector3d from '../math/observable_vector3.js'; import Rect from '../geometries/rectangle.js'; import pool from '../system/pooling.js'; import { clamp } from '../math/math.js'; +import Body from '../physics/body.js'; +import Bounds from '../physics/bounds.js'; +import GLShader from '../video/webgl/glshader.js'; +import Color from '../math/color.js'; import { releaseAllPointerEvents } from '../input/pointerevent.js'; /** @@ -798,8 +802,10 @@ class Renderable extends Rect { this._absPos = undefined; } - pool.push(this._bounds); - this._bounds = undefined; + if (this._bounds instanceof Bounds) { + pool.push(this._bounds); + this._bounds = undefined; + } this.onVisibilityChange = undefined; @@ -808,16 +814,22 @@ class Renderable extends Rect { this.mask = undefined; } - if (typeof this._tint !== "undefined") { + if (this._tint instanceof Color) { pool.push(this._tint); this._tint = undefined; } + // cannot import and reference a Container from a Renderable, since Container extends Renderable, creating a circular dependency + //if (this.ancestor instanceof Container || this.ancestor instanceof Entity) { this.ancestor = undefined; + + // cannot import and reference a Application from a Renderable, messsing up class order in the bundle + //if (this._parentApp instanceof Application) { this._parentApp = undefined; + //} - // destroy the physic body if defined and is a builtin body object - if ((typeof this.body !== "undefined") && (typeof this.body.destroy === "function")) { + // destroy the physic body if a builtin body object + if (this.body instanceof Body) { this.body.destroy.apply(this.body, arguments); this.body = undefined; } @@ -829,7 +841,7 @@ class Renderable extends Rect { this.onDestroyEvent.apply(this, arguments); // destroy any shader object if not done by the user through onDestroyEvent() - if (typeof this.shader === "object") { + if (this.shader instanceof GLShader) { this.shader.destroy(); this.shader = undefined; } diff --git a/dist/melonjs.mjs/renderable/sprite.js b/dist/melonjs.mjs/renderable/sprite.js index 9fe9178822..ada98ec893 100644 --- a/dist/melonjs.mjs/renderable/sprite.js +++ b/dist/melonjs.mjs/renderable/sprite.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 09fe613b3a..7f4e30bcb1 100644 --- a/dist/melonjs.mjs/renderable/text/bitmaptext.js +++ b/dist/melonjs.mjs/renderable/text/bitmaptext.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 1900faa0f2..65d91735e6 100644 --- a/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +++ b/dist/melonjs.mjs/renderable/text/bitmaptextdata.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 9402731be5..3a78aad1e1 100644 --- a/dist/melonjs.mjs/renderable/text/glyph.js +++ b/dist/melonjs.mjs/renderable/text/glyph.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 cbc062d8eb..2e56cc46fc 100644 --- a/dist/melonjs.mjs/renderable/text/text.js +++ b/dist/melonjs.mjs/renderable/text/text.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -183,7 +183,7 @@ class Text extends Renderable { // the canvas Texture used to render this text // XXX: offscreenCanvas is currently disabled for text rendering due to issue in WebGL mode - this.canvasTexture = pool.pull("CanvasTexture", 2, 2, { offscreenCanvas: false }); + this.canvasTexture = pool.pull("CanvasRenderTarget", 2, 2, { offscreenCanvas: false }); // instance to text metrics functions this.metrics = new TextMetrics(this); diff --git a/dist/melonjs.mjs/renderable/text/textmetrics.js b/dist/melonjs.mjs/renderable/text/textmetrics.js index fd0008da9a..28108946a8 100644 --- a/dist/melonjs.mjs/renderable/text/textmetrics.js +++ b/dist/melonjs.mjs/renderable/text/textmetrics.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 e4041fbfa0..548a947458 100644 --- a/dist/melonjs.mjs/renderable/text/textstyle.js +++ b/dist/melonjs.mjs/renderable/text/textstyle.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 999e7817b9..cfa57b2267 100644 --- a/dist/melonjs.mjs/renderable/trigger.js +++ b/dist/melonjs.mjs/renderable/trigger.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 5ce45de042..5082a72d08 100644 --- a/dist/melonjs.mjs/renderable/ui/uibaseelement.js +++ b/dist/melonjs.mjs/renderable/ui/uibaseelement.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 df2c4f8b2e..68971c059e 100644 --- a/dist/melonjs.mjs/renderable/ui/uispriteelement.js +++ b/dist/melonjs.mjs/renderable/ui/uispriteelement.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 2f12512378..0f28533ab1 100644 --- a/dist/melonjs.mjs/renderable/ui/uitextbutton.js +++ b/dist/melonjs.mjs/renderable/ui/uitextbutton.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 05f8213918..94c7fac01d 100644 --- a/dist/melonjs.mjs/state/stage.js +++ b/dist/melonjs.mjs/state/stage.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -208,7 +208,7 @@ class Stage { * this is typically where you will load a level, add renderables, etc... * @name onResetEvent * @memberof Stage - * @param {object} [...arguments] - optional arguments passed when switching state + * @param {...*} [args] - optional arguments passed when switching state * @see state#change */ onResetEvent() { diff --git a/dist/melonjs.mjs/state/state.js b/dist/melonjs.mjs/state/state.js index 956a87ff35..1d5028038d 100644 --- a/dist/melonjs.mjs/state/state.js +++ b/dist/melonjs.mjs/state/state.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -7,7 +7,7 @@ */ import { pauseTrack, resumeTrack } from '../audio/audio.js'; import { defer } from '../utils/function.js'; -import { on, VIDEO_INIT, BOOT, emit, STATE_STOP, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_CHANGE, TICK } from '../system/event.js'; +import { once, VIDEO_INIT, BOOT, emit, STATE_STOP, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_CHANGE, TICK } from '../system/event.js'; import { game } from '../index.js'; import Stage from './stage.js'; import DefaultLoadingScreen from '../loader/loadingscreen.js'; @@ -130,13 +130,13 @@ function _switchState(state) { } // initialize me.state on system boot -on(BOOT, () => { +once(BOOT, () => { // set the built-in loading stage state.set(state.LOADING, new DefaultLoadingScreen()); // set and enable the default stage state.set(state.DEFAULT, new Stage()); // enable by default as soon as the display is initialized - on(VIDEO_INIT, () => { + once(VIDEO_INIT, () => { state.change(state.DEFAULT, true); }); }); @@ -485,7 +485,7 @@ let state = { * @public * @param {number} state - State ID (see constants) * @param {boolean} forceChange - if true the state will be changed immediately - * @param {object} [...arguments] - extra arguments to be passed to the reset functions + * @param {...*} [args] - extra arguments to be passed to the reset functions * @example * // The onResetEvent method on the play screen will receive two args: * // "level_1" and the number 3 diff --git a/dist/melonjs.mjs/system/device.js b/dist/melonjs.mjs/system/device.js index f4c51f3a9b..fda53a7ea4 100644 --- a/dist/melonjs.mjs/system/device.js +++ b/dist/melonjs.mjs/system/device.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -27,6 +27,9 @@ let domRect = {left: 0, top: 0, x: 0, y: 0, width: 0, height: 0, right: 0, botto // a list of supported videoCodecs; let videoCodecs; +// internal flag to avoid rechecking for support +let WebGLSupport = -1; + function disableSwipeFn(e) { e.preventDefault(); if (typeof globalThis.scroll === "function") { @@ -683,19 +686,21 @@ function getParentBounds(element) { * @returns {boolean} true if WebGL is supported */ function isWebGLSupported(options) { - let _supported = false; - try { - let canvas = globalThis.document.createElement("canvas"); - let ctxOptions = { - stencil: true, - failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat - }; - _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions))); - } catch (e) { - _supported = false; + if (WebGLSupport === -1) { + let _supported = false; + try { + let canvas = globalThis.document.createElement("canvas"); + let ctxOptions = { + stencil: true, + failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat + }; + _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions))); + WebGLSupport = _supported ? 1 : 0; + } catch (e) { + WebGLSupport = 0; + } } - - return _supported; + return WebGLSupport === 1; } /** diff --git a/dist/melonjs.mjs/system/dom.js b/dist/melonjs.mjs/system/dom.js index 686a161c97..61ca33cd6b 100644 --- a/dist/melonjs.mjs/system/dom.js +++ b/dist/melonjs.mjs/system/dom.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 6a4dcd9cc5..c9d16bbfbb 100644 --- a/dist/melonjs.mjs/system/event.js +++ b/dist/melonjs.mjs/system/event.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -550,7 +550,7 @@ const ONCONTEXT_RESTORED = "renderer.contextrestored"; * calls each of the listeners registered for a given event. * @function event.emit * @param {string|symbol} eventName - The event name. - * @param {object} [...arguments] - arguments to be passed to all listeners + * @param {...*} [args] - arguments to be passed to all listeners * @returns {boolean} true if the event had listeners, false otherwise. * @example * me.event.emit("event-name", a, b, c); diff --git a/dist/melonjs.mjs/system/platform.js b/dist/melonjs.mjs/system/platform.js index 44f56aa2ab..f4f6f83b61 100644 --- a/dist/melonjs.mjs/system/platform.js +++ b/dist/melonjs.mjs/system/platform.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 c1ecdb6321..c3a4c13815 100644 --- a/dist/melonjs.mjs/system/pooling.js +++ b/dist/melonjs.mjs/system/pooling.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -58,7 +58,7 @@ class ObjectPool { /** * Pull a new instance of the requested object (if added into the object pool) * @param {string} name - as used in {@link pool.register} - * @param {object} [...arguments] - arguments to be passed when instantiating/reinitializing the object + * @param {...*} [args] - arguments to be passed when instantiating/reinitializing the object * @returns {object} the instance of the requested object * @example * me.pool.register("bullet", BulletEntity, true); diff --git a/dist/melonjs.mjs/system/save.js b/dist/melonjs.mjs/system/save.js index cc6a4ef048..3646650da9 100644 --- a/dist/melonjs.mjs/system/save.js +++ b/dist/melonjs.mjs/system/save.js @@ -1,11 +1,11 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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) */ -import { on, BOOT } from './event.js'; +import { once, BOOT } from './event.js'; /** * allow to access and manage the device localStorage @@ -61,7 +61,7 @@ function isReserved(key) { // Initialize me.save on Boot event -on(BOOT, () => { +once(BOOT, () => { // Load previous data if local Storage is supported if (hasLocalStorage === true) { let me_save_content = globalThis.localStorage.getItem("me.save"); diff --git a/dist/melonjs.mjs/system/timer.js b/dist/melonjs.mjs/system/timer.js index 33a152c2b0..f0187ff48d 100644 --- a/dist/melonjs.mjs/system/timer.js +++ b/dist/melonjs.mjs/system/timer.js @@ -1,12 +1,12 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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) */ import { defer } from '../utils/function.js'; -import { on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js'; +import { once, on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js'; import state from '../state/state.js'; import { clamp } from '../math/math.js'; @@ -72,8 +72,8 @@ class Timer { this.timers = []; this.timerId = 0; - // Initialize mtimer on Boot event - on(BOOT, () => { + // Initialize timer on Boot event + once(BOOT, () => { // reset variables to initial state this.reset(); this.now = this.last = 0; diff --git a/dist/melonjs.mjs/tweens/easing.js b/dist/melonjs.mjs/tweens/easing.js index 979087093a..e595573ea5 100644 --- a/dist/melonjs.mjs/tweens/easing.js +++ b/dist/melonjs.mjs/tweens/easing.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 7d32423155..9b3703563c 100644 --- a/dist/melonjs.mjs/tweens/interpolation.js +++ b/dist/melonjs.mjs/tweens/interpolation.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 17df3db0a7..184388ec77 100644 --- a/dist/melonjs.mjs/tweens/tween.js +++ b/dist/melonjs.mjs/tweens/tween.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 83367b7a87..3671989130 100644 --- a/dist/melonjs.mjs/utils/agent.js +++ b/dist/melonjs.mjs/utils/agent.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 e29e9ca961..83eb493ba5 100644 --- a/dist/melonjs.mjs/utils/array.js +++ b/dist/melonjs.mjs/utils/array.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 cf0b2b157b..d836bec4b1 100644 --- a/dist/melonjs.mjs/utils/file.js +++ b/dist/melonjs.mjs/utils/file.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 bded80ad1d..382c4deeb0 100644 --- a/dist/melonjs.mjs/utils/function.js +++ b/dist/melonjs.mjs/utils/function.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 ca4324ad93..3b6090734f 100644 --- a/dist/melonjs.mjs/utils/string.js +++ b/dist/melonjs.mjs/utils/string.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 553d23e849..d346f368f0 100644 --- a/dist/melonjs.mjs/utils/utils.js +++ b/dist/melonjs.mjs/utils/utils.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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/canvas/canvas_renderer.js b/dist/melonjs.mjs/video/canvas/canvas_renderer.js index 89ecfad505..a66538ef58 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -23,9 +23,6 @@ class CanvasRenderer extends Renderer { // parent constructor super(options); - // defined the 2d context - this.context = this.getContext2d(this.getCanvas(), this.settings.transparent); - this.setBlendMode(this.settings.blendMode); // apply the default color to the 2d context diff --git a/dist/melonjs.mjs/video/renderer.js b/dist/melonjs.mjs/video/renderer.js index 33a6b507f7..4b5e172d18 100644 --- a/dist/melonjs.mjs/video/renderer.js +++ b/dist/melonjs.mjs/video/renderer.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -8,11 +8,11 @@ import Color from '../math/color.js'; import Matrix3d from '../math/matrix3.js'; import { createCanvas } from './video.js'; -import { emit, once, CANVAS_ONRESIZE, GAME_AFTER_DRAW } from '../system/event.js'; +import { emit, CANVAS_ONRESIZE } from '../system/event.js'; import { platform } from '../system/device.js'; -import { setPrefixed } from '../utils/agent.js'; import Path2D from '../geometries/path2d.js'; import Vector2d from '../math/vector2.js'; +import CanvasRenderTarget from './rendertarget/canvasrendertarget.js'; /** * @classdesc @@ -23,6 +23,14 @@ class Renderer { * @param {Application.Settings} [options] - optional parameters for the renderer */ constructor(options) { + + /** + * The renderer renderTarget + * @name renderTarget + * @type {CanvasRenderTarget} + */ + this.renderTarget = new CanvasRenderTarget(options.width, options.height, options); + /** * The given constructor options * @public @@ -168,7 +176,7 @@ class Renderer { * @returns {HTMLCanvasElement} */ getCanvas() { - return this.canvas; + return this.renderTarget.canvas; } /** @@ -176,7 +184,7 @@ class Renderer { * @returns {CanvasRenderingContext2D|WebGLRenderingContext} */ getContext() { - return this.context; + return this.renderTarget.context; } /** @@ -276,25 +284,7 @@ class Renderer { * @param {boolean} [enable=false] */ setAntiAlias(context, enable) { - let canvas = context.canvas; - - // enable/disable antialis on the given Context2d object - setPrefixed("imageSmoothingEnabled", enable === true, context); - - // set antialias CSS property on the main canvas - if (enable !== true) { - // https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering - canvas.style["image-rendering"] = "optimizeSpeed"; // legal fallback - canvas.style["image-rendering"] = "-moz-crisp-edges"; // Firefox - canvas.style["image-rendering"] = "-o-crisp-edges"; // Opera - canvas.style["image-rendering"] = "-webkit-optimize-contrast"; // Safari - canvas.style["image-rendering"] = "optimize-contrast"; // CSS 3 - canvas.style["image-rendering"] = "crisp-edges"; // CSS 4 - canvas.style["image-rendering"] = "pixelated"; // CSS 4 - canvas.style.msInterpolationMode = "nearest-neighbor"; // IE8+ - } else { - canvas.style["image-rendering"] = "auto"; - } + this.renderTarget.setAntiAlias(context, enable); } /** @@ -423,13 +413,7 @@ class Renderer { * renderer.convertToBlob().then((blob) => console.log(blob)); */ toBlob(type = "image/png", quality) { - return new Promise((resolve) => { - once(GAME_AFTER_DRAW, () => { - this.canvas.toBlob((blob) => { - resolve(blob); - }, type, quality); - }); - }); + return this.renderTarget.toBlob(type, quality); } /** @@ -442,15 +426,7 @@ class Renderer { * renderer.transferToImageBitmap().then((image) => console.log(image)); */ toImageBitmap(type = "image/png", quality) { - return new Promise((resolve) => { - once(GAME_AFTER_DRAW, () => { - let image = new Image(); - image.src = this.canvas.toDataURL(type, quality); - image.onload = () => { - createImageBitmap(image).then((bitmap) => resolve(bitmap)); - }; - }); - }); + return this.renderTarget.toImageBitmap(type, quality); } /** @@ -462,11 +438,7 @@ class Renderer { * renderer.toDataURL().then((dataURL) => console.log(dataURL)); */ toDataURL(type = "image/png", quality) { - return new Promise((resolve) => { - once(GAME_AFTER_DRAW, () => { - resolve(this.canvas.toDataURL(type, quality)); - }); - }); + return this.renderTarget.toDataURL(type, quality); } } diff --git a/dist/melonjs.mjs/video/texture/canvas_texture.js b/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js similarity index 75% rename from dist/melonjs.mjs/video/texture/canvas_texture.js rename to dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js index 994ee4fca2..286dc981f1 100644 --- a/dist/melonjs.mjs/video/texture/canvas_texture.js +++ b/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -14,14 +14,72 @@ let defaultAttributes = { offscreenCanvas : false, willReadFrequently : false, antiAlias : false, - context: "2d" + context: "2d", + transparent : false, + premultipliedAlpha: true, + stencil: true, + blendMode : "normal", + failIfMajorPerformanceCaveat : true, + preferWebGL1 : false, + powerPreference : "default" }; +// WebGL version (if a gl context is created) +let WebGLVersion; + +// a helper function to create the 2d/webgl context +function createContext(canvas, attributes) { + let context; + + if (attributes.context === "2d") { + // 2d/canvas mode + context = canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently }); + } else if (attributes.context === "webgl") { + + let attr = { + alpha : attributes.transparent, + antialias : attributes.antiAlias, + depth : attributes.depth, + stencil: true, + preserveDrawingBuffer : false, + premultipliedAlpha: attributes.transparent ? attributes.premultipliedAlpha : false, + powerPreference: attributes.powerPreference, + failIfMajorPerformanceCaveat : attributes.failIfMajorPerformanceCaveat + }; + + // attempt to create a WebGL2 context if requested + if (attributes.preferWebGL1 === false) { + context = canvas.getContext("webgl2", attr); + if (context) { + WebGLVersion = 2; + } + } + + // fallback to WebGL1 + if (!context) { + WebGLVersion = 1; + context = canvas.getContext("webgl", attr) || canvas.getContext("experimental-webgl", attr); + } + + if (!context) { + throw new Error( + "A WebGL context could not be created." + ); + } + } else { + throw new Error( + "Invalid context type. Must be one of '2d' or 'webgl'" + ); + } + + // set the context size + return context; +} + /** - * Creates a Canvas Texture of the given size - * (when using WebGL, use `invalidate` to force a reupload of the corresponding texture) + * CanvasRenderTarget is 2D render target which exposes a Canvas interface. */ -class CanvasTexture { +class CanvasRenderTarget { /** * @param {number} width - the desired width of the canvas * @param {number} height - the desired height of the canvas @@ -32,24 +90,35 @@ class CanvasTexture { * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect. */ constructor(width, height, attributes = defaultAttributes) { - - // clean up the given attributes - attributes = Object.assign(defaultAttributes, attributes || {}); - /** - * the canvas created for this CanvasTexture + * the canvas created for this CanvasRenderTarget * @type {HTMLCanvasElement|OffscreenCanvas} */ - this.canvas = createCanvas(width, height, attributes.offscreenCanvas); + this.canvas; /** - * the rendering context of this CanvasTexture - * @type {CanvasRenderingContext2D} + * the rendering context of this CanvasRenderTarget + * @type {CanvasRenderingContext2D|WebGLRenderingContext} */ - this.context = this.canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently }); + this.context; + + // clean up the given attributes + this.attributes = Object.assign({}, defaultAttributes, attributes); + + // used the given canvas if any + if (typeof attributes.canvas !== "undefined") { + this.canvas = attributes.canvas; + } else { + this.canvas = createCanvas(width, height, this.attributes.offscreenCanvas); + } + + // create the context + this.context = createContext(this.canvas, this.attributes); + + this.WebGLVersion = WebGLVersion; // enable or disable antiAlias if specified - this.setAntiAlias(attributes.antiAlias); + this.setAntiAlias(this.attributes.antiAlias); } /** @@ -113,7 +182,7 @@ class CanvasTexture { * @param {number} y - The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted * @param {number} width - The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left * @param {number} height - The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up - * @returns {ImageData} The ImageData extracted from this CanvasTexture. + * @returns {ImageData} The ImageData extracted from this CanvasRenderTarget. */ getImageData(x, y, width, height) { // clamp values @@ -131,7 +200,7 @@ class CanvasTexture { * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. * @returns {Promise} A Promise returning a Blob object representing the image contained in this canvas texture * @example - * canvasTexture.convertToBlob().then((blob) => console.log(blob)); + * renderTarget.convertToBlob().then((blob) => console.log(blob)); */ toBlob(type = "image/png", quality) { if (typeof this.canvas.convertToBlob === "function") { @@ -151,7 +220,7 @@ class CanvasTexture { * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. * @returns {Promise} A Promise returning an ImageBitmap. * @example - * canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap)); + * renderTarget.transferToImageBitmap().then((bitmap) => console.log(bitmap)); */ toImageBitmap(type = "image/png", quality) { return new Promise((resolve) => { @@ -183,7 +252,7 @@ class CanvasTexture { } /** - * invalidate the current CanvasTexture, and force a reupload of the corresponding texture + * invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture * (call this if you modify the canvas content between two draw calls) * @param {CanvasRenderer|WebGLRenderer} renderer - the renderer to which this canvas texture is attached */ @@ -232,6 +301,4 @@ class CanvasTexture { } } -var CanvasTexture$1 = CanvasTexture; - -export { CanvasTexture$1 as default }; +export { CanvasRenderTarget as default }; diff --git a/dist/melonjs.mjs/video/texture/atlas.js b/dist/melonjs.mjs/video/texture/atlas.js index 55670fd41c..748279a43a 100644 --- a/dist/melonjs.mjs/video/texture/atlas.js +++ b/dist/melonjs.mjs/video/texture/atlas.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 5a59f76d61..0262d92973 100644 --- a/dist/melonjs.mjs/video/texture/cache.js +++ b/dist/melonjs.mjs/video/texture/cache.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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/parser/aseprite.js b/dist/melonjs.mjs/video/texture/parser/aseprite.js index 193c3780ba..a585bbe3f0 100644 --- a/dist/melonjs.mjs/video/texture/parser/aseprite.js +++ b/dist/melonjs.mjs/video/texture/parser/aseprite.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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/parser/spritesheet.js b/dist/melonjs.mjs/video/texture/parser/spritesheet.js index 55f90a8534..e60ff052dc 100644 --- a/dist/melonjs.mjs/video/texture/parser/spritesheet.js +++ b/dist/melonjs.mjs/video/texture/parser/spritesheet.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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/parser/texturepacker.js b/dist/melonjs.mjs/video/texture/parser/texturepacker.js index 9068f783a4..5b59fa2711 100644 --- a/dist/melonjs.mjs/video/texture/parser/texturepacker.js +++ b/dist/melonjs.mjs/video/texture/parser/texturepacker.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 ead42f9a65..0347710c82 100644 --- a/dist/melonjs.mjs/video/utils/autodetect.js +++ b/dist/melonjs.mjs/video/utils/autodetect.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 dd10e2f85a..8b99f26d29 100644 --- a/dist/melonjs.mjs/video/video.js +++ b/dist/melonjs.mjs/video/video.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 688a52ae4c..72ec93f932 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 96cd248f1d..5784cae805 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 c89b7dcac8..4a2b4d1cfd 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 1fdfa33e75..456c32a2d1 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 c93329e2ba..68dafd8e2e 100644 --- a/dist/melonjs.mjs/video/webgl/glshader.js +++ b/dist/melonjs.mjs/video/webgl/glshader.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 e65d5fdd6e..bb5b269086 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 a2db9374cb..b1f094ba4e 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 c6701bb1c5..0d2aa7d15a 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 8793824b89..92f310f9ba 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 c87f239f9d..33fbed9c38 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 6f3b7e6d13..7350491cf0 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 73c77e80a0..a72098c940 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 4f771f6fab..f25440a90e 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 24bda7267d..fa8970970c 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * 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 d322741cec..978a87e31e 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 - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -17,6 +17,9 @@ import { emit, on, ONCONTEXT_LOST, ONCONTEXT_RESTORED, GAME_RESET, CANVAS_ONRESI import pool from '../../system/pooling.js'; import { isPowerOfTwo } from '../../math/math.js'; +// list of supported compressed texture formats +let supportedCompressedTextureFormats; + /** * @classdesc * a WebGL renderer object @@ -28,15 +31,7 @@ class WebGLRenderer extends Renderer { */ constructor(options) { // parent contructor - super(options); - - /** - * The WebGL version used by this renderer (1 or 2) - * @type {number} - * @default 1 - * @readonly - */ - this.WebGLVersion = 1; + super(Object.assign(options, { context: "webgl" })); /** * The vendor string of the underlying graphics driver. @@ -59,7 +54,7 @@ class WebGLRenderer extends Renderer { * @name gl * @type {WebGLRenderingContext} */ - this.context = this.gl = this.getContextGL(this.getCanvas(), options.transparent, options.depthTest === "z-buffer"); + this.gl = this.renderTarget.context; /** * the vertex buffer used by this WebGL Renderer @@ -189,6 +184,53 @@ class WebGLRenderer extends Renderer { }); } + /** + * The WebGL version used by this renderer (1 or 2) + * @type {number} + * @default 1 + * @readonly + */ + get WebGLVersion() { + return this.renderTarget.WebGLVersion; + } + + /** + * return the list of supported compressed texture formats + * @return {Object} + */ + getSupportedCompressedTextureFormats() { + if (typeof supportedCompressedTextureFormats === "undefined") { + const gl = this.gl; + supportedCompressedTextureFormats = { + astc: gl.getExtension("WEBGL_compressed_texture_astc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_astc"), + bptc: gl.getExtension("EXT_texture_compression_bptc") || this._gl.getExtension("WEBKIT_EXT_texture_compression_bptc"), + s3tc: gl.getExtension("WEBGL_compressed_texture_s3tc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"), + s3tc_srgb: gl.getExtension("WEBGL_compressed_texture_s3tc_srgb") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc_srgb"), + pvrtc: gl.getExtension("WEBGL_compressed_texture_pvrtc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"), + etc1: gl.getExtension("WEBGL_compressed_texture_etc1") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc1"), + etc2: gl.getExtension("WEBGL_compressed_texture_etc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc") || gl.getExtension("WEBGL_compressed_texture_es3_0") + }; + } + return supportedCompressedTextureFormats; + } + + /** + * return true if the given compressed texture format is supported + * @param {Number} format + * @returns + */ + hasSupportedCompressedFormats(format) { + const supportedFormats = this.getSupportedCompressedTextureFormats(); + for (var supportedFormat in supportedFormats) { + for (var extension in supportedFormats[supportedFormat]) { + if (format === supportedFormats[supportedFormat][extension]) { + return true; + } + } + } + return false; + } + /** * Reset context state */ @@ -566,57 +608,6 @@ class WebGLRenderer extends Renderer { this.path2D.closePath(); } - /** - * Returns the WebGL Context object of the given canvas element - * @param {HTMLCanvasElement} canvas - the canvas element - * @param {boolean} [transparent=false] - use true to enable transparency - * @param {boolean} [depth=false] - use true to enable depth buffer testing - * @returns {WebGLRenderingContext} the WebGL Context object - */ - getContextGL(canvas, transparent = false, depth = false) { - if (typeof canvas === "undefined" || canvas === null) { - throw new Error( - "You must pass a canvas element in order to create " + - "a GL context" - ); - } - - let attr = { - alpha : transparent, - antialias : this.settings.antiAlias, - depth : depth, - stencil: true, - preserveDrawingBuffer : false, - premultipliedAlpha: transparent ? this.settings.premultipliedAlpha : false, - powerPreference: this.settings.powerPreference, - failIfMajorPerformanceCaveat : this.settings.failIfMajorPerformanceCaveat - }; - - let gl; - - // attempt to create a WebGL2 context if requested - if (this.settings.preferWebGL1 === false) { - gl = canvas.getContext("webgl2", attr); - if (gl) { - this.WebGLVersion = 2; - } - } - - // fallback to WebGL1 - if (!gl) { - this.WebGLVersion = 1; - gl = canvas.getContext("webgl", attr) || canvas.getContext("experimental-webgl", attr); - } - - if (!gl) { - throw new Error( - "A WebGL context could not be created." - ); - } - - return gl; - } - /** * Returns the WebGLContext instance for the renderer * return a reference to the system 2d Context diff --git a/dist/melonjs.module.js b/dist/melonjs.module.js index 7a865c299e..a43dfa5240 100644 --- a/dist/melonjs.module.js +++ b/dist/melonjs.module.js @@ -1,5 +1,5 @@ /*! - * melonJS Game Engine - v17.0.0 + * melonJS Game Engine - v17.1.0 * http://www.melonjs.org * melonjs is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license @@ -446,10 +446,10 @@ var SHARED = '__core-js_shared__'; var store$3 = sharedStore$2.exports = globalThis$3[SHARED] || defineGlobalProperty$2(SHARED, {}); (store$3.versions || (store$3.versions = [])).push({ - version: '3.36.0', + version: '3.36.1', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.36.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE', source: 'https://github.com/zloirock/core-js' }); @@ -2427,6 +2427,28 @@ function isPowerOfTwo(val) { return (val & (val - 1)) === 0; } +/** + * returns true if the given value is a power of four + * @memberof Math + * @param {number} val + * @returns {boolean} + */ +function isPowerOfFour(val) { + if (val === 0 || val === 2 || val === 3) { + return false; + } + if (val === 1) { + return true; + } + + if ((val & (val - 1)) === 0) { + if ((val & 0xAAAAAAAA) === 0) { + return true; + } + } + return false; +} + /** * returns the next power of two for the given value * @memberof Math @@ -2577,6 +2599,7 @@ var math = { TAU: TAU, clamp: clamp, degToRad: degToRad, + isPowerOfFour: isPowerOfFour, isPowerOfTwo: isPowerOfTwo, nextPowerOfTwo: nextPowerOfTwo, pow: pow, @@ -2641,7 +2664,7 @@ class ObjectPool { /** * Pull a new instance of the requested object (if added into the object pool) * @param {string} name - as used in {@link pool.register} - * @param {object} [...arguments] - arguments to be passed when instantiating/reinitializing the object + * @param {...*} [args] - arguments to be passed when instantiating/reinitializing the object * @returns {object} the instance of the requested object * @example * me.pool.register("bullet", BulletEntity, true); @@ -10260,7 +10283,7 @@ const ONCONTEXT_RESTORED = "renderer.contextrestored"; * calls each of the listeners registered for a given event. * @function event.emit * @param {string|symbol} eventName - The event name. - * @param {object} [...arguments] - arguments to be passed to all listeners + * @param {...*} [args] - arguments to be passed to all listeners * @returns {boolean} true if the event had listeners, false otherwise. * @example * me.event.emit("event-name", a, b, c); @@ -13765,7 +13788,6 @@ let soundLoadError = function (sound_name, onerror_cb) { * if true, melonJS will throw an exception and stop loading
* if false, melonJS will disable sounds and output a warning message * in the console
- * @name stopOnAudioError * @type {boolean} * @default true * @memberof audio @@ -13779,7 +13801,7 @@ let stopOnAudioError = true; * webm has nearly full browser coverage with a great combination of compression and quality, and mp3 will fallback gracefully for other browsers. * It is important to remember that melonJS selects the first compatible sound based on the list of extensions and given order passed here. * So if you want webm to be used before mp3, you need to put the audio format in that order. - * @function audio.init + * @memberof audio * @param {string} [format="mp3"] - audio format to prioritize ("mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac") * @returns {boolean} Indicates whether audio initialization was successful * @example @@ -13798,7 +13820,7 @@ function init$1(format = "mp3") { /** * check if the given audio format is supported - * @function audio.hasFormat + * @memberof audio * @param {"mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac"} codec - the audio format to check for support * @returns {boolean} return true if the given audio format is supported */ @@ -13808,7 +13830,7 @@ function hasFormat(codec) { /** * check if audio (HTML5 or WebAudio) is supported - * @function audio.hasAudio + * @memberof audio * @returns {boolean} return true if audio (HTML5 or WebAudio) is supported */ function hasAudio() { @@ -13818,7 +13840,7 @@ function hasAudio() { /** * enable audio output
* only useful if audio supported and previously disabled through - * @function audio.enable + * @memberof audio * @see audio.disable */ function enable() { @@ -13827,7 +13849,7 @@ function enable() { /** * disable audio output - * @function audio.disable + * @memberof audio */ function disable() { muteAll(); @@ -13835,7 +13857,7 @@ function disable() { /** * Load an audio file - * @function audio.load + * @memberof audio * @param {loader.Asset} sound * @param {Function} [onloadcb] - function to be called when the resource is loaded * @param {Function} [onerrorcb] - function to be called in case of error @@ -13878,7 +13900,7 @@ function load$1(sound, onloadcb, onerrorcb, settings = {}) { /** * play the specified sound - * @function audio.play + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {boolean} [loop=false] - loop audio * @param {Function} [onend] - Function to call when sound instance ends playing. @@ -13919,7 +13941,7 @@ function play(sound_name, loop = false, onend, volume) { /** * Fade a currently playing sound between two volumee. - * @function audio.fade + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} from - Volume to fade from (0.0 to 1.0). * @param {number} to - Volume to fade to (0.0 to 1.0). @@ -13937,7 +13959,7 @@ function fade(sound_name, from, to, duration, id) { /** * get/set the position of playback for a sound. - * @function audio.seek + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [seek] - the position to move current playback to (in seconds). * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will changed. @@ -13959,7 +13981,7 @@ function seek(sound_name, ...args) { /** * get or set the rate of playback for a sound. - * @function audio.rate + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [rate] - playback rate : 0.5 to 4.0, with 1.0 being normal speed. * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed. @@ -13979,9 +14001,96 @@ function rate(sound_name, ...args) { } } +/** + * get or set the stereo panning for the specified sound. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {number} [pan] - the panning value - A value of -1.0 is all the way left and 1.0 is all the way right. + * @return {number} the current panning value + * @example + * me.audio.stereo("cling", -1); + */ +function stereo(sound_name, pan) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.stereo(pan); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + +/** + * get or set the 3D spatial position for the specified sound. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {Number} x - the x-position of the audio source. + * @param {Number} y - the y-position of the audio source. + * @param {Number} z - the z-position of the audio source. + * @return {Array} the current 3D spatial position: [x, y, z] + */ +function position(sound_name, x, y, z) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.pos(x, y, z); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + +/** + * Get/set the direction the audio source is pointing in the 3D cartesian coordinate space. + * Depending on how direction the sound is, based on the `cone` attributes, a sound pointing away from the listener can be quiet or silent. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {Number} x - the x-orientation of the audio source. + * @param {Number} y - the y-orientation of the audio source. + * @param {Number} z - the z-orientation of the audio source. + * @return {Array} the current 3D spatial orientation: [x, y, z] + */ +function orientation(sound_name, x, y, z) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.orientation(x, y, z); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + +/** + * get or set the panner node's attributes for a sound or group of sounds. + * See {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Web_audio_spatialization_basics#creating_a_panner_node} + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {object} [attribute] - the panner attributes to set + * @param {string} [settings.coneInnerAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, inside of which there will be no volume reduction. + * @param {string} [settings.coneOuterAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, outside of which the volume will be reduced to a constant value of `coneOuterGain`. + * @param {string} [settings.coneOuterGain=0] - A parameter for directional audio sources, this is the gain outside of the `coneOuterAngle`. It is a linear value in the range `[0, 1]`. + * @param {string} [settings.distanceModel="inverse"] - Determines algorithm used to reduce volume as audio moves away from listener. Can be `linear`, `inverse` or `exponential. + * @param {string} [settings.maxDistance=10000] - The maximum distance between source and listener, after which the volume will not be reduced any further. + * @param {string} [settings.refDistance=1] - A reference distance for reducing volume as source moves further from the listener. This is simply a variable of the distance model and has a different effect depending on which model is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance. + * @param {string} [settings.rolloffFactor=1] - How quickly the volume reduces as source moves from listener. This is simply a variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]` with `inverse` and `exponential`. + * @param {string} [settings.panningModel="HRTF"] - Determines which spatialization algorithm is used to position audio. Can be `HRTF` or `equalpower`. + * @return {Object} current panner attributes. + * @example + * me.audio.panner("cling", { + * panningModel: 'HRTF', + * refDistance: 0.8, + * rolloffFactor: 2.5, + * distanceModel: 'exponential' + * }); + */ +function panner(sound_name, attributes) { + let sound = audioTracks[sound_name]; + if (sound && typeof sound !== "undefined") { + return sound.pannerAttr(attributes); + } else { + throw new Error("audio clip " + sound_name + " does not exist"); + } +} + /** * stop the specified sound on all channels - * @function audio.stop + * @memberof audio * @param {string} [sound_name] - audio clip name (case sensitive). If none is passed, all sounds are stopped. * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will stop. * @example @@ -14005,7 +14114,7 @@ function stop(sound_name, id) { /** * pause the specified sound on all channels
* this function does not reset the currentTime property - * @function audio.pause + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will pause. * @example @@ -14022,7 +14131,7 @@ function pause(sound_name, id) { /** * resume the specified sound on all channels
- * @function audio.resume + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will resume. * @example @@ -14048,7 +14157,7 @@ function resume(sound_name, id) { * play the specified audio track
* this function automatically set the loop property to true
* and keep track of the current sound being played. - * @function audio.playTrack + * @memberof audio * @param {string} sound_name - audio track name - case sensitive * @param {number} [volume=default] - Float specifying volume (0.0 - 1.0 values accepted). * @returns {number} the sound instance ID. @@ -14067,7 +14176,7 @@ function playTrack(sound_name, volume) { /** * stop the current audio track - * @function audio.stopTrack + * @memberof audio * @see audio.playTrack * @example * // play a awesome music @@ -14084,7 +14193,7 @@ function stopTrack() { /** * pause the current audio track - * @function audio.pauseTrack + * @memberof audio * @example * me.audio.pauseTrack(); */ @@ -14096,7 +14205,7 @@ function pauseTrack() { /** * resume the previously paused audio track - * @function audio.resumeTrack + * @memberof audio * @example * // play an awesome music * me.audio.playTrack("awesome_music"); @@ -14113,7 +14222,7 @@ function resumeTrack() { /** * returns the current track Id - * @function audio.getCurrentTrack + * @memberof audio * @returns {string} audio track name */ function getCurrentTrack() { @@ -14122,7 +14231,7 @@ function getCurrentTrack() { /** * set the default global volume - * @function audio.setVolume + * @memberof audio * @param {number} volume - Float specifying volume (0.0 - 1.0 values accepted). */ function setVolume(volume) { @@ -14131,7 +14240,7 @@ function setVolume(volume) { /** * get the default global volume - * @function audio.getVolume + * @memberof audio * @returns {number} current volume value in Float [0.0 - 1.0] . */ function getVolume() { @@ -14140,7 +14249,7 @@ function getVolume() { /** * mute or unmute the specified sound, but does not pause the playback. - * @function audio.mute + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will mute. * @param {boolean} [mute=true] - True to mute and false to unmute @@ -14159,7 +14268,7 @@ function mute(sound_name, id, mute = true) { /** * unmute the specified sound - * @function audio.unmute + * @memberof audio * @param {string} sound_name - audio clip name * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will unmute. */ @@ -14169,7 +14278,7 @@ function unmute(sound_name, id) { /** * mute all audio - * @function audio.muteAll + * @memberof audio */ function muteAll() { howler$1.Howler.mute(true); @@ -14177,7 +14286,7 @@ function muteAll() { /** * unmute all audio - * @function audio.unmuteAll + * @memberof audio */ function unmuteAll() { howler$1.Howler.mute(false); @@ -14185,7 +14294,7 @@ function unmuteAll() { /** * Returns true if audio is muted globally. - * @function audio.muted + * @memberof audio * @returns {boolean} true if audio is muted globally */ function muted() { @@ -14194,7 +14303,7 @@ function muted() { /** * unload specified audio track to free memory - * @function audio.unload + * @memberof audio * @param {string} sound_name - audio track name - case sensitive * @returns {boolean} true if unloaded * @example @@ -14213,7 +14322,7 @@ function unload$1(sound_name) { /** * unload all audio to free memory - * @function audio.unloadAll + * @memberof audio * @example * me.audio.unloadAll(); */ @@ -14239,15 +14348,19 @@ var audio = { mute: mute, muteAll: muteAll, muted: muted, + orientation: orientation, + panner: panner, pause: pause, pauseTrack: pauseTrack, play: play, playTrack: playTrack, + position: position, rate: rate, resume: resume, resumeTrack: resumeTrack, seek: seek, setVolume: setVolume, + stereo: stereo, stop: stop, stopOnAudioError: stopOnAudioError, stopTrack: stopTrack, @@ -14311,7 +14424,7 @@ function isReserved(key) { // Initialize me.save on Boot event -on(BOOT, () => { +once(BOOT, () => { // Load previous data if local Storage is supported if (hasLocalStorage$1 === true) { let me_save_content = globalThis.localStorage.getItem("me.save"); @@ -14608,6 +14721,9 @@ let domRect = {left: 0, top: 0, x: 0, y: 0, width: 0, height: 0, right: 0, botto // a list of supported videoCodecs; let videoCodecs; +// internal flag to avoid rechecking for support +let WebGLSupport = -1; + function disableSwipeFn(e) { e.preventDefault(); if (typeof globalThis.scroll === "function") { @@ -15264,19 +15380,21 @@ function getParentBounds(element) { * @returns {boolean} true if WebGL is supported */ function isWebGLSupported(options) { - let _supported = false; - try { - let canvas = globalThis.document.createElement("canvas"); - let ctxOptions = { - stencil: true, - failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat - }; - _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions))); - } catch (e) { - _supported = false; + if (WebGLSupport === -1) { + let _supported = false; + try { + let canvas = globalThis.document.createElement("canvas"); + let ctxOptions = { + stencil: true, + failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat + }; + _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions))); + WebGLSupport = _supported ? 1 : 0; + } catch (e) { + WebGLSupport = 0; + } } - - return _supported; + return WebGLSupport === 1; } /** @@ -17817,6 +17935,364 @@ var input = { unlockKey: unlockKey }; +/** + * Hash map of GLSL data types to WebGL Uniform methods + * @ignore + */ +const fnHash = { + "bool" : "1i", + "int" : "1i", + "float" : "1f", + "vec2" : "2fv", + "vec3" : "3fv", + "vec4" : "4fv", + "bvec2" : "2iv", + "bvec3" : "3iv", + "bvec4" : "4iv", + "ivec2" : "2iv", + "ivec3" : "3iv", + "ivec4" : "4iv", + "mat2" : "Matrix2fv", + "mat3" : "Matrix3fv", + "mat4" : "Matrix4fv", + "sampler2D" : "1i" +}; + +/** + * @ignore + */ +function extractUniforms(gl, shader) { + let uniforms = {}, + uniRx = /uniform\s+(\w+)\s+(\w+)/g, + uniformsData = {}, + descriptor = {}, + locations = {}, + match; + + // Detect all uniform names and types + [ shader.vertex, shader.fragment ].forEach((shader) => { + while ((match = uniRx.exec(shader))) { + uniformsData[match[2]] = match[1]; + } + }); + + // Get uniform references + Object.keys(uniformsData).forEach((name) => { + let type = uniformsData[name]; + locations[name] = gl.getUniformLocation(shader.program, name); + + descriptor[name] = { + "get" : (function (name) { + /* + * A getter for the uniform location + */ + return function () { + return locations[name]; + }; + })(name), + "set" : (function (name, type, fn) { + if (type.indexOf("mat") === 0) { + /* + * A generic setter for uniform matrices + */ + return function (val) { + gl[fn](locations[name], false, val); + }; + } + else { + /* + * A generic setter for uniform vectors + */ + return function (val) { + let fnv = fn; + if (val.length && fn.slice(-1) !== "v") { + fnv += "v"; + } + gl[fnv](locations[name], val); + }; + } + })(name, type, "uniform" + fnHash[type]) + }; + }); + Object.defineProperties(uniforms, descriptor); + + return uniforms; +} + +/** + * @ignore + */ +function extractAttributes(gl, shader) { + let attributes = {}, + attrRx = /attribute\s+\w+\s+(\w+)/g, + match, + i = 0; + + // Detect all attribute names + while ((match = attrRx.exec(shader.vertex))) { + attributes[match[1]] = i++; + } + + return attributes; +} + +/** + * @ignore + */ +function compileShader(gl, type, source) { + let shader = gl.createShader(type); + gl.shaderSource(shader, source); + gl.compileShader(shader); + + if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { + throw new Error(gl.getShaderInfoLog(shader)); + } + + return shader; +} + +/** + * Compile GLSL into a shader object + * @ignore + */ +function compileProgram(gl, vertex, fragment, attributes) { + let vertShader = compileShader(gl, gl.VERTEX_SHADER, vertex); + let fragShader = compileShader(gl, gl.FRAGMENT_SHADER, fragment); + + let program = gl.createProgram(); + + gl.attachShader(program, vertShader); + gl.attachShader(program, fragShader); + + + // force vertex attributes to use location 0 as starting location to prevent + // browser to do complicated emulation when running on desktop OpenGL (e.g. on macOS) + for (let location in attributes) { + gl.bindAttribLocation(program, attributes[location], location); + } + + gl.linkProgram(program); + + if (!gl.getProgramParameter(program, gl.LINK_STATUS)) { + let error_msg = + "Error initializing Shader " + this + "\n" + + "gl.VALIDATE_STATUS: " + gl.getProgramParameter(program, gl.VALIDATE_STATUS) + "\n" + + "gl.getError()" + gl.getError() + "\n" + + "gl.getProgramInfoLog()" + gl.getProgramInfoLog(program); + // house cleaning + gl.deleteProgram(program); + program = null; + // throw the exception + throw new Error(error_msg); + } + + gl.useProgram(program); + + // clean-up + gl.deleteShader(vertShader); + gl.deleteShader(fragShader); + + return program; +} + +/** + * set precision for the fiven shader source + * won't do anything if the precision is already specified + * @ignore + */ +function setPrecision(src, precision) { + if (src.substring(0, 9) !== "precision") { + return "precision " + precision + " float;" + src; + } + return src; +} + +/** + * return the highest precision format supported by this device for GL Shaders + * @ignore + * @param {WebGLRenderingContext} gl - the current WebGL context + * @returns {boolean} "lowp", "mediump", or "highp" + */ +function getMaxShaderPrecision(gl) { + if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT ).precision > 0 && + gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT ).precision > 0) { + return "highp"; + } + if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT ).precision > 0 && + gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT ).precision > 0) { + return "mediump"; + } + return "lowp"; +} + +/** + * clean the given source from space, comments, etc... + * @ignore + */ +function minify(src) { + // remove comments + src = src.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, "$1"); + // Remove leading and trailing whitespace from lines + src = src.replace(/(\\n\s+)|(\s+\\n)/g, ""); + // Remove line breaks + src = src.replace(/(\\r|\\n)+/g, ""); + // Remove unnecessary whitespace + src = src.replace(/\s*([;,[\](){}\\\/\-+*|^&!=<>?~%])\s*/g, "$1"); + + return src; +} + +/** + * @classdesc + * a base GL Shader object + */ +class GLShader { + /** + * @param {WebGLRenderingContext} gl - the current WebGL rendering context + * @param {string} vertex - a string containing the GLSL source code to set + * @param {string} fragment - a string containing the GLSL source code to set + * @param {string} [precision=auto detected] - float precision ('lowp', 'mediump' or 'highp'). + * @see https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/GLSL_Shaders + * @example + * // create a basic shader + * let myShader = new me.GLShader( + * // WebGL rendering context + * gl, + * // vertex shader + * [ + * "void main() {", + * " gl_Position = doMathToMakeClipspaceCoordinates;", + * "}" + * ].join("\n"), + * // fragment shader + * [ + * "void main() {", + * " gl_FragColor = doMathToMakeAColor;", + * "}" + * ].join("\n") + * ) + * // use the shader + * myShader.bind(); + */ + constructor(gl, vertex, fragment, precision) { + + /** + * the active gl rendering context + * @type {WebGLRenderingContext} + */ + this.gl = gl; + + /** + * the vertex shader source code + * @type {string} + */ + this.vertex = setPrecision(minify(vertex), precision || getMaxShaderPrecision(this.gl)); + + /** + * the fragment shader source code + * @type {string} + */ + this.fragment = setPrecision(minify(fragment), precision || getMaxShaderPrecision(this.gl)); + + /** + * the location attributes of the shader + * @type {GLint[]} + */ + this.attributes = extractAttributes(this.gl, this); + + + /** + * a reference to the shader program (once compiled) + * @type {WebGLProgram} + */ + this.program = compileProgram(this.gl, this.vertex, this.fragment, this.attributes); + + /** + * the uniforms of the shader + * @type {object} + */ + this.uniforms = extractUniforms(this.gl, this); + + // destroy the shader on context lost (will be recreated on context restore) + on(ONCONTEXT_LOST, this.destroy, this); + } + + /** + * Installs this shader program as part of current rendering state + */ + bind() { + this.gl.useProgram(this.program); + } + + /** + * returns the location of an attribute variable in this shader program + * @param {string} name - the name of the attribute variable whose location to get. + * @returns {GLint} number indicating the location of the variable name if found. Returns -1 otherwise + */ + getAttribLocation(name) { + let attr = this.attributes[name]; + if (typeof attr !== "undefined") { + return attr; + } else { + return -1; + } + } + + /** + * Set the uniform to the given value + * @param {string} name - the uniform name + * @param {object|Float32Array} value - the value to assign to that uniform + * @example + * myShader.setUniform("uProjectionMatrix", this.projectionMatrix); + */ + setUniform(name, value) { + let uniforms = this.uniforms; + if (typeof uniforms[name] !== "undefined") { + if (typeof value === "object" && typeof value.toArray === "function") { + uniforms[name] = value.toArray(); + } else { + uniforms[name] = value; + } + } else { + throw new Error("undefined (" + name + ") uniform for shader " + this); + } + } + + /** + * activate the given vertex attribute for this shader + * @param {WebGLRenderingContext} gl - the current WebGL rendering context + * @param {object[]} attributes - an array of vertex attributes + * @param {number} vertexByteSize - the size of a single vertex in bytes + */ + setVertexAttributes(gl, attributes, vertexByteSize) { + // set the vertex attributes + for (let index = 0; index < attributes.length; ++index) { + let element = attributes[index]; + let location = this.getAttribLocation(element.name); + + if (location !== -1) { + gl.enableVertexAttribArray(location); + gl.vertexAttribPointer(location, element.size, element.type, element.normalized, vertexByteSize, element.offset); + } else { + gl.disableVertexAttribArray(index); + } + } + } + + /** + * destroy this shader objects resources (program, attributes, uniforms) + */ + destroy() { + this.uniforms = null; + this.attributes = null; + + this.gl.deleteProgram(this.program); + + this.vertex = null; + this.fragment = null; + } +} + /** * @classdesc * A base class for renderable objects. @@ -18603,8 +19079,10 @@ class Renderable extends Rect { this._absPos = undefined; } - pool.push(this._bounds); - this._bounds = undefined; + if (this._bounds instanceof Bounds) { + pool.push(this._bounds); + this._bounds = undefined; + } this.onVisibilityChange = undefined; @@ -18613,16 +19091,22 @@ class Renderable extends Rect { this.mask = undefined; } - if (typeof this._tint !== "undefined") { + if (this._tint instanceof Color) { pool.push(this._tint); this._tint = undefined; } + // cannot import and reference a Container from a Renderable, since Container extends Renderable, creating a circular dependency + //if (this.ancestor instanceof Container || this.ancestor instanceof Entity) { this.ancestor = undefined; + + // cannot import and reference a Application from a Renderable, messsing up class order in the bundle + //if (this._parentApp instanceof Application) { this._parentApp = undefined; + //} - // destroy the physic body if defined and is a builtin body object - if ((typeof this.body !== "undefined") && (typeof this.body.destroy === "function")) { + // destroy the physic body if a builtin body object + if (this.body instanceof Body) { this.body.destroy.apply(this.body, arguments); this.body = undefined; } @@ -18634,7 +19118,7 @@ class Renderable extends Rect { this.onDestroyEvent.apply(this, arguments); // destroy any shader object if not done by the user through onDestroyEvent() - if (typeof this.shader === "object") { + if (this.shader instanceof GLShader) { this.shader.destroy(); this.shader = undefined; } @@ -19558,7 +20042,7 @@ class Stage { * this is typically where you will load a level, add renderables, etc... * @name onResetEvent * @memberof Stage - * @param {object} [...arguments] - optional arguments passed when switching state + * @param {...*} [args] - optional arguments passed when switching state * @see state#change */ onResetEvent() { @@ -19708,6 +20192,197 @@ function fetchData(url, responseType, settings = {}) { }); } +// parse and return the compressed texture +function parseDDS(/*data, formats*/) { + throw new Error("unsupported format"); +} + +// parse and return the compressed texture +function parseKTX(/*data, formats*/) { + throw new Error("unsupported format"); +} + +// parse and return the compressed texture +function parseKTX2(/*data, formats*/) { + throw new Error("unsupported format"); +} + +/* +const COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00; +const COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01; +const COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02; +const COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03; + +const COMPRESSED_RGB_ETC1_WEBGL = 0x8D64; + +const PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints. +//const PVR_MAGIC = 0x03525650; //0x50565203; + +// Offsets into the header array. +//const PVR_HEADER_MAGIC = 0; +const PVR_HEADER_FORMAT = 2; +const PVR_HEADER_HEIGHT = 6; +const PVR_HEADER_WIDTH = 7; +const PVR_HEADER_MIPMAPCOUNT = 11; +const PVR_HEADER_METADATA = 12; + +const PVR_FORMAT_2BPP_RGB = 0; +const PVR_FORMAT_2BPP_RGBA = 1; +const PVR_FORMAT_4BPP_RGB = 2; +const PVR_FORMAT_4BPP_RGBA = 3; +//const PVR_COLOR_SPACE = 4; +const PVR_FORMAT_ETC1 = 6; +const PVR_FORMAT_DXT1 = 7; +const PVR_FORMAT_DXT3 = 9; +const PVR_FORMAT_DXT5 = 5; + +const COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; +//const COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; +const COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; +const COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; + +const PVR_TO_WEBGL_FORMAT = { + [PVR_FORMAT_2BPP_RGB] : COMPRESSED_RGB_PVRTC_2BPPV1_IMG, + [PVR_FORMAT_2BPP_RGBA] : COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, + [PVR_FORMAT_4BPP_RGB] : COMPRESSED_RGB_PVRTC_4BPPV1_IMG, + [PVR_FORMAT_4BPP_RGBA] : COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, + [PVR_FORMAT_ETC1] : COMPRESSED_RGB_ETC1_WEBGL, + [PVR_FORMAT_DXT1] : COMPRESSED_RGB_S3TC_DXT1_EXT, + [PVR_FORMAT_DXT3] : COMPRESSED_RGBA_S3TC_DXT3_EXT, + [PVR_FORMAT_DXT5] : COMPRESSED_RGBA_S3TC_DXT5_EXT +}; + +function levelBufferSize(format, width, height) { + switch (format) { + case COMPRESSED_RGB_S3TC_DXT1_EXT: + case COMPRESSED_RGB_ETC1_WEBGL: + return ((width + 3) >> 2) * ((height + 3) >> 2) * 8; + + case COMPRESSED_RGBA_S3TC_DXT3_EXT: + case COMPRESSED_RGBA_S3TC_DXT5_EXT: + return ((width + 3) >> 2) * ((height + 3) >> 2) * 16; + + case COMPRESSED_RGB_PVRTC_4BPPV1_IMG: + case COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: + return Math.floor((Math.max(width, 8) * Math.max(height, 8) * 4 + 7) / 8); + + case COMPRESSED_RGB_PVRTC_2BPPV1_IMG: + case COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: + return Math.floor((Math.max(width, 16) * Math.max(height, 8) * 2 + 7) / 8); + + default: + return 0; + } +} +*/ + +// parse and return the compressed texture +function parsePVR() { + + throw new Error("unsupported format"); + + /* + + // Create a new DataView from the data + let header = new Uint32Array(data, 0, PVR_HEADER_LENGTH); + + //console.log(header); + + // VERSION + //const version = header[PVR_HEADER_FORMAT]; + //const versionMatch = version === PVR_MAGIC; + + // PIXEL_FORMAT_INDEX + const pvrFormat = PVR_TO_WEBGL_FORMAT[header[PVR_HEADER_FORMAT]] || -1; + const width = header[PVR_HEADER_WIDTH]; + const height = header[PVR_HEADER_HEIGHT]; + const dataOffset = header[PVR_HEADER_METADATA] + 52; + //const colorSpace = header[PVR_COLOR_SPACE]; + const mipmapCount = header[PVR_HEADER_MIPMAPCOUNT]; + + var image = new Uint8Array(data, dataOffset); + var mipmaps = new Array(mipmapCount); + + var offset = 0; + var levelWidth = width; + var levelHeight = height; + + for (var i = 0; i < mipmapCount; i++) + { + var levelSize = levelBufferSize(pvrFormat, levelWidth, levelHeight); + + mipmaps[i] = { + data: new Uint8Array(image.buffer, image.byteOffset + offset, levelSize), + width: levelWidth, + height: levelHeight + }; + + levelWidth = Math.max(1, levelWidth >> 1); + levelHeight = Math.max(1, levelHeight >> 1); + + offset += levelSize; + } + + return { + mipmaps: mipmaps, + width: width, + height: height, + format: pvrFormat, + compressed: true, + generateMipmap: false + }; + + */ +} + +// parse and return the compressed texture +function parsePKM(/*data, formats*/) { + throw new Error("unsupported format"); +} + +let _renderer; + +// gracefully capture a reference to the active renderer without adding more cyclic redundancy +once(VIDEO_INIT, (renderer) => { + _renderer = renderer; +}); + + +function parseCompressedImage(arrayBuffer, imgExt) { + let texture; + + // check if the current renderer is WebGL + if (_renderer.type.includes("WebGL")) { + switch (imgExt) { + // Compressed texture + case "dds": + texture = parseDDS(arrayBuffer); + break; + case "pvr": + texture = parsePVR(arrayBuffer); + break; + case "pkm": + texture = parsePKM(arrayBuffer); + break; + case "ktx": + texture = parseKTX(arrayBuffer); + break; + case "ktx2": + texture = parseKTX2(arrayBuffer); + break; + } + } + + if (typeof texture !== "undefined") { + if (_renderer.hasSupportedCompressedFormats(texture.format)) { + console.log("Compressed texture format supported: " + texture.format); + return texture; + } + } + + throw ("unsupported texture format:" + imgExt + texture ? " (" + texture.format + ")" : ""); +} + /** * parse/preload an image * @param {loader.Asset} img @@ -19730,52 +20405,98 @@ function preloadImage(img, onload, onerror, settings) { return 0; } - // handle SVG file loading - if (getExtension(img.src) === "svg") { - // handle SVG file - fetchData(img.src, "text", settings) - .then(svgText => { - const svgImage = new Image(); - svgImage.onload = function() { - imgList[img.name] = svgImage; - if (typeof onload === "function") { - // callback - onload(); - } - }; - svgImage.onerror = function(error) { - if (typeof onerror === "function") { - onerror(error); - } - }; - svgImage.src = "data:image/svg+xml;charset=utf8," + encodeURIComponent(svgText); - }) - .catch(error => { - if (typeof onerror === "function") { - onerror(error); - } - }); - } else { - // handle all other image files - fetchData(img.src, "blob", settings) - .then(blob => { - globalThis.createImageBitmap(blob) - .then((bitmap) => { - imgList[img.name] = bitmap; - if (typeof onload === "function") { - // callback - onload(); + let sources = Array.isArray(img.src) ? img.src : [img.src]; + let isFormatSupported = false; + + for (const imgPath of sources) { + const imgExt = getExtension(imgPath); + // loop will stop as soon as a first supported format is detected + switch (imgExt) { + // Compressed texture + case "dds": + case "pvr": + case "pkm": + case "ktx": + case "ktx2": + fetchData(imgPath, "arrayBuffer", settings) + .then(arrayBuffer => { + try { + imgList[img.name] = parseCompressedImage(arrayBuffer, imgExt); + isFormatSupported = true; + if (typeof onload === "function") { + // callback + onload(); + } + } catch (e) { + // parseCompressedImage will throw an error if a format is not supported or badly formatted + } + }).catch(error => { + if (typeof onerror === "function") { + // file cannot be loaded + onerror(error); } }); - }) - .catch(error => { - if (typeof onerror === "function") { - onerror(error); - } - }); + break; + + // SVG file + case "svg": + fetchData(imgPath, "text", settings) + .then(svgText => { + const svgImage = new Image(); + svgImage.onload = function() { + imgList[img.name] = svgImage; + if (typeof onload === "function") { + // callback + onload(); + } + }; + svgImage.onerror = function(error) { + if (typeof onerror === "function") { + onerror(error); + } + }; + svgImage.src = "data:image/svg+xml;charset=utf8," + encodeURIComponent(svgText); + }) + .catch(error => { + if (typeof onerror === "function") { + onerror(error); + } + }); + isFormatSupported = true; + break; + + // default is regular images (jpg, png and friends) + default: + fetchData(imgPath, "blob", settings) + .then(blob => { + globalThis.createImageBitmap(blob) + .then((bitmap) => { + imgList[img.name] = bitmap; + if (typeof onload === "function") { + // callback + onload(); + } + }); + }) + .catch(error => { + if (typeof onerror === "function") { + onerror(error); + } + }); + isFormatSupported = true; + break; + } + + // exit the loop as soon as the first supported format is detected + if (isFormatSupported === true) { + return 1; + } } - return 1; + // no compatible format was found + throw new Error( + "No suppported Image file format found for " + img.name + ); } /** @@ -24842,6 +25563,298 @@ class Path2D { } } +// default canvas settings +let defaultAttributes = { + offscreenCanvas : false, + willReadFrequently : false, + antiAlias : false, + context: "2d", + transparent : false, + premultipliedAlpha: true, + stencil: true, + blendMode : "normal", + failIfMajorPerformanceCaveat : true, + preferWebGL1 : false, + powerPreference : "default" +}; + +// WebGL version (if a gl context is created) +let WebGLVersion; + +// a helper function to create the 2d/webgl context +function createContext(canvas, attributes) { + let context; + + if (attributes.context === "2d") { + // 2d/canvas mode + context = canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently }); + } else if (attributes.context === "webgl") { + + let attr = { + alpha : attributes.transparent, + antialias : attributes.antiAlias, + depth : attributes.depth, + stencil: true, + preserveDrawingBuffer : false, + premultipliedAlpha: attributes.transparent ? attributes.premultipliedAlpha : false, + powerPreference: attributes.powerPreference, + failIfMajorPerformanceCaveat : attributes.failIfMajorPerformanceCaveat + }; + + // attempt to create a WebGL2 context if requested + if (attributes.preferWebGL1 === false) { + context = canvas.getContext("webgl2", attr); + if (context) { + WebGLVersion = 2; + } + } + + // fallback to WebGL1 + if (!context) { + WebGLVersion = 1; + context = canvas.getContext("webgl", attr) || canvas.getContext("experimental-webgl", attr); + } + + if (!context) { + throw new Error( + "A WebGL context could not be created." + ); + } + } else { + throw new Error( + "Invalid context type. Must be one of '2d' or 'webgl'" + ); + } + + // set the context size + return context; +} + +/** + * CanvasRenderTarget is 2D render target which exposes a Canvas interface. + */ +class CanvasRenderTarget { + /** + * @param {number} width - the desired width of the canvas + * @param {number} height - the desired height of the canvas + * @param {object} attributes - The attributes to create both the canvas and context + * @param {boolean} [attributes.context="2d"] - the context type to be created ("2d", "webgl", "webgl2") + * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas + * @param {boolean} [attributes.willReadFrequently=false] - Indicates whether or not a lot of read-back operations are planned + * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect. + */ + constructor(width, height, attributes = defaultAttributes) { + /** + * the canvas created for this CanvasRenderTarget + * @type {HTMLCanvasElement|OffscreenCanvas} + */ + this.canvas; + + /** + * the rendering context of this CanvasRenderTarget + * @type {CanvasRenderingContext2D|WebGLRenderingContext} + */ + this.context; + + // clean up the given attributes + this.attributes = Object.assign({}, defaultAttributes, attributes); + + // used the given canvas if any + if (typeof attributes.canvas !== "undefined") { + this.canvas = attributes.canvas; + } else { + this.canvas = createCanvas(width, height, this.attributes.offscreenCanvas); + } + + // create the context + this.context = createContext(this.canvas, this.attributes); + + this.WebGLVersion = WebGLVersion; + + // enable or disable antiAlias if specified + this.setAntiAlias(this.attributes.antiAlias); + } + + /** + * @ignore + */ + onResetEvent(width, height) { + this.clear(); + this.resize(width, height); + } + + /** + * Clears the content of the canvas texture + */ + clear() { + this.context.setTransform(1, 0, 0, 1, 0, 0); + this.context.clearRect(0, 0, this.canvas.width, this.canvas.height); + } + + /** + * enable/disable image smoothing (scaling interpolation) + * @param {boolean} [enable=false] - whether to enable or not image smoothing (scaling interpolation) + */ + setAntiAlias(enable = false) { + let canvas = this.canvas; + + // enable/disable antialias on the given Context2d object + setPrefixed("imageSmoothingEnabled", enable, this.context); + + // set antialias CSS property on the main canvas + if (typeof canvas.style !== "undefined") { + if (enable !== true) { + // https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering + canvas.style["image-rendering"] = "optimizeSpeed"; // legal fallback + canvas.style["image-rendering"] = "-moz-crisp-edges"; // Firefox + canvas.style["image-rendering"] = "-o-crisp-edges"; // Opera + canvas.style["image-rendering"] = "-webkit-optimize-contrast"; // Safari + canvas.style["image-rendering"] = "optimize-contrast"; // CSS 3 + canvas.style["image-rendering"] = "crisp-edges"; // CSS 4 + canvas.style["image-rendering"] = "pixelated"; // CSS 4 + canvas.style.msInterpolationMode = "nearest-neighbor"; // IE8+ + } else { + canvas.style["image-rendering"] = "auto"; + } + } + } + + /** + * Resizes the canvas texture to the given width and height. + * @param {number} width - the desired width + * @param {number} height - the desired height + */ + resize(width, height) { + this.canvas.width = Math.round(width); + this.canvas.height = Math.round(height); + } + + /** + * Returns an ImageData object representing the underlying pixel data for a specified portion of this canvas texture. + * (Note: when using getImageData(), it is highly recommended to use the `willReadFrequently` attribute when creatimg the corresponding canvas texture) + * @param {number} x - The x-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted + * @param {number} y - The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted + * @param {number} width - The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left + * @param {number} height - The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up + * @returns {ImageData} The ImageData extracted from this CanvasRenderTarget. + */ + getImageData(x, y, width, height) { + // clamp values + x = clamp(Math.floor(x), 0, this.canvas.width - 1); + y = clamp(Math.floor(y), 0, this.canvas.height - 1); + width = clamp(width, 1, this.canvas.width - x); + height = clamp(height, 1, this.canvas.height - y); + // return imageData + return this.context.getImageData(x, y, width, height); + } + + /** + * creates a Blob object representing the image contained in this canvas texture + * @param {string} [type="image/png"] - A string indicating the image format + * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. + * @returns {Promise} A Promise returning a Blob object representing the image contained in this canvas texture + * @example + * renderTarget.convertToBlob().then((blob) => console.log(blob)); + */ + toBlob(type = "image/png", quality) { + if (typeof this.canvas.convertToBlob === "function") { + return this.canvas.convertToBlob(type, quality); + } else { + return new Promise(function(resolve) { + this.canvas.toBlob((blob) => { + resolve(blob); + }, type, quality); + }); + } + } + + /** + * creates an ImageBitmap object from the most recently rendered image of this canvas texture + * @param {string} [type="image/png"] - A string indicating the image format + * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. + * @returns {Promise} A Promise returning an ImageBitmap. + * @example + * renderTarget.transferToImageBitmap().then((bitmap) => console.log(bitmap)); + */ + toImageBitmap(type = "image/png", quality) { + return new Promise((resolve) => { + if (typeof this.canvas.transferToImageBitmap === "function") { + resolve(this.canvas.transferToImageBitmap()); + } else { + let image = new Image(); + image.src = this.canvas.toDataURL(type, quality); + image.onload = () => { + globalThis.createImageBitmap(image).then((bitmap) => resolve(bitmap)); + }; + } + }); + } + + /** + * returns a data URL containing a representation of the most recently rendered image of this canvas texture + * (not supported by OffscreenCanvas) + * @param {string} [type="image/png"] - A string indicating the image format + * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. + * @returns {Promise} A Promise returning a string containing the requested data URL. + * @example + * renderer.toDataURL().then((dataURL) => console.log(dataURL)); + */ + toDataURL(type = "image/png", quality) { + return new Promise((resolve) => { + resolve(this.canvas.toDataURL(type, quality)); + }); + } + + /** + * invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture + * (call this if you modify the canvas content between two draw calls) + * @param {CanvasRenderer|WebGLRenderer} renderer - the renderer to which this canvas texture is attached + */ + invalidate(renderer) { + if (typeof renderer.gl !== "undefined") { + // make sure the right compositor is active + renderer.setCompositor("quad"); + // invalidate the previous corresponding texture so that it can reuploaded once changed + this.glTextureUnit = renderer.cache.getUnit(renderer.cache.get(this.canvas)); + renderer.currentCompositor.unbindTexture2D(null, this.glTextureUnit); + } + } + + /** + * @ignore + */ + destroy() { + this.context = undefined; + this.canvas = undefined; + } + + /** + * The width of this canvas texture in pixels + * @public + * @type {number} + */ + get width() { + return this.canvas.width; + } + + set width(val) { + this.canvas.width = Math.round(val); + } + + /** + * The height of this canvas texture in pixels + * @public + * @type {number} + */ + get height() { + return this.canvas.height; + } + + set height(val) { + this.canvas.height = Math.round(val); + } +} + /** * @classdesc * a base renderer object @@ -24851,6 +25864,14 @@ class Renderer { * @param {Application.Settings} [options] - optional parameters for the renderer */ constructor(options) { + + /** + * The renderer renderTarget + * @name renderTarget + * @type {CanvasRenderTarget} + */ + this.renderTarget = new CanvasRenderTarget(options.width, options.height, options); + /** * The given constructor options * @public @@ -24996,7 +26017,7 @@ class Renderer { * @returns {HTMLCanvasElement} */ getCanvas() { - return this.canvas; + return this.renderTarget.canvas; } /** @@ -25004,7 +26025,7 @@ class Renderer { * @returns {CanvasRenderingContext2D|WebGLRenderingContext} */ getContext() { - return this.context; + return this.renderTarget.context; } /** @@ -25104,25 +26125,7 @@ class Renderer { * @param {boolean} [enable=false] */ setAntiAlias(context, enable) { - let canvas = context.canvas; - - // enable/disable antialis on the given Context2d object - setPrefixed("imageSmoothingEnabled", enable === true, context); - - // set antialias CSS property on the main canvas - if (enable !== true) { - // https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering - canvas.style["image-rendering"] = "optimizeSpeed"; // legal fallback - canvas.style["image-rendering"] = "-moz-crisp-edges"; // Firefox - canvas.style["image-rendering"] = "-o-crisp-edges"; // Opera - canvas.style["image-rendering"] = "-webkit-optimize-contrast"; // Safari - canvas.style["image-rendering"] = "optimize-contrast"; // CSS 3 - canvas.style["image-rendering"] = "crisp-edges"; // CSS 4 - canvas.style["image-rendering"] = "pixelated"; // CSS 4 - canvas.style.msInterpolationMode = "nearest-neighbor"; // IE8+ - } else { - canvas.style["image-rendering"] = "auto"; - } + this.renderTarget.setAntiAlias(context, enable); } /** @@ -25251,13 +26254,7 @@ class Renderer { * renderer.convertToBlob().then((blob) => console.log(blob)); */ toBlob(type = "image/png", quality) { - return new Promise((resolve) => { - once(GAME_AFTER_DRAW, () => { - this.canvas.toBlob((blob) => { - resolve(blob); - }, type, quality); - }); - }); + return this.renderTarget.toBlob(type, quality); } /** @@ -25270,15 +26267,7 @@ class Renderer { * renderer.transferToImageBitmap().then((image) => console.log(image)); */ toImageBitmap(type = "image/png", quality) { - return new Promise((resolve) => { - once(GAME_AFTER_DRAW, () => { - let image = new Image(); - image.src = this.canvas.toDataURL(type, quality); - image.onload = () => { - createImageBitmap(image).then((bitmap) => resolve(bitmap)); - }; - }); - }); + return this.renderTarget.toImageBitmap(type, quality); } /** @@ -25290,11 +26279,7 @@ class Renderer { * renderer.toDataURL().then((dataURL) => console.log(dataURL)); */ toDataURL(type = "image/png", quality) { - return new Promise((resolve) => { - once(GAME_AFTER_DRAW, () => { - resolve(this.canvas.toDataURL(type, quality)); - }); - }); + return this.renderTarget.toDataURL(type, quality); } } @@ -26272,9 +27257,6 @@ class CanvasRenderer extends Renderer { // parent constructor super(options); - // defined the 2d context - this.context = this.getContext2d(this.getCanvas(), this.settings.transparent); - this.setBlendMode(this.settings.blendMode); // apply the default color to the 2d context @@ -32440,13 +33422,13 @@ function _switchState(state) { } // initialize me.state on system boot -on(BOOT, () => { +once(BOOT, () => { // set the built-in loading stage state.set(state.LOADING, new DefaultLoadingScreen()); // set and enable the default stage state.set(state.DEFAULT, new Stage()); // enable by default as soon as the display is initialized - on(VIDEO_INIT, () => { + once(VIDEO_INIT, () => { state.change(state.DEFAULT, true); }); }); @@ -32795,7 +33777,7 @@ let state = { * @public * @param {number} state - State ID (see constants) * @param {boolean} forceChange - if true the state will be changed immediately - * @param {object} [...arguments] - extra arguments to be passed to the reset functions + * @param {...*} [args] - extra arguments to be passed to the reset functions * @example * // The onResetEvent method on the play screen will receive two args: * // "level_1" and the number 3 @@ -32917,8 +33899,8 @@ class Timer { this.timers = []; this.timerId = 0; - // Initialize mtimer on Boot event - on(BOOT, () => { + // Initialize timer on Boot event + once(BOOT, () => { // reset variables to initial state this.reset(); this.now = this.last = 0; @@ -34716,364 +35698,6 @@ class Tween { static get Interpolation() { return Interpolation; } } -/** - * Hash map of GLSL data types to WebGL Uniform methods - * @ignore - */ -const fnHash = { - "bool" : "1i", - "int" : "1i", - "float" : "1f", - "vec2" : "2fv", - "vec3" : "3fv", - "vec4" : "4fv", - "bvec2" : "2iv", - "bvec3" : "3iv", - "bvec4" : "4iv", - "ivec2" : "2iv", - "ivec3" : "3iv", - "ivec4" : "4iv", - "mat2" : "Matrix2fv", - "mat3" : "Matrix3fv", - "mat4" : "Matrix4fv", - "sampler2D" : "1i" -}; - -/** - * @ignore - */ -function extractUniforms(gl, shader) { - let uniforms = {}, - uniRx = /uniform\s+(\w+)\s+(\w+)/g, - uniformsData = {}, - descriptor = {}, - locations = {}, - match; - - // Detect all uniform names and types - [ shader.vertex, shader.fragment ].forEach((shader) => { - while ((match = uniRx.exec(shader))) { - uniformsData[match[2]] = match[1]; - } - }); - - // Get uniform references - Object.keys(uniformsData).forEach((name) => { - let type = uniformsData[name]; - locations[name] = gl.getUniformLocation(shader.program, name); - - descriptor[name] = { - "get" : (function (name) { - /* - * A getter for the uniform location - */ - return function () { - return locations[name]; - }; - })(name), - "set" : (function (name, type, fn) { - if (type.indexOf("mat") === 0) { - /* - * A generic setter for uniform matrices - */ - return function (val) { - gl[fn](locations[name], false, val); - }; - } - else { - /* - * A generic setter for uniform vectors - */ - return function (val) { - let fnv = fn; - if (val.length && fn.slice(-1) !== "v") { - fnv += "v"; - } - gl[fnv](locations[name], val); - }; - } - })(name, type, "uniform" + fnHash[type]) - }; - }); - Object.defineProperties(uniforms, descriptor); - - return uniforms; -} - -/** - * @ignore - */ -function extractAttributes(gl, shader) { - let attributes = {}, - attrRx = /attribute\s+\w+\s+(\w+)/g, - match, - i = 0; - - // Detect all attribute names - while ((match = attrRx.exec(shader.vertex))) { - attributes[match[1]] = i++; - } - - return attributes; -} - -/** - * @ignore - */ -function compileShader(gl, type, source) { - let shader = gl.createShader(type); - gl.shaderSource(shader, source); - gl.compileShader(shader); - - if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { - throw new Error(gl.getShaderInfoLog(shader)); - } - - return shader; -} - -/** - * Compile GLSL into a shader object - * @ignore - */ -function compileProgram(gl, vertex, fragment, attributes) { - let vertShader = compileShader(gl, gl.VERTEX_SHADER, vertex); - let fragShader = compileShader(gl, gl.FRAGMENT_SHADER, fragment); - - let program = gl.createProgram(); - - gl.attachShader(program, vertShader); - gl.attachShader(program, fragShader); - - - // force vertex attributes to use location 0 as starting location to prevent - // browser to do complicated emulation when running on desktop OpenGL (e.g. on macOS) - for (let location in attributes) { - gl.bindAttribLocation(program, attributes[location], location); - } - - gl.linkProgram(program); - - if (!gl.getProgramParameter(program, gl.LINK_STATUS)) { - let error_msg = - "Error initializing Shader " + this + "\n" + - "gl.VALIDATE_STATUS: " + gl.getProgramParameter(program, gl.VALIDATE_STATUS) + "\n" + - "gl.getError()" + gl.getError() + "\n" + - "gl.getProgramInfoLog()" + gl.getProgramInfoLog(program); - // house cleaning - gl.deleteProgram(program); - program = null; - // throw the exception - throw new Error(error_msg); - } - - gl.useProgram(program); - - // clean-up - gl.deleteShader(vertShader); - gl.deleteShader(fragShader); - - return program; -} - -/** - * set precision for the fiven shader source - * won't do anything if the precision is already specified - * @ignore - */ -function setPrecision(src, precision) { - if (src.substring(0, 9) !== "precision") { - return "precision " + precision + " float;" + src; - } - return src; -} - -/** - * return the highest precision format supported by this device for GL Shaders - * @ignore - * @param {WebGLRenderingContext} gl - the current WebGL context - * @returns {boolean} "lowp", "mediump", or "highp" - */ -function getMaxShaderPrecision(gl) { - if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT ).precision > 0 && - gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT ).precision > 0) { - return "highp"; - } - if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT ).precision > 0 && - gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT ).precision > 0) { - return "mediump"; - } - return "lowp"; -} - -/** - * clean the given source from space, comments, etc... - * @ignore - */ -function minify(src) { - // remove comments - src = src.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, "$1"); - // Remove leading and trailing whitespace from lines - src = src.replace(/(\\n\s+)|(\s+\\n)/g, ""); - // Remove line breaks - src = src.replace(/(\\r|\\n)+/g, ""); - // Remove unnecessary whitespace - src = src.replace(/\s*([;,[\](){}\\\/\-+*|^&!=<>?~%])\s*/g, "$1"); - - return src; -} - -/** - * @classdesc - * a base GL Shader object - */ -class GLShader { - /** - * @param {WebGLRenderingContext} gl - the current WebGL rendering context - * @param {string} vertex - a string containing the GLSL source code to set - * @param {string} fragment - a string containing the GLSL source code to set - * @param {string} [precision=auto detected] - float precision ('lowp', 'mediump' or 'highp'). - * @see https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/GLSL_Shaders - * @example - * // create a basic shader - * let myShader = new me.GLShader( - * // WebGL rendering context - * gl, - * // vertex shader - * [ - * "void main() {", - * " gl_Position = doMathToMakeClipspaceCoordinates;", - * "}" - * ].join("\n"), - * // fragment shader - * [ - * "void main() {", - * " gl_FragColor = doMathToMakeAColor;", - * "}" - * ].join("\n") - * ) - * // use the shader - * myShader.bind(); - */ - constructor(gl, vertex, fragment, precision) { - - /** - * the active gl rendering context - * @type {WebGLRenderingContext} - */ - this.gl = gl; - - /** - * the vertex shader source code - * @type {string} - */ - this.vertex = setPrecision(minify(vertex), precision || getMaxShaderPrecision(this.gl)); - - /** - * the fragment shader source code - * @type {string} - */ - this.fragment = setPrecision(minify(fragment), precision || getMaxShaderPrecision(this.gl)); - - /** - * the location attributes of the shader - * @type {GLint[]} - */ - this.attributes = extractAttributes(this.gl, this); - - - /** - * a reference to the shader program (once compiled) - * @type {WebGLProgram} - */ - this.program = compileProgram(this.gl, this.vertex, this.fragment, this.attributes); - - /** - * the uniforms of the shader - * @type {object} - */ - this.uniforms = extractUniforms(this.gl, this); - - // destroy the shader on context lost (will be recreated on context restore) - on(ONCONTEXT_LOST, this.destroy, this); - } - - /** - * Installs this shader program as part of current rendering state - */ - bind() { - this.gl.useProgram(this.program); - } - - /** - * returns the location of an attribute variable in this shader program - * @param {string} name - the name of the attribute variable whose location to get. - * @returns {GLint} number indicating the location of the variable name if found. Returns -1 otherwise - */ - getAttribLocation(name) { - let attr = this.attributes[name]; - if (typeof attr !== "undefined") { - return attr; - } else { - return -1; - } - } - - /** - * Set the uniform to the given value - * @param {string} name - the uniform name - * @param {object|Float32Array} value - the value to assign to that uniform - * @example - * myShader.setUniform("uProjectionMatrix", this.projectionMatrix); - */ - setUniform(name, value) { - let uniforms = this.uniforms; - if (typeof uniforms[name] !== "undefined") { - if (typeof value === "object" && typeof value.toArray === "function") { - uniforms[name] = value.toArray(); - } else { - uniforms[name] = value; - } - } else { - throw new Error("undefined (" + name + ") uniform for shader " + this); - } - } - - /** - * activate the given vertex attribute for this shader - * @param {WebGLRenderingContext} gl - the current WebGL rendering context - * @param {object[]} attributes - an array of vertex attributes - * @param {number} vertexByteSize - the size of a single vertex in bytes - */ - setVertexAttributes(gl, attributes, vertexByteSize) { - // set the vertex attributes - for (let index = 0; index < attributes.length; ++index) { - let element = attributes[index]; - let location = this.getAttribLocation(element.name); - - if (location !== -1) { - gl.enableVertexAttribArray(location); - gl.vertexAttribPointer(location, element.size, element.type, element.normalized, vertexByteSize, element.offset); - } else { - gl.disableVertexAttribArray(index); - } - } - } - - /** - * destroy this shader objects resources (program, attributes, uniforms) - */ - destroy() { - this.uniforms = null; - this.attributes = null; - - this.gl.deleteProgram(this.program); - - this.vertex = null; - this.fragment = null; - } -} - /** * @classdesc * a Vertex Buffer object @@ -35748,6 +36372,9 @@ class QuadCompositor extends Compositor { } } +// list of supported compressed texture formats +let supportedCompressedTextureFormats; + /** * @classdesc * a WebGL renderer object @@ -35759,15 +36386,7 @@ class WebGLRenderer extends Renderer { */ constructor(options) { // parent contructor - super(options); - - /** - * The WebGL version used by this renderer (1 or 2) - * @type {number} - * @default 1 - * @readonly - */ - this.WebGLVersion = 1; + super(Object.assign(options, { context: "webgl" })); /** * The vendor string of the underlying graphics driver. @@ -35790,7 +36409,7 @@ class WebGLRenderer extends Renderer { * @name gl * @type {WebGLRenderingContext} */ - this.context = this.gl = this.getContextGL(this.getCanvas(), options.transparent, options.depthTest === "z-buffer"); + this.gl = this.renderTarget.context; /** * the vertex buffer used by this WebGL Renderer @@ -35920,6 +36539,53 @@ class WebGLRenderer extends Renderer { }); } + /** + * The WebGL version used by this renderer (1 or 2) + * @type {number} + * @default 1 + * @readonly + */ + get WebGLVersion() { + return this.renderTarget.WebGLVersion; + } + + /** + * return the list of supported compressed texture formats + * @return {Object} + */ + getSupportedCompressedTextureFormats() { + if (typeof supportedCompressedTextureFormats === "undefined") { + const gl = this.gl; + supportedCompressedTextureFormats = { + astc: gl.getExtension("WEBGL_compressed_texture_astc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_astc"), + bptc: gl.getExtension("EXT_texture_compression_bptc") || this._gl.getExtension("WEBKIT_EXT_texture_compression_bptc"), + s3tc: gl.getExtension("WEBGL_compressed_texture_s3tc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"), + s3tc_srgb: gl.getExtension("WEBGL_compressed_texture_s3tc_srgb") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc_srgb"), + pvrtc: gl.getExtension("WEBGL_compressed_texture_pvrtc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"), + etc1: gl.getExtension("WEBGL_compressed_texture_etc1") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc1"), + etc2: gl.getExtension("WEBGL_compressed_texture_etc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc") || gl.getExtension("WEBGL_compressed_texture_es3_0") + }; + } + return supportedCompressedTextureFormats; + } + + /** + * return true if the given compressed texture format is supported + * @param {Number} format + * @returns + */ + hasSupportedCompressedFormats(format) { + const supportedFormats = this.getSupportedCompressedTextureFormats(); + for (var supportedFormat in supportedFormats) { + for (var extension in supportedFormats[supportedFormat]) { + if (format === supportedFormats[supportedFormat][extension]) { + return true; + } + } + } + return false; + } + /** * Reset context state */ @@ -36297,57 +36963,6 @@ class WebGLRenderer extends Renderer { this.path2D.closePath(); } - /** - * Returns the WebGL Context object of the given canvas element - * @param {HTMLCanvasElement} canvas - the canvas element - * @param {boolean} [transparent=false] - use true to enable transparency - * @param {boolean} [depth=false] - use true to enable depth buffer testing - * @returns {WebGLRenderingContext} the WebGL Context object - */ - getContextGL(canvas, transparent = false, depth = false) { - if (typeof canvas === "undefined" || canvas === null) { - throw new Error( - "You must pass a canvas element in order to create " + - "a GL context" - ); - } - - let attr = { - alpha : transparent, - antialias : this.settings.antiAlias, - depth : depth, - stencil: true, - preserveDrawingBuffer : false, - premultipliedAlpha: transparent ? this.settings.premultipliedAlpha : false, - powerPreference: this.settings.powerPreference, - failIfMajorPerformanceCaveat : this.settings.failIfMajorPerformanceCaveat - }; - - let gl; - - // attempt to create a WebGL2 context if requested - if (this.settings.preferWebGL1 === false) { - gl = canvas.getContext("webgl2", attr); - if (gl) { - this.WebGLVersion = 2; - } - } - - // fallback to WebGL1 - if (!gl) { - this.WebGLVersion = 1; - gl = canvas.getContext("webgl", attr) || canvas.getContext("experimental-webgl", attr); - } - - if (!gl) { - throw new Error( - "A WebGL context could not be created." - ); - } - - return gl; - } - /** * Returns the WebGLContext instance for the renderer * return a reference to the system 2d Context @@ -36910,229 +37525,6 @@ class WebGLRenderer extends Renderer { } } -// default canvas settings -let defaultAttributes = { - offscreenCanvas : false, - willReadFrequently : false, - antiAlias : false, - context: "2d" -}; - -/** - * Creates a Canvas Texture of the given size - * (when using WebGL, use `invalidate` to force a reupload of the corresponding texture) - */ -class CanvasTexture { - /** - * @param {number} width - the desired width of the canvas - * @param {number} height - the desired height of the canvas - * @param {object} attributes - The attributes to create both the canvas and context - * @param {boolean} [attributes.context="2d"] - the context type to be created ("2d", "webgl", "webgl2") - * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas - * @param {boolean} [attributes.willReadFrequently=false] - Indicates whether or not a lot of read-back operations are planned - * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect. - */ - constructor(width, height, attributes = defaultAttributes) { - - // clean up the given attributes - attributes = Object.assign(defaultAttributes, attributes || {}); - - /** - * the canvas created for this CanvasTexture - * @type {HTMLCanvasElement|OffscreenCanvas} - */ - this.canvas = createCanvas(width, height, attributes.offscreenCanvas); - - /** - * the rendering context of this CanvasTexture - * @type {CanvasRenderingContext2D} - */ - this.context = this.canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently }); - - // enable or disable antiAlias if specified - this.setAntiAlias(attributes.antiAlias); - } - - /** - * @ignore - */ - onResetEvent(width, height) { - this.clear(); - this.resize(width, height); - } - - /** - * Clears the content of the canvas texture - */ - clear() { - this.context.setTransform(1, 0, 0, 1, 0, 0); - this.context.clearRect(0, 0, this.canvas.width, this.canvas.height); - } - - /** - * enable/disable image smoothing (scaling interpolation) - * @param {boolean} [enable=false] - whether to enable or not image smoothing (scaling interpolation) - */ - setAntiAlias(enable = false) { - let canvas = this.canvas; - - // enable/disable antialias on the given Context2d object - setPrefixed("imageSmoothingEnabled", enable, this.context); - - // set antialias CSS property on the main canvas - if (typeof canvas.style !== "undefined") { - if (enable !== true) { - // https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering - canvas.style["image-rendering"] = "optimizeSpeed"; // legal fallback - canvas.style["image-rendering"] = "-moz-crisp-edges"; // Firefox - canvas.style["image-rendering"] = "-o-crisp-edges"; // Opera - canvas.style["image-rendering"] = "-webkit-optimize-contrast"; // Safari - canvas.style["image-rendering"] = "optimize-contrast"; // CSS 3 - canvas.style["image-rendering"] = "crisp-edges"; // CSS 4 - canvas.style["image-rendering"] = "pixelated"; // CSS 4 - canvas.style.msInterpolationMode = "nearest-neighbor"; // IE8+ - } else { - canvas.style["image-rendering"] = "auto"; - } - } - } - - /** - * Resizes the canvas texture to the given width and height. - * @param {number} width - the desired width - * @param {number} height - the desired height - */ - resize(width, height) { - this.canvas.width = Math.round(width); - this.canvas.height = Math.round(height); - } - - /** - * Returns an ImageData object representing the underlying pixel data for a specified portion of this canvas texture. - * (Note: when using getImageData(), it is highly recommended to use the `willReadFrequently` attribute when creatimg the corresponding canvas texture) - * @param {number} x - The x-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted - * @param {number} y - The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted - * @param {number} width - The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left - * @param {number} height - The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up - * @returns {ImageData} The ImageData extracted from this CanvasTexture. - */ - getImageData(x, y, width, height) { - // clamp values - x = clamp(Math.floor(x), 0, this.canvas.width - 1); - y = clamp(Math.floor(y), 0, this.canvas.height - 1); - width = clamp(width, 1, this.canvas.width - x); - height = clamp(height, 1, this.canvas.height - y); - // return imageData - return this.context.getImageData(x, y, width, height); - } - - /** - * creates a Blob object representing the image contained in this canvas texture - * @param {string} [type="image/png"] - A string indicating the image format - * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. - * @returns {Promise} A Promise returning a Blob object representing the image contained in this canvas texture - * @example - * canvasTexture.convertToBlob().then((blob) => console.log(blob)); - */ - toBlob(type = "image/png", quality) { - if (typeof this.canvas.convertToBlob === "function") { - return this.canvas.convertToBlob(type, quality); - } else { - return new Promise(function(resolve) { - this.canvas.toBlob((blob) => { - resolve(blob); - }, type, quality); - }); - } - } - - /** - * creates an ImageBitmap object from the most recently rendered image of this canvas texture - * @param {string} [type="image/png"] - A string indicating the image format - * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. - * @returns {Promise} A Promise returning an ImageBitmap. - * @example - * canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap)); - */ - toImageBitmap(type = "image/png", quality) { - return new Promise((resolve) => { - if (typeof this.canvas.transferToImageBitmap === "function") { - resolve(this.canvas.transferToImageBitmap()); - } else { - let image = new Image(); - image.src = this.canvas.toDataURL(type, quality); - image.onload = () => { - globalThis.createImageBitmap(image).then((bitmap) => resolve(bitmap)); - }; - } - }); - } - - /** - * returns a data URL containing a representation of the most recently rendered image of this canvas texture - * (not supported by OffscreenCanvas) - * @param {string} [type="image/png"] - A string indicating the image format - * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. - * @returns {Promise} A Promise returning a string containing the requested data URL. - * @example - * renderer.toDataURL().then((dataURL) => console.log(dataURL)); - */ - toDataURL(type = "image/png", quality) { - return new Promise((resolve) => { - resolve(this.canvas.toDataURL(type, quality)); - }); - } - - /** - * invalidate the current CanvasTexture, and force a reupload of the corresponding texture - * (call this if you modify the canvas content between two draw calls) - * @param {CanvasRenderer|WebGLRenderer} renderer - the renderer to which this canvas texture is attached - */ - invalidate(renderer) { - if (typeof renderer.gl !== "undefined") { - // make sure the right compositor is active - renderer.setCompositor("quad"); - // invalidate the previous corresponding texture so that it can reuploaded once changed - this.glTextureUnit = renderer.cache.getUnit(renderer.cache.get(this.canvas)); - renderer.currentCompositor.unbindTexture2D(null, this.glTextureUnit); - } - } - - /** - * @ignore - */ - destroy() { - this.context = undefined; - this.canvas = undefined; - } - - /** - * The width of this canvas texture in pixels - * @public - * @type {number} - */ - get width() { - return this.canvas.width; - } - - set width(val) { - this.canvas.width = Math.round(val); - } - - /** - * The height of this canvas texture in pixels - * @public - * @type {number} - */ - get height() { - return this.canvas.height; - } - - set height(val) { - this.canvas.height = Math.round(val); - } -} - /** * @classdesc * a generic Color Layer Object. Fills the entire Canvas with the color not just the container the object belongs to. @@ -38159,7 +38551,7 @@ class Text extends Renderable { // the canvas Texture used to render this text // XXX: offscreenCanvas is currently disabled for text rendering due to issue in WebGL mode - this.canvasTexture = pool.pull("CanvasTexture", 2, 2, { offscreenCanvas: false }); + this.canvasTexture = pool.pull("CanvasRenderTarget", 2, 2, { offscreenCanvas: false }); // instance to text metrics functions this.metrics = new TextMetrics(this); @@ -39618,7 +40010,7 @@ class Light2d extends Renderable { this.visibleArea = pool.pull("Ellipse", this.centerX, this.centerY, this.width, this.height); /** @ignore */ - this.texture = pool.pull("CanvasTexture", this.width, this.height, { offscreenCanvas: false }); + this.texture = pool.pull("CanvasRenderTarget", this.width, this.height, { offscreenCanvas: false }); this.anchorPoint.set(0, 0); @@ -41377,7 +41769,7 @@ const ParticleEmitterSettings = { * @ignore */ function createDefaultParticleTexture(w = 8, h = 8) { - let defaultParticleTexture = pool.pull("CanvasTexture", w, h, { offscreenCanvas: true }); + let defaultParticleTexture = pool.pull("CanvasRenderTarget", w, h, { offscreenCanvas: true }); defaultParticleTexture.context.fillStyle = "#fff"; defaultParticleTexture.context.fillRect(0, 0, w, h); @@ -42696,9 +43088,9 @@ class BasePlugin { * define the minimum required version of melonJS
* this can be overridden by the plugin * @type {string} - * @default "17.0.0" + * @default "17.1.0" */ - this.version = "17.0.0"; + this.version = "17.1.0"; /** * a reference to the app/game that registered this plugin @@ -42771,7 +43163,7 @@ function patch(proto, name, fn) { * @memberof plugin * @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register * @param {string} [name=plugin.constructor.name] - a unique name for this plugin - * @param {object} [...arguments] - all extra parameters will be passed to the plugin constructor + * @param {...*} [args] - all extra parameters will be passed to the plugin constructor * @example * // register a new plugin * me.plugin.register(TestPlugin, "testPlugin"); @@ -42970,6 +43362,27 @@ Renderer.prototype.getHeight = function() { return this.height; }; +/** + * @classdesc + * @deprecated since 17.1.0 + * @see CanvasRenderTarget + */ +class CanvasTexture extends CanvasRenderTarget { + /** + * @param {number} width - the desired width of the canvas + * @param {number} height - the desired height of the canvas + * @param {object} attributes - The attributes to create both the canvas and context + * @param {boolean} [attributes.context="2d"] - the context type to be created ("2d", "webgl", "webgl2") + * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas + * @param {boolean} [attributes.willReadFrequently=false] - Indicates whether or not a lot of read-back operations are planned + * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect. + */ + constructor(width, height, attributes) { + warning("CanvasTexture", "CanvasRenderTarget", "17.1.0"); + super(width, height, attributes); + } +} + // ES5/ES6 polyfills @@ -42980,7 +43393,7 @@ Renderer.prototype.getHeight = function() { * @name version * @type {string} */ -const version = "17.0.0"; +const version = "17.1.0"; /** * a flag indicating that melonJS is fully initialized @@ -43082,7 +43495,7 @@ function boot() { pool.register("Point", Point, true); pool.register("Ellipse", Ellipse, true); pool.register("Bounds", Bounds, true); - pool.register("CanvasTexture", CanvasTexture, true); + pool.register("CanvasRenderTarget", CanvasRenderTarget, true); // publish Boot notification emit(BOOT); @@ -43109,4 +43522,4 @@ onReady(() => { } }); -export { AUTO, Application, BitmapText, BitmapTextData, Body, Bounds, CANVAS, Camera2d, CanvasRenderer, CanvasTexture, Collectable, Color, ColorLayer, Compositor, Container, Draggable, DraggableEntity, DropTarget, DroptargetEntity, Ellipse, Entity, GLShader, GUI_Object, ImageLayer, Light2d, Line, math as Math, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, ParticleEmitter, ParticleEmitterSettings, Point, Pointer, Polygon, PrimitiveCompositor, QuadCompositor, QuadTree, Rect, Renderable, Renderer, RoundRect, Sprite, Stage, TMXHexagonalRenderer, TMXIsometricRenderer, TMXLayer, TMXOrthogonalRenderer, TMXRenderer, TMXStaggeredRenderer, TMXTileMap, TMXTileset, TMXTilesetGroup, TMXUtils, Text, TextureAtlas, Tile, Trigger, Tween, UIBaseElement, UISpriteElement, UITextButton, Vector2d, Vector3d, WEBGL, WebGLRenderer, World, audio, boot, collision, device, event, game, initialized, input, level, loader, plugin, cache as plugins, pool, save, skipAutoInit, state, timer$1 as timer, utils, version, video }; +export { AUTO, Application, BitmapText, BitmapTextData, Body, Bounds, CANVAS, Camera2d, CanvasRenderTarget, CanvasRenderer, CanvasTexture, Collectable, Color, ColorLayer, Compositor, Container, Draggable, DraggableEntity, DropTarget, DroptargetEntity, Ellipse, Entity, GLShader, GUI_Object, ImageLayer, Light2d, Line, math as Math, Matrix2d, Matrix3d, NineSliceSprite, ObservableVector2d, ObservableVector3d, Particle, ParticleEmitter, ParticleEmitterSettings, Point, Pointer, Polygon, PrimitiveCompositor, QuadCompositor, QuadTree, Rect, Renderable, Renderer, RoundRect, Sprite, Stage, TMXHexagonalRenderer, TMXIsometricRenderer, TMXLayer, TMXOrthogonalRenderer, TMXRenderer, TMXStaggeredRenderer, TMXTileMap, TMXTileset, TMXTilesetGroup, TMXUtils, Text, TextureAtlas, Tile, Trigger, Tween, UIBaseElement, UISpriteElement, UITextButton, Vector2d, Vector3d, WEBGL, WebGLRenderer, World, audio, boot, collision, device, event, game, initialized, input, level, loader, plugin, cache as plugins, pool, save, skipAutoInit, state, timer$1 as timer, utils, version, video }; diff --git a/dist/types/audio/audio.d.ts b/dist/types/audio/audio.d.ts index 22d8013122..e81f5cc71b 100644 --- a/dist/types/audio/audio.d.ts +++ b/dist/types/audio/audio.d.ts @@ -5,7 +5,7 @@ * webm has nearly full browser coverage with a great combination of compression and quality, and mp3 will fallback gracefully for other browsers. * It is important to remember that melonJS selects the first compatible sound based on the list of extensions and given order passed here. * So if you want webm to be used before mp3, you need to put the audio format in that order. - * @function audio.init + * @memberof audio * @param {string} [format="mp3"] - audio format to prioritize ("mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac") * @returns {boolean} Indicates whether audio initialization was successful * @example @@ -18,32 +18,32 @@ export function init(format?: string | undefined): boolean; /** * check if the given audio format is supported - * @function audio.hasFormat + * @memberof audio * @param {"mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac"} codec - the audio format to check for support * @returns {boolean} return true if the given audio format is supported */ export function hasFormat(codec: "mp3" | "mpeg" | "opus" | "ogg" | "oga" | "wav" | "aac" | "caf" | "m4a" | "m4b" | "mp4" | "weba" | "webm" | "dolby" | "flac"): boolean; /** * check if audio (HTML5 or WebAudio) is supported - * @function audio.hasAudio + * @memberof audio * @returns {boolean} return true if audio (HTML5 or WebAudio) is supported */ export function hasAudio(): boolean; /** * enable audio output
* only useful if audio supported and previously disabled through - * @function audio.enable + * @memberof audio * @see audio.disable */ export function enable(): void; /** * disable audio output - * @function audio.disable + * @memberof audio */ export function disable(): void; /** * Load an audio file - * @function audio.load + * @memberof audio * @param {loader.Asset} sound * @param {Function} [onloadcb] - function to be called when the resource is loaded * @param {Function} [onerrorcb] - function to be called in case of error @@ -53,7 +53,7 @@ export function disable(): void; export function load(sound: loader.Asset, onloadcb?: Function | undefined, onerrorcb?: Function | undefined, settings?: Object | undefined): number; /** * play the specified sound - * @function audio.play + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {boolean} [loop=false] - loop audio * @param {Function} [onend] - Function to call when sound instance ends playing. @@ -72,7 +72,7 @@ export function load(sound: loader.Asset, onloadcb?: Function | undefined, onerr export function play(sound_name: string, loop?: boolean | undefined, onend?: Function | undefined, volume?: number | undefined): number; /** * Fade a currently playing sound between two volumee. - * @function audio.fade + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} from - Volume to fade from (0.0 to 1.0). * @param {number} to - Volume to fade to (0.0 to 1.0). @@ -82,7 +82,7 @@ export function play(sound_name: string, loop?: boolean | undefined, onend?: Fun export function fade(sound_name: string, from: number, to: number, duration: number, id?: number | undefined): void; /** * get/set the position of playback for a sound. - * @function audio.seek + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [seek] - the position to move current playback to (in seconds). * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will changed. @@ -96,7 +96,7 @@ export function fade(sound_name: string, from: number, to: number, duration: num export function seek(sound_name: string, ...args: any[]): number; /** * get or set the rate of playback for a sound. - * @function audio.rate + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [rate] - playback rate : 0.5 to 4.0, with 1.0 being normal speed. * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed. @@ -108,9 +108,64 @@ export function seek(sound_name: string, ...args: any[]): number; * me.audio.rate("dst-gameforest", 2.0); */ export function rate(sound_name: string, ...args: any[]): number; +/** + * get or set the stereo panning for the specified sound. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {number} [pan] - the panning value - A value of -1.0 is all the way left and 1.0 is all the way right. + * @return {number} the current panning value + * @example + * me.audio.stereo("cling", -1); + */ +export function stereo(sound_name: string, pan?: number | undefined): number; +/** + * get or set the 3D spatial position for the specified sound. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {Number} x - the x-position of the audio source. + * @param {Number} y - the y-position of the audio source. + * @param {Number} z - the z-position of the audio source. + * @return {Array} the current 3D spatial position: [x, y, z] + */ +export function position(sound_name: string, x: number, y: number, z: number): any[]; +/** + * Get/set the direction the audio source is pointing in the 3D cartesian coordinate space. + * Depending on how direction the sound is, based on the `cone` attributes, a sound pointing away from the listener can be quiet or silent. + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {Number} x - the x-orientation of the audio source. + * @param {Number} y - the y-orientation of the audio source. + * @param {Number} z - the z-orientation of the audio source. + * @return {Array} the current 3D spatial orientation: [x, y, z] + */ +export function orientation(sound_name: string, x: number, y: number, z: number): any[]; +/** + * get or set the panner node's attributes for a sound or group of sounds. + * See {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Web_audio_spatialization_basics#creating_a_panner_node} + * @memberof audio + * @param {string} sound_name - audio clip name - case sensitive + * @param {object} [attribute] - the panner attributes to set + * @param {string} [settings.coneInnerAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, inside of which there will be no volume reduction. + * @param {string} [settings.coneOuterAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, outside of which the volume will be reduced to a constant value of `coneOuterGain`. + * @param {string} [settings.coneOuterGain=0] - A parameter for directional audio sources, this is the gain outside of the `coneOuterAngle`. It is a linear value in the range `[0, 1]`. + * @param {string} [settings.distanceModel="inverse"] - Determines algorithm used to reduce volume as audio moves away from listener. Can be `linear`, `inverse` or `exponential. + * @param {string} [settings.maxDistance=10000] - The maximum distance between source and listener, after which the volume will not be reduced any further. + * @param {string} [settings.refDistance=1] - A reference distance for reducing volume as source moves further from the listener. This is simply a variable of the distance model and has a different effect depending on which model is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance. + * @param {string} [settings.rolloffFactor=1] - How quickly the volume reduces as source moves from listener. This is simply a variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]` with `inverse` and `exponential`. + * @param {string} [settings.panningModel="HRTF"] - Determines which spatialization algorithm is used to position audio. Can be `HRTF` or `equalpower`. + * @return {Object} current panner attributes. + * @example + * me.audio.panner("cling", { + * panningModel: 'HRTF', + * refDistance: 0.8, + * rolloffFactor: 2.5, + * distanceModel: 'exponential' + * }); + */ +export function panner(sound_name: string, attributes: any): Object; /** * stop the specified sound on all channels - * @function audio.stop + * @memberof audio * @param {string} [sound_name] - audio clip name (case sensitive). If none is passed, all sounds are stopped. * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will stop. * @example @@ -120,7 +175,7 @@ export function stop(sound_name?: string | undefined, id?: number | undefined): /** * pause the specified sound on all channels
* this function does not reset the currentTime property - * @function audio.pause + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will pause. * @example @@ -129,7 +184,7 @@ export function stop(sound_name?: string | undefined, id?: number | undefined): export function pause(sound_name: string, id?: number | undefined): void; /** * resume the specified sound on all channels
- * @function audio.resume + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will resume. * @example @@ -147,7 +202,7 @@ export function resume(sound_name: string, id?: number | undefined): void; * play the specified audio track
* this function automatically set the loop property to true
* and keep track of the current sound being played. - * @function audio.playTrack + * @memberof audio * @param {string} sound_name - audio track name - case sensitive * @param {number} [volume=default] - Float specifying volume (0.0 - 1.0 values accepted). * @returns {number} the sound instance ID. @@ -157,7 +212,7 @@ export function resume(sound_name: string, id?: number | undefined): void; export function playTrack(sound_name: string, volume?: number | undefined): number; /** * stop the current audio track - * @function audio.stopTrack + * @memberof audio * @see audio.playTrack * @example * // play a awesome music @@ -168,14 +223,14 @@ export function playTrack(sound_name: string, volume?: number | undefined): numb export function stopTrack(): void; /** * pause the current audio track - * @function audio.pauseTrack + * @memberof audio * @example * me.audio.pauseTrack(); */ export function pauseTrack(): void; /** * resume the previously paused audio track - * @function audio.resumeTrack + * @memberof audio * @example * // play an awesome music * me.audio.playTrack("awesome_music"); @@ -187,25 +242,25 @@ export function pauseTrack(): void; export function resumeTrack(): void; /** * returns the current track Id - * @function audio.getCurrentTrack + * @memberof audio * @returns {string} audio track name */ export function getCurrentTrack(): string; /** * set the default global volume - * @function audio.setVolume + * @memberof audio * @param {number} volume - Float specifying volume (0.0 - 1.0 values accepted). */ export function setVolume(volume: number): void; /** * get the default global volume - * @function audio.getVolume + * @memberof audio * @returns {number} current volume value in Float [0.0 - 1.0] . */ export function getVolume(): number; /** * mute or unmute the specified sound, but does not pause the playback. - * @function audio.mute + * @memberof audio * @param {string} sound_name - audio clip name - case sensitive * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will mute. * @param {boolean} [mute=true] - True to mute and false to unmute @@ -216,30 +271,30 @@ export function getVolume(): number; export function mute(sound_name: string, id?: number | undefined, mute?: boolean | undefined): void; /** * unmute the specified sound - * @function audio.unmute + * @memberof audio * @param {string} sound_name - audio clip name * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will unmute. */ export function unmute(sound_name: string, id?: number | undefined): void; /** * mute all audio - * @function audio.muteAll + * @memberof audio */ export function muteAll(): void; /** * unmute all audio - * @function audio.unmuteAll + * @memberof audio */ export function unmuteAll(): void; /** * Returns true if audio is muted globally. - * @function audio.muted + * @memberof audio * @returns {boolean} true if audio is muted globally */ export function muted(): boolean; /** * unload specified audio track to free memory - * @function audio.unload + * @memberof audio * @param {string} sound_name - audio track name - case sensitive * @returns {boolean} true if unloaded * @example @@ -248,7 +303,7 @@ export function muted(): boolean; export function unload(sound_name: string): boolean; /** * unload all audio to free memory - * @function audio.unloadAll + * @memberof audio * @example * me.audio.unloadAll(); */ @@ -258,7 +313,6 @@ export function unloadAll(): void; * if true, melonJS will throw an exception and stop loading
* if false, melonJS will disable sounds and output a warning message * in the console
- * @name stopOnAudioError * @type {boolean} * @default true * @memberof audio diff --git a/dist/types/index.d.ts b/dist/types/index.d.ts index 7828a44287..6d118dbc98 100644 --- a/dist/types/index.d.ts +++ b/dist/types/index.d.ts @@ -76,7 +76,7 @@ import QuadCompositor from "./video/webgl/compositors/quad_compositor.js"; import Renderer from "./video/renderer.js"; import WebGLRenderer from "./video/webgl/webgl_renderer.js"; import CanvasRenderer from "./video/canvas/canvas_renderer.js"; -import CanvasTexture from "./video/texture/canvas_texture.js"; +import CanvasRenderTarget from "./video/rendertarget/canvasrendertarget.js"; import { TextureAtlas } from "./video/texture/atlas.js"; import Renderable from "./renderable/renderable.js"; import Body from "./physics/body.js"; @@ -117,4 +117,4 @@ import ParticleEmitterSettings from "./particles/settings.js"; import Particle from "./particles/particle.js"; import Entity from "./renderable/entity/entity.js"; import Application from "./application/application.js"; -export { audio, collision, device, event, loader, level, input, Math, plugin, plugins, utils, save, timer, pool, state, video, Color, Vector2d, Vector3d, ObservableVector2d, ObservableVector3d, Matrix2d, Matrix3d, Polygon, Line, Ellipse, Point, Rect, RoundRect, Tween, QuadTree, GLShader, Compositor, PrimitiveCompositor, QuadCompositor, Renderer, WebGLRenderer, CanvasRenderer, CanvasTexture, TextureAtlas, Renderable, Body, Bounds, Text, BitmapText, BitmapTextData, ColorLayer, ImageLayer, Sprite, NineSliceSprite, UIBaseElement, UITextButton, UISpriteElement, Collectable, Trigger, Light2d, Draggable, DropTarget, TMXRenderer, TMXOrthogonalRenderer, TMXIsometricRenderer, TMXHexagonalRenderer, TMXStaggeredRenderer, Tile, TMXTileset, TMXTilesetGroup, TMXTileMap, TMXLayer, TMXUtils, Pointer, Stage, Camera2d, Container, World, ParticleEmitter, ParticleEmitterSettings, Particle, Entity, Application }; +export { audio, collision, device, event, loader, level, input, Math, plugin, plugins, utils, save, timer, pool, state, video, Color, Vector2d, Vector3d, ObservableVector2d, ObservableVector3d, Matrix2d, Matrix3d, Polygon, Line, Ellipse, Point, Rect, RoundRect, Tween, QuadTree, GLShader, Compositor, PrimitiveCompositor, QuadCompositor, Renderer, WebGLRenderer, CanvasRenderer, CanvasRenderTarget, TextureAtlas, Renderable, Body, Bounds, Text, BitmapText, BitmapTextData, ColorLayer, ImageLayer, Sprite, NineSliceSprite, UIBaseElement, UITextButton, UISpriteElement, Collectable, Trigger, Light2d, Draggable, DropTarget, TMXRenderer, TMXOrthogonalRenderer, TMXIsometricRenderer, TMXHexagonalRenderer, TMXStaggeredRenderer, Tile, TMXTileset, TMXTilesetGroup, TMXTileMap, TMXLayer, TMXUtils, Pointer, Stage, Camera2d, Container, World, ParticleEmitter, ParticleEmitterSettings, Particle, Entity, Application }; diff --git a/dist/types/lang/deprecated.d.ts b/dist/types/lang/deprecated.d.ts index 0f58db9570..190800e443 100644 --- a/dist/types/lang/deprecated.d.ts +++ b/dist/types/lang/deprecated.d.ts @@ -43,3 +43,26 @@ export class GUI_Object { */ constructor(x: number, y: number, settings: object); } +/** + * @classdesc + * @deprecated since 17.1.0 + * @see CanvasRenderTarget + */ +export class CanvasTexture extends CanvasRenderTarget { + /** + * @param {number} width - the desired width of the canvas + * @param {number} height - the desired height of the canvas + * @param {object} attributes - The attributes to create both the canvas and context + * @param {boolean} [attributes.context="2d"] - the context type to be created ("2d", "webgl", "webgl2") + * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas + * @param {boolean} [attributes.willReadFrequently=false] - Indicates whether or not a lot of read-back operations are planned + * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect. + */ + constructor(width: number, height: number, attributes: { + context?: boolean | undefined; + offscreenCanvas?: boolean | undefined; + willReadFrequently?: boolean | undefined; + antiAlias?: boolean | undefined; + }); +} +import CanvasRenderTarget from "../video/rendertarget/canvasrendertarget.js"; diff --git a/dist/types/level/tiled/TMXLayer.d.ts b/dist/types/level/tiled/TMXLayer.d.ts index 6b79e8a657..235e128d09 100644 --- a/dist/types/level/tiled/TMXLayer.d.ts +++ b/dist/types/level/tiled/TMXLayer.d.ts @@ -68,7 +68,7 @@ export default class TMXLayer extends Renderable { layerData: any[]; onActivateEvent(): void; preRender: any; - canvasRenderer: CanvasRenderer | undefined; + canvasRenderer: any; onDeactivateEvent(): void; /** * Set the TMX renderer for this layer object @@ -154,5 +154,4 @@ export default class TMXLayer extends Renderable { draw(renderer: any, rect: any): void; } import Renderable from "./../../renderable/renderable.js"; -import CanvasRenderer from "./../../video/canvas/canvas_renderer"; import Tile from "./TMXTile.js"; diff --git a/dist/types/loader/parsers/compressed_textures/compressed_image.d.ts b/dist/types/loader/parsers/compressed_textures/compressed_image.d.ts new file mode 100644 index 0000000000..8a739836eb --- /dev/null +++ b/dist/types/loader/parsers/compressed_textures/compressed_image.d.ts @@ -0,0 +1 @@ +export function parseCompressedImage(arrayBuffer: any, imgExt: any): never; diff --git a/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts b/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts new file mode 100644 index 0000000000..51871d5290 --- /dev/null +++ b/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts @@ -0,0 +1 @@ +export function parseDDS(): void; diff --git a/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts b/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts new file mode 100644 index 0000000000..0a8a659dc4 --- /dev/null +++ b/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts @@ -0,0 +1 @@ +export function parseKTX(): void; diff --git a/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts b/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts new file mode 100644 index 0000000000..d90c1184d8 --- /dev/null +++ b/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts @@ -0,0 +1 @@ +export function parseKTX2(): void; diff --git a/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts b/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts new file mode 100644 index 0000000000..4d5db8df50 --- /dev/null +++ b/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts @@ -0,0 +1 @@ +export function parsePKM(): void; diff --git a/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts b/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts new file mode 100644 index 0000000000..8a61079d53 --- /dev/null +++ b/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts @@ -0,0 +1 @@ +export function parsePVR(): void; diff --git a/dist/types/math/math.d.ts b/dist/types/math/math.d.ts index dbc3572aaa..b92b2c8764 100644 --- a/dist/types/math/math.d.ts +++ b/dist/types/math/math.d.ts @@ -5,6 +5,13 @@ * @returns {boolean} */ export function isPowerOfTwo(val: number): boolean; +/** + * returns true if the given value is a power of four + * @memberof Math + * @param {number} val + * @returns {boolean} + */ +export function isPowerOfFour(val: number): boolean; /** * returns the next power of two for the given value * @memberof Math diff --git a/dist/types/particles/emitter.d.ts b/dist/types/particles/emitter.d.ts index b2d3e12143..03373b563a 100644 --- a/dist/types/particles/emitter.d.ts +++ b/dist/types/particles/emitter.d.ts @@ -45,14 +45,21 @@ export default class ParticleEmitter extends Container { angleVariation: number; minLife: number; maxLife: number; - speed: number; + speed: number; /** @ignore */ speedVariation: number; minRotation: number; maxRotation: number; minStartScale: number; - maxStartScale: number; - minEndScale: number; + maxStartScale: number; /** + * returns a random point on the x axis within the bounds of this emitter + * @returns {number} + */ + minEndScale: number; /** + * returns a random point on the y axis within the bounds this emitter + * @returns {number} + */ maxEndScale: number; + /** @ignore */ gravity: number; wind: number; followTrajectory: boolean; @@ -83,14 +90,21 @@ export default class ParticleEmitter extends Container { angleVariation: number; minLife: number; maxLife: number; - speed: number; + speed: number; /** @ignore */ speedVariation: number; minRotation: number; maxRotation: number; minStartScale: number; - maxStartScale: number; - minEndScale: number; + maxStartScale: number; /** + * returns a random point on the x axis within the bounds of this emitter + * @returns {number} + */ + minEndScale: number; /** + * returns a random point on the y axis within the bounds this emitter + * @returns {number} + */ maxEndScale: number; + /** @ignore */ gravity: number; wind: number; followTrajectory: boolean; @@ -128,14 +142,21 @@ export default class ParticleEmitter extends Container { angleVariation: number; minLife: number; maxLife: number; - speed: number; + speed: number; /** @ignore */ speedVariation: number; minRotation: number; maxRotation: number; minStartScale: number; - maxStartScale: number; - minEndScale: number; + maxStartScale: number; /** + * returns a random point on the x axis within the bounds of this emitter + * @returns {number} + */ + minEndScale: number; /** + * returns a random point on the y axis within the bounds this emitter + * @returns {number} + */ maxEndScale: number; + /** @ignore */ gravity: number; wind: number; followTrajectory: boolean; diff --git a/dist/types/plugin/plugin.d.ts b/dist/types/plugin/plugin.d.ts index 4cb0bc0f24..b4caa061d1 100644 --- a/dist/types/plugin/plugin.d.ts +++ b/dist/types/plugin/plugin.d.ts @@ -21,7 +21,7 @@ export function patch(proto: object, name: string, fn: Function): void; * @memberof plugin * @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register * @param {string} [name=plugin.constructor.name] - a unique name for this plugin - * @param {object} [...arguments] - all extra parameters will be passed to the plugin constructor + * @param {...*} [args] - all extra parameters will be passed to the plugin constructor * @example * // register a new plugin * me.plugin.register(TestPlugin, "testPlugin"); diff --git a/dist/types/polyfill/console.d.ts b/dist/types/polyfill/console.d.ts index e69de29bb2..cb0ff5c3b5 100644 --- a/dist/types/polyfill/console.d.ts +++ b/dist/types/polyfill/console.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/dist/types/polyfill/roundrect.d.ts b/dist/types/polyfill/roundrect.d.ts index e69de29bb2..cb0ff5c3b5 100644 --- a/dist/types/polyfill/roundrect.d.ts +++ b/dist/types/polyfill/roundrect.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/dist/types/renderable/collectable.d.ts b/dist/types/renderable/collectable.d.ts index 16b6eb1969..730fa9e1e5 100644 --- a/dist/types/renderable/collectable.d.ts +++ b/dist/types/renderable/collectable.d.ts @@ -13,7 +13,5 @@ export default class Collectable extends Sprite { name: any; type: any; id: any; - body: Body; } import Sprite from "./sprite.js"; -import Body from "./../physics/body.js"; diff --git a/dist/types/renderable/container.d.ts b/dist/types/renderable/container.d.ts index 485a0b110f..848373c001 100644 --- a/dist/types/renderable/container.d.ts +++ b/dist/types/renderable/container.d.ts @@ -206,6 +206,12 @@ export default class Container extends Renderable { * @returns {Renderable[]} an array of renderable object */ getChildren(): Renderable[]; + /** + * update the bounding box for this container. + * @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates + * @returns {Bounds} this container bounding box Rectangle object + */ + updateBounds(absolute?: boolean | undefined): Bounds; /** * Checks if this container is root or if it's attached to the root container. * @returns {boolean} true if this container is root or if it's attached to the root container @@ -292,4 +298,4 @@ export default class Container extends Renderable { */ _sortY(a: any, b: any): number; } -import Renderable from "./renderable"; +import Renderable from "./renderable.js"; diff --git a/dist/types/renderable/entity/entity.d.ts b/dist/types/renderable/entity/entity.d.ts index 5cb4a5b78b..fa6e9db575 100644 --- a/dist/types/renderable/entity/entity.d.ts +++ b/dist/types/renderable/entity/entity.d.ts @@ -58,6 +58,12 @@ export default class Entity extends Renderable { alive: boolean; /** @ignore */ update(dt: any): boolean; + /** + * update the bounding box for this entity. + * @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates + * @returns {Bounds} this entity bounding box Rectangle object + */ + updateBounds(absolute?: boolean | undefined): Bounds; /** * update the bounds when the body is modified */ diff --git a/dist/types/renderable/renderable.d.ts b/dist/types/renderable/renderable.d.ts index 854e2dd8bd..3b2214e497 100644 --- a/dist/types/renderable/renderable.d.ts +++ b/dist/types/renderable/renderable.d.ts @@ -251,6 +251,11 @@ export default class Renderable extends Rect { * @type {boolean} */ public get isFlippedY(): boolean; + /** + * returns the bounding box for this renderable + * @returns {Bounds} bounding box Rectangle object + */ + getBounds(): Bounds; /** * get the renderable alpha channel value
* @returns {number} current opacity value between 0 and 1 @@ -417,3 +422,7 @@ export default class Renderable extends Rect { } import Rect from "./../geometries/rectangle.js"; import ObservableVector2d from "./../math/observable_vector2.js"; +import Body from "./../physics/body.js"; +import GLShader from "./../video/webgl/glshader.js"; +import Color from "./../math/color.js"; +import Bounds from "./../physics/bounds.js"; diff --git a/dist/types/renderable/text/bitmaptext.d.ts b/dist/types/renderable/text/bitmaptext.d.ts index f14119873a..29ba6e5362 100644 --- a/dist/types/renderable/text/bitmaptext.d.ts +++ b/dist/types/renderable/text/bitmaptext.d.ts @@ -120,6 +120,12 @@ export default class BitmapText extends Renderable { * @returns {BitmapText} this object for chaining */ setText(value?: number | string | string[]): BitmapText; + /** + * update the bounding box for this Bitmap Text. + * @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates + * @returns {Bounds} this Bitmap Text bounding box Rectangle object + */ + updateBounds(absolute?: boolean | undefined): Bounds; /** * change the font display size * @param {number} scale - ratio diff --git a/dist/types/renderable/trigger.d.ts b/dist/types/renderable/trigger.d.ts index a1677196a2..82f0de1c2c 100644 --- a/dist/types/renderable/trigger.d.ts +++ b/dist/types/renderable/trigger.d.ts @@ -38,7 +38,6 @@ export default class Trigger extends Renderable { triggerSettings: { event: string; }; - body: Body; /** * @ignore */ @@ -58,4 +57,3 @@ export default class Trigger extends Renderable { protected triggerEvent(): void; } import Renderable from "./renderable.js"; -import Body from "./../physics/body.js"; diff --git a/dist/types/state/stage.d.ts b/dist/types/state/stage.d.ts index a81740c09d..f0f51568c3 100644 --- a/dist/types/state/stage.d.ts +++ b/dist/types/state/stage.d.ts @@ -101,7 +101,7 @@ export default class Stage { * this is typically where you will load a level, add renderables, etc... * @name onResetEvent * @memberof Stage - * @param {object} [...arguments] - optional arguments passed when switching state + * @param {...*} [args] - optional arguments passed when switching state * @see state#change */ onResetEvent(...args: any[]): void; diff --git a/dist/types/state/state.d.ts b/dist/types/state/state.d.ts index 0acd2ad6b8..0be48c7c10 100644 --- a/dist/types/state/state.d.ts +++ b/dist/types/state/state.d.ts @@ -150,7 +150,7 @@ declare namespace state { * @public * @param {number} state - State ID (see constants) * @param {boolean} forceChange - if true the state will be changed immediately - * @param {object} [...arguments] - extra arguments to be passed to the reset functions + * @param {...*} [args] - extra arguments to be passed to the reset functions * @example * // The onResetEvent method on the play screen will receive two args: * // "level_1" and the number 3 diff --git a/dist/types/system/event.d.ts b/dist/types/system/event.d.ts index abd770ae57..dd10d5ae09 100644 --- a/dist/types/system/event.d.ts +++ b/dist/types/system/event.d.ts @@ -2,12 +2,12 @@ * calls each of the listeners registered for a given event. * @function event.emit * @param {string|symbol} eventName - The event name. - * @param {object} [...arguments] - arguments to be passed to all listeners + * @param {...*} [args] - arguments to be passed to all listeners * @returns {boolean} true if the event had listeners, false otherwise. * @example * me.event.emit("event-name", a, b, c); */ -export function emit(eventName: string | symbol, ...args: any[]): boolean; +export function emit(eventName: string | symbol, ...args?: any[] | undefined): boolean; /** * Add a listener for a given event. * @function event.on @@ -19,7 +19,7 @@ export function emit(eventName: string | symbol, ...args: any[]): boolean; * @example * me.event.on("event-name", myFunction, this); */ -export function on(eventName: string | symbol, listener: Function, context?: any): EventEmitter; +export function on(eventName: string | symbol, listener: Function, context?: any): typeof EventEmitter; /** * Add a one-time listener for a given event. * @function event.once @@ -31,7 +31,7 @@ export function on(eventName: string | symbol, listener: Function, context?: any * @example * me.event.once("event-name", myFunction, this); */ -export function once(eventName: string | symbol, listener: Function, context?: any): EventEmitter; +export function once(eventName: string | symbol, listener: Function, context?: any): typeof EventEmitter; /** * remove the given listener for a given event. * @function event.off @@ -42,7 +42,7 @@ export function once(eventName: string | symbol, listener: Function, context?: a * @example * me.event.off("event-name", myFunction); */ -export function off(eventName: string | symbol, listener: Function): EventEmitter; +export function off(eventName: string | symbol, listener: Function): typeof EventEmitter; /** * event when the DOM is Ready is booting * @public diff --git a/dist/types/system/pooling.d.ts b/dist/types/system/pooling.d.ts index bb9b889d20..4a3a31800a 100644 --- a/dist/types/system/pooling.d.ts +++ b/dist/types/system/pooling.d.ts @@ -39,7 +39,7 @@ declare class ObjectPool { /** * Pull a new instance of the requested object (if added into the object pool) * @param {string} name - as used in {@link pool.register} - * @param {object} [...arguments] - arguments to be passed when instantiating/reinitializing the object + * @param {...*} [args] - arguments to be passed when instantiating/reinitializing the object * @returns {object} the instance of the requested object * @example * me.pool.register("bullet", BulletEntity, true); @@ -57,7 +57,7 @@ declare class ObjectPool { * me.game.world.removeChild(enemy); * me.game.world.removeChild(bullet); */ - pull(name: string, ...args: any[]): object; + pull(name: string, ...args?: any[] | undefined): object; /** * purge the object pool from any inactive object
* Object pooling must be enabled for this function to work
diff --git a/dist/types/video/canvas/canvas_renderer.d.ts b/dist/types/video/canvas/canvas_renderer.d.ts index a7602a5fcf..b9c1fed5a9 100644 --- a/dist/types/video/canvas/canvas_renderer.d.ts +++ b/dist/types/video/canvas/canvas_renderer.d.ts @@ -4,7 +4,6 @@ * @augments Renderer */ export default class CanvasRenderer extends Renderer { - context: CanvasRenderingContext2D; cache: TextureCache; /** * Reset the canvas transform to identity diff --git a/dist/types/video/renderer.d.ts b/dist/types/video/renderer.d.ts index 3a63ac382a..5b7acbcbe9 100644 --- a/dist/types/video/renderer.d.ts +++ b/dist/types/video/renderer.d.ts @@ -7,6 +7,12 @@ export default class Renderer { * @param {Application.Settings} [options] - optional parameters for the renderer */ constructor(options?: any); + /** + * The renderer renderTarget + * @name renderTarget + * @type {CanvasRenderTarget} + */ + renderTarget: CanvasRenderTarget; /** * The given constructor options * @public @@ -217,6 +223,7 @@ export default class Renderer { */ toDataURL(type?: string | undefined, quality?: number | undefined): Promise; } +import CanvasRenderTarget from "./rendertarget/canvasrendertarget.js"; import Vector2d from "../math/vector2.js"; import Path2D from "./../geometries/path2d.js"; import Color from "./../math/color.js"; diff --git a/dist/types/video/texture/canvas_texture.d.ts b/dist/types/video/rendertarget/canvasrendertarget.d.ts similarity index 89% rename from dist/types/video/texture/canvas_texture.d.ts rename to dist/types/video/rendertarget/canvasrendertarget.d.ts index 087a830d48..61c9f7886a 100644 --- a/dist/types/video/texture/canvas_texture.d.ts +++ b/dist/types/video/rendertarget/canvasrendertarget.d.ts @@ -1,9 +1,8 @@ -export default CanvasTexture; +export default CanvasRenderTarget; /** - * Creates a Canvas Texture of the given size - * (when using WebGL, use `invalidate` to force a reupload of the corresponding texture) + * CanvasRenderTarget is 2D render target which exposes a Canvas interface. */ -declare class CanvasTexture { +declare class CanvasRenderTarget { /** * @param {number} width - the desired width of the canvas * @param {number} height - the desired height of the canvas @@ -20,15 +19,17 @@ declare class CanvasTexture { antiAlias?: boolean | undefined; }); /** - * the canvas created for this CanvasTexture + * the canvas created for this CanvasRenderTarget * @type {HTMLCanvasElement|OffscreenCanvas} */ canvas: HTMLCanvasElement | OffscreenCanvas; /** - * the rendering context of this CanvasTexture - * @type {CanvasRenderingContext2D} + * the rendering context of this CanvasRenderTarget + * @type {CanvasRenderingContext2D|WebGLRenderingContext} */ - context: CanvasRenderingContext2D; + context: CanvasRenderingContext2D | WebGLRenderingContext; + attributes: never; + WebGLVersion: any; /** * @ignore */ @@ -55,7 +56,7 @@ declare class CanvasTexture { * @param {number} y - The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted * @param {number} width - The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left * @param {number} height - The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up - * @returns {ImageData} The ImageData extracted from this CanvasTexture. + * @returns {ImageData} The ImageData extracted from this CanvasRenderTarget. */ getImageData(x: number, y: number, width: number, height: number): ImageData; /** @@ -64,7 +65,7 @@ declare class CanvasTexture { * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. * @returns {Promise} A Promise returning a Blob object representing the image contained in this canvas texture * @example - * canvasTexture.convertToBlob().then((blob) => console.log(blob)); + * renderTarget.convertToBlob().then((blob) => console.log(blob)); */ toBlob(type?: string | undefined, quality?: number | undefined): Promise; /** @@ -73,7 +74,7 @@ declare class CanvasTexture { * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range. * @returns {Promise} A Promise returning an ImageBitmap. * @example - * canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap)); + * renderTarget.transferToImageBitmap().then((bitmap) => console.log(bitmap)); */ toImageBitmap(type?: string | undefined, quality?: number | undefined): Promise; /** @@ -87,7 +88,7 @@ declare class CanvasTexture { */ toDataURL(type?: string | undefined, quality?: number | undefined): Promise; /** - * invalidate the current CanvasTexture, and force a reupload of the corresponding texture + * invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture * (call this if you modify the canvas content between two draw calls) * @param {CanvasRenderer|WebGLRenderer} renderer - the renderer to which this canvas texture is attached */ diff --git a/dist/types/video/utils/autodetect.d.ts b/dist/types/video/utils/autodetect.d.ts index f4c09925ff..6f1e11fcad 100644 --- a/dist/types/video/utils/autodetect.d.ts +++ b/dist/types/video/utils/autodetect.d.ts @@ -2,6 +2,4 @@ * Auto-detect the best renderer to use * @ignore */ -export function autoDetectRenderer(options: any): CanvasRenderer | WebGLRenderer; -import CanvasRenderer from "../canvas/canvas_renderer"; -import WebGLRenderer from "../webgl/webgl_renderer"; +export function autoDetectRenderer(options: any): any; diff --git a/dist/types/video/video.d.ts b/dist/types/video/video.d.ts index 63b0108e82..107ea1944b 100644 --- a/dist/types/video/video.d.ts +++ b/dist/types/video/video.d.ts @@ -36,4 +36,3 @@ export function getParent(): HTMLElement; * @type {CanvasRenderer|WebGLRenderer} */ export let renderer: CanvasRenderer | WebGLRenderer; -export { CANVAS, WEBGL, AUTO } from "../const"; diff --git a/dist/types/video/webgl/webgl_renderer.d.ts b/dist/types/video/webgl/webgl_renderer.d.ts index 1babcb412a..ce351d2ff6 100644 --- a/dist/types/video/webgl/webgl_renderer.d.ts +++ b/dist/types/video/webgl/webgl_renderer.d.ts @@ -4,13 +4,6 @@ * @augments Renderer */ export default class WebGLRenderer extends Renderer { - /** - * The WebGL version used by this renderer (1 or 2) - * @type {number} - * @default 1 - * @readonly - */ - readonly WebGLVersion: number; /** * The vendor string of the underlying graphics driver. * @type {string} @@ -30,7 +23,6 @@ export default class WebGLRenderer extends Renderer { * @name gl * @type {WebGLRenderingContext} */ - context: WebGLRenderingContext; gl: WebGLRenderingContext; /** * the vertex buffer used by this WebGL Renderer @@ -82,6 +74,24 @@ export default class WebGLRenderer extends Renderer { depthTest: any; customShader: any; cache: TextureCache; + /** + * The WebGL version used by this renderer (1 or 2) + * @type {number} + * @default 1 + * @readonly + */ + readonly get WebGLVersion(): number; + /** + * return the list of supported compressed texture formats + * @return {Object} + */ + getSupportedCompressedTextureFormats(): Object; + /** + * return true if the given compressed texture format is supported + * @param {Number} format + * @returns + */ + hasSupportedCompressedFormats(format: number): boolean; /** * add a new compositor to this renderer * @param {Compositor} compositor - a compositor instance @@ -229,14 +239,6 @@ export default class WebGLRenderer extends Renderer { * 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 */ closePath(): void; - /** - * Returns the WebGL Context object of the given canvas element - * @param {HTMLCanvasElement} canvas - the canvas element - * @param {boolean} [transparent=false] - use true to enable transparency - * @param {boolean} [depth=false] - use true to enable depth buffer testing - * @returns {WebGLRenderingContext} the WebGL Context object - */ - getContextGL(canvas: HTMLCanvasElement, transparent?: boolean | undefined, depth?: boolean | undefined): WebGLRenderingContext; /** * Returns the WebGLContext instance for the renderer * return a reference to the system 2d Context diff --git a/docs/docs/Class-Index.html b/docs/docs/Class-Index.html index 998af131ff..73400cad48 100644 --- a/docs/docs/Class-Index.html +++ b/docs/docs/Class-Index.html @@ -1,5 +1,5 @@ - + @@ -129,6 +129,11 @@

C

+ + CanvasRenderTarget +

CanvasRenderTarget is 2D render target which exposes a Canvas interface.

+ + CanvasTexture diff --git a/docs/docs/explorer/reference.json b/docs/docs/explorer/reference.json index 1ab693c620..7db393e844 100644 --- a/docs/docs/explorer/reference.json +++ b/docs/docs/explorer/reference.json @@ -1 +1 @@ -{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/index.html"},"ClassIndex":{"title":"Class Index","page":"/melonJS/docs/Class-Index.html"},"audio (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/audio.html"},"disable (function)":{"children":{},"title":"disable (function)","page":"/melonJS/docs/melonjs/audio/disable.html"},"enable (function)":{"children":{},"title":"enable (function)","page":"/melonJS/docs/melonjs/audio/enable.html"},"fade (function)":{"children":{},"title":"fade (function)","page":"/melonJS/docs/melonjs/audio/fade.html"},"getCurrentTrack (function)":{"children":{},"title":"getCurrentTrack (function)","page":"/melonJS/docs/melonjs/audio/getCurrentTrack.html"},"getVolume (function)":{"children":{},"title":"getVolume (function)","page":"/melonJS/docs/melonjs/audio/getVolume.html"},"hasAudio (function)":{"children":{},"title":"hasAudio (function)","page":"/melonJS/docs/melonjs/audio/hasAudio.html"},"hasFormat (function)":{"children":{},"title":"hasFormat (function)","page":"/melonJS/docs/melonjs/audio/hasFormat.html"},"init (function)":{"children":{},"title":"init (function)","page":"/melonJS/docs/melonjs/audio/init.html"},"load (function)":{"children":{},"title":"load (function)","page":"/melonJS/docs/melonjs/audio/load.html"},"mute (function)":{"children":{},"title":"mute (function)","page":"/melonJS/docs/melonjs/audio/mute.html"},"muteAll (function)":{"children":{},"title":"muteAll (function)","page":"/melonJS/docs/melonjs/audio/muteAll.html"},"muted (function)":{"children":{},"title":"muted (function)","page":"/melonJS/docs/melonjs/audio/muted.html"},"pause (function)":{"children":{},"title":"pause (function)","page":"/melonJS/docs/melonjs/audio/pause.html"},"pauseTrack (function)":{"children":{},"title":"pauseTrack (function)","page":"/melonJS/docs/melonjs/audio/pauseTrack.html"},"play (function)":{"children":{},"title":"play (function)","page":"/melonJS/docs/melonjs/audio/play.html"},"playTrack (function)":{"children":{},"title":"playTrack (function)","page":"/melonJS/docs/melonjs/audio/playTrack.html"},"rate (function)":{"children":{},"title":"rate (function)","page":"/melonJS/docs/melonjs/audio/rate.html"},"resume (function)":{"children":{},"title":"resume (function)","page":"/melonJS/docs/melonjs/audio/resume.html"},"resumeTrack (function)":{"children":{},"title":"resumeTrack (function)","page":"/melonJS/docs/melonjs/audio/resumeTrack.html"},"seek (function)":{"children":{},"title":"seek (function)","page":"/melonJS/docs/melonjs/audio/seek.html"},"setVolume (function)":{"children":{},"title":"setVolume (function)","page":"/melonJS/docs/melonjs/audio/setVolume.html"},"stop (function)":{"children":{},"title":"stop (function)","page":"/melonJS/docs/melonjs/audio/stop.html"},"stopTrack (function)":{"children":{},"title":"stopTrack (function)","page":"/melonJS/docs/melonjs/audio/stopTrack.html"},"unload (function)":{"children":{},"title":"unload (function)","page":"/melonJS/docs/melonjs/audio/unload.html"},"unloadAll (function)":{"children":{},"title":"unloadAll (function)","page":"/melonJS/docs/melonjs/audio/unloadAll.html"},"unmute (function)":{"children":{},"title":"unmute (function)","page":"/melonJS/docs/melonjs/audio/unmute.html"},"unmuteAll (function)":{"children":{},"title":"unmuteAll (function)","page":"/melonJS/docs/melonjs/audio/unmuteAll.html"}},"title":"audio (namespace)","page":null},"collision (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/collision.html"},"types (enum)":{"children":{},"title":"types (enum)","page":"/melonJS/docs/melonjs/collision/types.html"}},"title":"collision (namespace)","page":null},"device (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/device.html"},"enableSwipe (function)":{"children":{},"title":"enableSwipe (function)","page":"/melonJS/docs/melonjs/device/enableSwipe.html"},"exitFullscreen (function)":{"children":{},"title":"exitFullscreen (function)","page":"/melonJS/docs/melonjs/device/exitFullscreen.html"},"focus (function)":{"children":{},"title":"focus (function)","page":"/melonJS/docs/melonjs/device/focus.html"},"getElement (function)":{"children":{},"title":"getElement (function)","page":"/melonJS/docs/melonjs/device/getElement.html"},"getElementBounds (function)":{"children":{},"title":"getElementBounds (function)","page":"/melonJS/docs/melonjs/device/getElementBounds.html"},"getParentBounds (function)":{"children":{},"title":"getParentBounds (function)","page":"/melonJS/docs/melonjs/device/getParentBounds.html"},"getParentElement (function)":{"children":{},"title":"getParentElement (function)","page":"/melonJS/docs/melonjs/device/getParentElement.html"},"getScreenOrientation (function)":{"children":{},"title":"getScreenOrientation (function)","page":"/melonJS/docs/melonjs/device/getScreenOrientation.html"},"getStorage (function)":{"children":{},"title":"getStorage (function)","page":"/melonJS/docs/melonjs/device/getStorage.html"},"hasVideoFormat (function)":{"children":{},"title":"hasVideoFormat (function)","page":"/melonJS/docs/melonjs/device/hasVideoFormat.html"},"isFullscreen (function)":{"children":{},"title":"isFullscreen (function)","page":"/melonJS/docs/melonjs/device/isFullscreen.html"},"isLandscape (function)":{"children":{},"title":"isLandscape (function)","page":"/melonJS/docs/melonjs/device/isLandscape.html"},"isPortrait (function)":{"children":{},"title":"isPortrait (function)","page":"/melonJS/docs/melonjs/device/isPortrait.html"},"isWebGLSupported (function)":{"children":{},"title":"isWebGLSupported (function)","page":"/melonJS/docs/melonjs/device/isWebGLSupported.html"},"lockOrientation (function)":{"children":{},"title":"lockOrientation (function)","page":"/melonJS/docs/melonjs/device/lockOrientation.html"},"onReady (function)":{"children":{},"title":"onReady (function)","page":"/melonJS/docs/melonjs/device/onReady.html"},"requestFullscreen (function)":{"children":{},"title":"requestFullscreen (function)","page":"/melonJS/docs/melonjs/device/requestFullscreen.html"},"unlockOrientation (function)":{"children":{},"title":"unlockOrientation (function)","page":"/melonJS/docs/melonjs/device/unlockOrientation.html"},"unwatchAccelerometer (function)":{"children":{},"title":"unwatchAccelerometer (function)","page":"/melonJS/docs/melonjs/device/unwatchAccelerometer.html"},"unwatchDeviceOrientation (function)":{"children":{},"title":"unwatchDeviceOrientation (function)","page":"/melonJS/docs/melonjs/device/unwatchDeviceOrientation.html"},"vibrate (function)":{"children":{},"title":"vibrate (function)","page":"/melonJS/docs/melonjs/device/vibrate.html"},"watchAccelerometer (function)":{"children":{},"title":"watchAccelerometer (function)","page":"/melonJS/docs/melonjs/device/watchAccelerometer.html"},"watchDeviceOrientation (function)":{"children":{},"title":"watchDeviceOrientation (function)","page":"/melonJS/docs/melonjs/device/watchDeviceOrientation.html"}},"title":"device (namespace)","page":null},"device.platform (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/device/platform.html"}},"title":"device.platform (namespace)","page":null},"event (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/event.html"},"emit (function)":{"children":{},"title":"emit (function)","page":"/melonJS/docs/melonjs/event/emit.html"},"off (function)":{"children":{},"title":"off (function)","page":"/melonJS/docs/melonjs/event/off.html"},"on (function)":{"children":{},"title":"on (function)","page":"/melonJS/docs/melonjs/event/on.html"},"once (function)":{"children":{},"title":"once (function)","page":"/melonJS/docs/melonjs/event/once.html"}},"title":"event (namespace)","page":null},"game (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/game.html"}},"title":"game (namespace)","page":null},"input (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/input.html"},"KEY (enum)":{"children":{},"title":"KEY (enum)","page":"/melonJS/docs/melonjs/input/KEY.html"},"bindGamepad (function)":{"children":{},"title":"bindGamepad (function)","page":"/melonJS/docs/melonjs/input/bindGamepad.html"},"bindKey (function)":{"children":{},"title":"bindKey (function)","page":"/melonJS/docs/melonjs/input/bindKey.html"},"bindPointer (function)":{"children":{},"title":"bindPointer (function)","page":"/melonJS/docs/melonjs/input/bindPointer.html"},"exitPointerLock (function)":{"children":{},"title":"exitPointerLock (function)","page":"/melonJS/docs/melonjs/input/exitPointerLock.html"},"getBindingKey (function)":{"children":{},"title":"getBindingKey (function)","page":"/melonJS/docs/melonjs/input/getBindingKey.html"},"globalToLocal (function)":{"children":{},"title":"globalToLocal (function)","page":"/melonJS/docs/melonjs/input/globalToLocal.html"},"hasActiveEvents (function)":{"children":{},"title":"hasActiveEvents (function)","page":"/melonJS/docs/melonjs/input/hasActiveEvents.html"},"hasRegisteredEvents (function)":{"children":{},"title":"hasRegisteredEvents (function)","page":"/melonJS/docs/melonjs/input/hasRegisteredEvents.html"},"isKeyPressed (function)":{"children":{},"title":"isKeyPressed (function)","page":"/melonJS/docs/melonjs/input/isKeyPressed.html"},"keyStatus (function)":{"children":{},"title":"keyStatus (function)","page":"/melonJS/docs/melonjs/input/keyStatus.html"},"registerPointerEvent (function)":{"children":{},"title":"registerPointerEvent (function)","page":"/melonJS/docs/melonjs/input/registerPointerEvent.html"},"releaseAllPointerEvents (function)":{"children":{},"title":"releaseAllPointerEvents (function)","page":"/melonJS/docs/melonjs/input/releaseAllPointerEvents.html"},"releasePointerEvent (function)":{"children":{},"title":"releasePointerEvent (function)","page":"/melonJS/docs/melonjs/input/releasePointerEvent.html"},"requestPointerLock (function)":{"children":{},"title":"requestPointerLock (function)","page":"/melonJS/docs/melonjs/input/requestPointerLock.html"},"setGamepadDeadzone (function)":{"children":{},"title":"setGamepadDeadzone (function)","page":"/melonJS/docs/melonjs/input/setGamepadDeadzone.html"},"setTouchAction (function)":{"children":{},"title":"setTouchAction (function)","page":"/melonJS/docs/melonjs/input/setTouchAction.html"},"triggerKeyEvent (function)":{"children":{},"title":"triggerKeyEvent (function)","page":"/melonJS/docs/melonjs/input/triggerKeyEvent.html"},"unbindGamepad (function)":{"children":{},"title":"unbindGamepad (function)","page":"/melonJS/docs/melonjs/input/unbindGamepad.html"},"unbindKey (function)":{"children":{},"title":"unbindKey (function)","page":"/melonJS/docs/melonjs/input/unbindKey.html"},"unbindPointer (function)":{"children":{},"title":"unbindPointer (function)","page":"/melonJS/docs/melonjs/input/unbindPointer.html"},"unlockKey (function)":{"children":{},"title":"unlockKey (function)","page":"/melonJS/docs/melonjs/input/unlockKey.html"}},"title":"input (namespace)","page":null},"input.GAMEPAD (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/input/GAMEPAD.html"},"AXES (enum)":{"children":{},"title":"AXES (enum)","page":"/melonJS/docs/melonjs/input/GAMEPAD/AXES.html"},"BUTTONS (enum)":{"children":{},"title":"BUTTONS (enum)","page":"/melonJS/docs/melonjs/input/GAMEPAD/BUTTONS.html"}},"title":"input.GAMEPAD (namespace)","page":null},"level (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/level.html"}},"title":"level (namespace)","page":null},"loader (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/loader.html"},"Asset":{"children":{},"title":"Asset","page":"/melonJS/docs/melonjs/loader/Asset.html"},"getBinary (function)":{"children":{},"title":"getBinary (function)","page":"/melonJS/docs/melonjs/loader/getBinary.html"},"getImage (function)":{"children":{},"title":"getImage (function)","page":"/melonJS/docs/melonjs/loader/getImage.html"},"getJSON (function)":{"children":{},"title":"getJSON (function)","page":"/melonJS/docs/melonjs/loader/getJSON.html"},"getTMX (function)":{"children":{},"title":"getTMX (function)","page":"/melonJS/docs/melonjs/loader/getTMX.html"},"getVideo (function)":{"children":{},"title":"getVideo (function)","page":"/melonJS/docs/melonjs/loader/getVideo.html"},"load (function)":{"children":{},"title":"load (function)","page":"/melonJS/docs/melonjs/loader/load.html"},"preload (function)":{"children":{},"title":"preload (function)","page":"/melonJS/docs/melonjs/loader/preload.html"},"reload (function)":{"children":{},"title":"reload (function)","page":"/melonJS/docs/melonjs/loader/reload.html"},"setBaseURL (function)":{"children":{},"title":"setBaseURL (function)","page":"/melonJS/docs/melonjs/loader/setBaseURL.html"},"setOptions (function)":{"children":{},"title":"setOptions (function)","page":"/melonJS/docs/melonjs/loader/setOptions.html"},"setParser (function)":{"children":{},"title":"setParser (function)","page":"/melonJS/docs/melonjs/loader/setParser.html"},"unload (function)":{"children":{},"title":"unload (function)","page":"/melonJS/docs/melonjs/loader/unload.html"},"unloadAll (function)":{"children":{},"title":"unloadAll (function)","page":"/melonJS/docs/melonjs/loader/unloadAll.html"}},"title":"loader (namespace)","page":null},"Math (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/Math.html"},"clamp (function)":{"children":{},"title":"clamp (function)","page":"/melonJS/docs/melonjs/Math/clamp.html"},"degToRad (function)":{"children":{},"title":"degToRad (function)","page":"/melonJS/docs/melonjs/Math/degToRad.html"},"isPowerOfTwo (function)":{"children":{},"title":"isPowerOfTwo (function)","page":"/melonJS/docs/melonjs/Math/isPowerOfTwo.html"},"nextPowerOfTwo (function)":{"children":{},"title":"nextPowerOfTwo (function)","page":"/melonJS/docs/melonjs/Math/nextPowerOfTwo.html"},"pow (function)":{"children":{},"title":"pow (function)","page":"/melonJS/docs/melonjs/Math/pow.html"},"radToDeg (function)":{"children":{},"title":"radToDeg (function)","page":"/melonJS/docs/melonjs/Math/radToDeg.html"},"random (function)":{"children":{},"title":"random (function)","page":"/melonJS/docs/melonjs/Math/random.html"},"randomFloat (function)":{"children":{},"title":"randomFloat (function)","page":"/melonJS/docs/melonjs/Math/randomFloat.html"},"round (function)":{"children":{},"title":"round (function)","page":"/melonJS/docs/melonjs/Math/round.html"},"toBeCloseTo (function)":{"children":{},"title":"toBeCloseTo (function)","page":"/melonJS/docs/melonjs/Math/toBeCloseTo.html"},"weightedRandom (function)":{"children":{},"title":"weightedRandom (function)","page":"/melonJS/docs/melonjs/Math/weightedRandom.html"}},"title":"Math (namespace)","page":null},"ParticleEmitterSettings (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/ParticleEmitterSettings.html"}},"title":"ParticleEmitterSettings (namespace)","page":null},"plugin (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/plugin.html"},"Base":{"children":{},"title":"Base","page":"/melonJS/docs/melonjs/plugin/Base.html"},"BasePlugin":{"children":{},"title":"BasePlugin","page":"/melonJS/docs/melonjs/plugin/BasePlugin.html"},"get (function)":{"children":{},"title":"get (function)","page":"/melonJS/docs/melonjs/plugin/get.html"},"patch (function)":{"children":{},"title":"patch (function)","page":"/melonJS/docs/melonjs/plugin/patch.html"},"register (function)":{"children":{},"title":"register (function)","page":"/melonJS/docs/melonjs/plugin/register.html"}},"title":"plugin (namespace)","page":null},"pool (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/pool.html"}},"title":"pool (namespace)","page":null},"save (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/save.html"}},"title":"save (namespace)","page":null},"state (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/state.html"}},"title":"state (namespace)","page":null},"timer (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/timer.html"}},"title":"timer (namespace)","page":null},"TMXUtils (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/TMXUtils.html"},"applyTMXProperties (function)":{"children":{},"title":"applyTMXProperties (function)","page":"/melonJS/docs/melonjs/TMXUtils/applyTMXProperties.html"},"decode (function)":{"children":{},"title":"decode (function)","page":"/melonJS/docs/melonjs/TMXUtils/decode.html"},"decodeBase64AsArray (function)":{"children":{},"title":"decodeBase64AsArray (function)","page":"/melonJS/docs/melonjs/TMXUtils/decodeBase64AsArray.html"},"decodeCSV (function)":{"children":{},"title":"decodeCSV (function)","page":"/melonJS/docs/melonjs/TMXUtils/decodeCSV.html"},"decompress (function)":{"children":{},"title":"decompress (function)","page":"/melonJS/docs/melonjs/TMXUtils/decompress.html"},"parse (function)":{"children":{},"title":"parse (function)","page":"/melonJS/docs/melonjs/TMXUtils/parse.html"},"setInflateFunction (function)":{"children":{},"title":"setInflateFunction (function)","page":"/melonJS/docs/melonjs/TMXUtils/setInflateFunction.html"}},"title":"TMXUtils (namespace)","page":null},"utils (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils.html"},"checkVersion (function)":{"children":{},"title":"checkVersion (function)","page":"/melonJS/docs/melonjs/utils/checkVersion.html"},"getUriFragment (function)":{"children":{},"title":"getUriFragment (function)","page":"/melonJS/docs/melonjs/utils/getUriFragment.html"}},"title":"utils (namespace)","page":null},"utils.agent (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/agent.html"},"prefixed (function)":{"children":{},"title":"prefixed (function)","page":"/melonJS/docs/melonjs/utils/agent/prefixed.html"},"setPrefixed (function)":{"children":{},"title":"setPrefixed (function)","page":"/melonJS/docs/melonjs/utils/agent/setPrefixed.html"}},"title":"utils.agent (namespace)","page":null},"utils.array (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/array.html"},"random (function)":{"children":{},"title":"random (function)","page":"/melonJS/docs/melonjs/utils/array/random.html"},"remove (function)":{"children":{},"title":"remove (function)","page":"/melonJS/docs/melonjs/utils/array/remove.html"},"weightedRandom (function)":{"children":{},"title":"weightedRandom (function)","page":"/melonJS/docs/melonjs/utils/array/weightedRandom.html"}},"title":"utils.array (namespace)","page":null},"utils.file (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/file.html"},"getBasename (function)":{"children":{},"title":"getBasename (function)","page":"/melonJS/docs/melonjs/utils/file/getBasename.html"},"getExtension (function)":{"children":{},"title":"getExtension (function)","page":"/melonJS/docs/melonjs/utils/file/getExtension.html"},"getPath (function)":{"children":{},"title":"getPath (function)","page":"/melonJS/docs/melonjs/utils/file/getPath.html"}},"title":"utils.file (namespace)","page":null},"utils.function (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/function.html"},"defer (function)":{"children":{},"title":"defer (function)","page":"/melonJS/docs/melonjs/utils/function/defer.html"},"throttle (function)":{"children":{},"title":"throttle (function)","page":"/melonJS/docs/melonjs/utils/function/throttle.html"}},"title":"utils.function (namespace)","page":null},"utils.string (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/string.html"},"capitalize (function)":{"children":{},"title":"capitalize (function)","page":"/melonJS/docs/melonjs/utils/string/capitalize.html"},"isBoolean (function)":{"children":{},"title":"isBoolean (function)","page":"/melonJS/docs/melonjs/utils/string/isBoolean.html"},"isDataUrl (function)":{"children":{},"title":"isDataUrl (function)","page":"/melonJS/docs/melonjs/utils/string/isDataUrl.html"},"isNumeric (function)":{"children":{},"title":"isNumeric (function)","page":"/melonJS/docs/melonjs/utils/string/isNumeric.html"},"toHex (function)":{"children":{},"title":"toHex (function)","page":"/melonJS/docs/melonjs/utils/string/toHex.html"}},"title":"utils.string (namespace)","page":null},"video (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/video.html"},"createCanvas (function)":{"children":{},"title":"createCanvas (function)","page":"/melonJS/docs/melonjs/video/createCanvas.html"},"getParent (function)":{"children":{},"title":"getParent (function)","page":"/melonJS/docs/melonjs/video/getParent.html"},"init (function)":{"children":{},"title":"init (function)","page":"/melonJS/docs/melonjs/video/init.html"}},"title":"video (namespace)","page":null},"Application":{"children":{},"title":"Application","page":"/melonJS/docs/melonjs/Application.html"},"BitmapText":{"children":{},"title":"BitmapText","page":"/melonJS/docs/melonjs/BitmapText.html"},"Body":{"children":{},"title":"Body","page":"/melonJS/docs/melonjs/Body.html"},"Bounds":{"children":{},"title":"Bounds","page":"/melonJS/docs/melonjs/Bounds.html"},"Camera2d":{"children":{},"title":"Camera2d","page":"/melonJS/docs/melonjs/Camera2d.html"},"CanvasRenderer":{"children":{},"title":"CanvasRenderer","page":"/melonJS/docs/melonjs/CanvasRenderer.html"},"CanvasTexture":{"children":{},"title":"CanvasTexture","page":"/melonJS/docs/melonjs/CanvasTexture.html"},"Collectable":{"children":{},"title":"Collectable","page":"/melonJS/docs/melonjs/Collectable.html"},"Color":{"children":{},"title":"Color","page":"/melonJS/docs/melonjs/Color.html"},"ColorLayer":{"children":{},"title":"ColorLayer","page":"/melonJS/docs/melonjs/ColorLayer.html"},"Compositor":{"children":{},"title":"Compositor","page":"/melonJS/docs/melonjs/Compositor.html"},"Container":{"children":{},"title":"Container","page":"/melonJS/docs/melonjs/Container.html"},"Detector":{"children":{},"title":"Detector","page":"/melonJS/docs/melonjs/Detector.html"},"Draggable":{"children":{},"title":"Draggable","page":"/melonJS/docs/melonjs/Draggable.html"},"DraggableEntity":{"children":{},"title":"DraggableEntity","page":"/melonJS/docs/melonjs/DraggableEntity.html"},"DropTarget":{"children":{},"title":"DropTarget","page":"/melonJS/docs/melonjs/DropTarget.html"},"DroptargetEntity":{"children":{},"title":"DroptargetEntity","page":"/melonJS/docs/melonjs/DroptargetEntity.html"},"Ellipse":{"children":{},"title":"Ellipse","page":"/melonJS/docs/melonjs/Ellipse.html"},"Entity":{"children":{},"title":"Entity","page":"/melonJS/docs/melonjs/Entity.html"},"GLShader":{"children":{},"title":"GLShader","page":"/melonJS/docs/melonjs/GLShader.html"},"GUI_Object":{"children":{},"title":"GUI_Object","page":"/melonJS/docs/melonjs/GUI_Object.html"},"ImageLayer":{"children":{},"title":"ImageLayer","page":"/melonJS/docs/melonjs/ImageLayer.html"},"Light2d":{"children":{},"title":"Light2d","page":"/melonJS/docs/melonjs/Light2d.html"},"Line":{"children":{},"title":"Line","page":"/melonJS/docs/melonjs/Line.html"},"Matrix2d":{"children":{},"title":"Matrix2d","page":"/melonJS/docs/melonjs/Matrix2d.html"},"Matrix3d":{"children":{},"title":"Matrix3d","page":"/melonJS/docs/melonjs/Matrix3d.html"},"NineSliceSprite":{"children":{},"title":"NineSliceSprite","page":"/melonJS/docs/melonjs/NineSliceSprite.html"},"ObjectPool":{"children":{},"title":"ObjectPool","page":"/melonJS/docs/melonjs/ObjectPool.html"},"ObservableVector2d":{"children":{},"title":"ObservableVector2d","page":"/melonJS/docs/melonjs/ObservableVector2d.html"},"ObservableVector3d":{"children":{},"title":"ObservableVector3d","page":"/melonJS/docs/melonjs/ObservableVector3d.html"},"Particle":{"children":{},"title":"Particle","page":"/melonJS/docs/melonjs/Particle.html"},"ParticleEmitter":{"children":{},"title":"ParticleEmitter","page":"/melonJS/docs/melonjs/ParticleEmitter.html"},"Path2D":{"children":{},"title":"Path2D","page":"/melonJS/docs/melonjs/Path2D.html"},"Point":{"children":{},"title":"Point","page":"/melonJS/docs/melonjs/Point.html"},"Pointer":{"children":{},"title":"Pointer","page":"/melonJS/docs/melonjs/Pointer.html"},"Polygon":{"children":{},"title":"Polygon","page":"/melonJS/docs/melonjs/Polygon.html"},"PrimitiveCompositor":{"children":{},"title":"PrimitiveCompositor","page":"/melonJS/docs/melonjs/PrimitiveCompositor.html"},"QuadCompositor":{"children":{},"title":"QuadCompositor","page":"/melonJS/docs/melonjs/QuadCompositor.html"},"QuadTree":{"children":{},"title":"QuadTree","page":"/melonJS/docs/melonjs/QuadTree.html"},"Rect":{"children":{},"title":"Rect","page":"/melonJS/docs/melonjs/Rect.html"},"Renderable":{"children":{},"title":"Renderable","page":"/melonJS/docs/melonjs/Renderable.html"},"Renderer":{"children":{},"title":"Renderer","page":"/melonJS/docs/melonjs/Renderer.html"},"Renderer.getHeight":{"children":{},"title":"Renderer.getHeight","page":"/melonJS/docs/melonjs/Renderer/getHeight.html"},"Renderer.getWidth":{"children":{},"title":"Renderer.getWidth","page":"/melonJS/docs/melonjs/Renderer/getWidth.html"},"Renderer.Texture":{"children":{},"title":"Renderer.Texture","page":"/melonJS/docs/melonjs/Renderer/Texture.html"},"ResponseObject":{"children":{},"title":"ResponseObject","page":"/melonJS/docs/melonjs/ResponseObject.html"},"RoundRect":{"children":{},"title":"RoundRect","page":"/melonJS/docs/melonjs/RoundRect.html"},"Sprite":{"children":{},"title":"Sprite","page":"/melonJS/docs/melonjs/Sprite.html"},"Stage":{"children":{},"title":"Stage","page":"/melonJS/docs/melonjs/Stage.html"},"Text":{"children":{},"title":"Text","page":"/melonJS/docs/melonjs/Text.html"},"TextMetrics":{"children":{},"title":"TextMetrics","page":"/melonJS/docs/melonjs/TextMetrics.html"},"TextureAtlas":{"children":{},"title":"TextureAtlas","page":"/melonJS/docs/melonjs/TextureAtlas.html"},"Tile":{"children":{},"title":"Tile","page":"/melonJS/docs/melonjs/Tile.html"},"Timer":{"children":{},"title":"Timer","page":"/melonJS/docs/melonjs/Timer_.html"},"TMXHexagonalRenderer":{"children":{},"title":"TMXHexagonalRenderer","page":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html"},"TMXIsometricRenderer":{"children":{},"title":"TMXIsometricRenderer","page":"/melonJS/docs/melonjs/TMXIsometricRenderer.html"},"TMXLayer":{"children":{},"title":"TMXLayer","page":"/melonJS/docs/melonjs/TMXLayer.html"},"TMXOrthogonalRenderer":{"children":{},"title":"TMXOrthogonalRenderer","page":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html"},"TMXRenderer":{"children":{},"title":"TMXRenderer","page":"/melonJS/docs/melonjs/TMXRenderer.html"},"TMXStaggeredRenderer":{"children":{},"title":"TMXStaggeredRenderer","page":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html"},"TMXTileMap":{"children":{},"title":"TMXTileMap","page":"/melonJS/docs/melonjs/TMXTileMap.html"},"TMXTileset":{"children":{},"title":"TMXTileset","page":"/melonJS/docs/melonjs/TMXTileset.html"},"TMXTilesetGroup":{"children":{},"title":"TMXTilesetGroup","page":"/melonJS/docs/melonjs/TMXTilesetGroup.html"},"Trigger":{"children":{},"title":"Trigger","page":"/melonJS/docs/melonjs/Trigger.html"},"Tween":{"children":{},"title":"Tween","page":"/melonJS/docs/melonjs/Tween.html"},"UIBaseElement":{"children":{},"title":"UIBaseElement","page":"/melonJS/docs/melonjs/UIBaseElement.html"},"UISpriteElement":{"children":{},"title":"UISpriteElement","page":"/melonJS/docs/melonjs/UISpriteElement.html"},"UITextButton":{"children":{},"title":"UITextButton","page":"/melonJS/docs/melonjs/UITextButton.html"},"Vector2d":{"children":{},"title":"Vector2d","page":"/melonJS/docs/melonjs/Vector2d.html"},"Vector3d":{"children":{},"title":"Vector3d","page":"/melonJS/docs/melonjs/Vector3d.html"},"WebGLRenderer":{"children":{},"title":"WebGLRenderer","page":"/melonJS/docs/melonjs/WebGLRenderer.html"},"World":{"children":{},"title":"World","page":"/melonJS/docs/melonjs/World.html"},"Application.Settings":{"children":{},"title":"Application.Settings","page":"/melonJS/docs/melonjs/Application/Settings.html"},"Camera2d.AXIS (enum)":{"children":{},"title":"Camera2d.AXIS (enum)","page":"/melonJS/docs/melonjs/Camera2d/AXIS.html"},"Tween.Easing (enum)":{"children":{},"title":"Tween.Easing (enum)","page":"/melonJS/docs/melonjs/Tween/Easing.html"},"Tween.Interpolation (enum)":{"children":{},"title":"Tween.Interpolation (enum)","page":"/melonJS/docs/melonjs/Tween/Interpolation.html"},"boot (function)":{"children":{},"title":"boot (function)","page":"/melonJS/docs/melonjs/boot.html"},"consoleHeader (function)":{"children":{},"title":"consoleHeader (function)","page":"/melonJS/docs/melonjs/consoleHeader.html"},"warning (function)":{"children":{},"title":"warning (function)","page":"/melonJS/docs/melonjs/warning.html"}},"title":"","page":null} \ No newline at end of file +{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/index.html"},"ClassIndex":{"title":"Class Index","page":"/melonJS/docs/Class-Index.html"},"audio (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/audio.html"},"disable (function)":{"children":{},"title":"disable (function)","page":"/melonJS/docs/melonjs/audio/disable.html"},"enable (function)":{"children":{},"title":"enable (function)","page":"/melonJS/docs/melonjs/audio/enable.html"},"fade (function)":{"children":{},"title":"fade (function)","page":"/melonJS/docs/melonjs/audio/fade.html"},"getCurrentTrack (function)":{"children":{},"title":"getCurrentTrack (function)","page":"/melonJS/docs/melonjs/audio/getCurrentTrack.html"},"getVolume (function)":{"children":{},"title":"getVolume (function)","page":"/melonJS/docs/melonjs/audio/getVolume.html"},"hasAudio (function)":{"children":{},"title":"hasAudio (function)","page":"/melonJS/docs/melonjs/audio/hasAudio.html"},"hasFormat (function)":{"children":{},"title":"hasFormat (function)","page":"/melonJS/docs/melonjs/audio/hasFormat.html"},"init (function)":{"children":{},"title":"init (function)","page":"/melonJS/docs/melonjs/audio/init.html"},"load (function)":{"children":{},"title":"load (function)","page":"/melonJS/docs/melonjs/audio/load.html"},"mute (function)":{"children":{},"title":"mute (function)","page":"/melonJS/docs/melonjs/audio/mute.html"},"muteAll (function)":{"children":{},"title":"muteAll (function)","page":"/melonJS/docs/melonjs/audio/muteAll.html"},"muted (function)":{"children":{},"title":"muted (function)","page":"/melonJS/docs/melonjs/audio/muted.html"},"orientation (function)":{"children":{},"title":"orientation (function)","page":"/melonJS/docs/melonjs/audio/orientation.html"},"panner (function)":{"children":{},"title":"panner (function)","page":"/melonJS/docs/melonjs/audio/panner.html"},"pause (function)":{"children":{},"title":"pause (function)","page":"/melonJS/docs/melonjs/audio/pause.html"},"pauseTrack (function)":{"children":{},"title":"pauseTrack (function)","page":"/melonJS/docs/melonjs/audio/pauseTrack.html"},"play (function)":{"children":{},"title":"play (function)","page":"/melonJS/docs/melonjs/audio/play.html"},"playTrack (function)":{"children":{},"title":"playTrack (function)","page":"/melonJS/docs/melonjs/audio/playTrack.html"},"position (function)":{"children":{},"title":"position (function)","page":"/melonJS/docs/melonjs/audio/position.html"},"rate (function)":{"children":{},"title":"rate (function)","page":"/melonJS/docs/melonjs/audio/rate.html"},"resume (function)":{"children":{},"title":"resume (function)","page":"/melonJS/docs/melonjs/audio/resume.html"},"resumeTrack (function)":{"children":{},"title":"resumeTrack (function)","page":"/melonJS/docs/melonjs/audio/resumeTrack.html"},"seek (function)":{"children":{},"title":"seek (function)","page":"/melonJS/docs/melonjs/audio/seek.html"},"setVolume (function)":{"children":{},"title":"setVolume (function)","page":"/melonJS/docs/melonjs/audio/setVolume.html"},"stereo (function)":{"children":{},"title":"stereo (function)","page":"/melonJS/docs/melonjs/audio/stereo.html"},"stop (function)":{"children":{},"title":"stop (function)","page":"/melonJS/docs/melonjs/audio/stop.html"},"stopTrack (function)":{"children":{},"title":"stopTrack (function)","page":"/melonJS/docs/melonjs/audio/stopTrack.html"},"unload (function)":{"children":{},"title":"unload (function)","page":"/melonJS/docs/melonjs/audio/unload.html"},"unloadAll (function)":{"children":{},"title":"unloadAll (function)","page":"/melonJS/docs/melonjs/audio/unloadAll.html"},"unmute (function)":{"children":{},"title":"unmute (function)","page":"/melonJS/docs/melonjs/audio/unmute.html"},"unmuteAll (function)":{"children":{},"title":"unmuteAll (function)","page":"/melonJS/docs/melonjs/audio/unmuteAll.html"}},"title":"audio (namespace)","page":null},"collision (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/collision.html"},"types (enum)":{"children":{},"title":"types (enum)","page":"/melonJS/docs/melonjs/collision/types.html"}},"title":"collision (namespace)","page":null},"device (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/device.html"},"enableSwipe (function)":{"children":{},"title":"enableSwipe (function)","page":"/melonJS/docs/melonjs/device/enableSwipe.html"},"exitFullscreen (function)":{"children":{},"title":"exitFullscreen (function)","page":"/melonJS/docs/melonjs/device/exitFullscreen.html"},"focus (function)":{"children":{},"title":"focus (function)","page":"/melonJS/docs/melonjs/device/focus.html"},"getElement (function)":{"children":{},"title":"getElement (function)","page":"/melonJS/docs/melonjs/device/getElement.html"},"getElementBounds (function)":{"children":{},"title":"getElementBounds (function)","page":"/melonJS/docs/melonjs/device/getElementBounds.html"},"getParentBounds (function)":{"children":{},"title":"getParentBounds (function)","page":"/melonJS/docs/melonjs/device/getParentBounds.html"},"getParentElement (function)":{"children":{},"title":"getParentElement (function)","page":"/melonJS/docs/melonjs/device/getParentElement.html"},"getScreenOrientation (function)":{"children":{},"title":"getScreenOrientation (function)","page":"/melonJS/docs/melonjs/device/getScreenOrientation.html"},"getStorage (function)":{"children":{},"title":"getStorage (function)","page":"/melonJS/docs/melonjs/device/getStorage.html"},"hasVideoFormat (function)":{"children":{},"title":"hasVideoFormat (function)","page":"/melonJS/docs/melonjs/device/hasVideoFormat.html"},"isFullscreen (function)":{"children":{},"title":"isFullscreen (function)","page":"/melonJS/docs/melonjs/device/isFullscreen.html"},"isLandscape (function)":{"children":{},"title":"isLandscape (function)","page":"/melonJS/docs/melonjs/device/isLandscape.html"},"isPortrait (function)":{"children":{},"title":"isPortrait (function)","page":"/melonJS/docs/melonjs/device/isPortrait.html"},"isWebGLSupported (function)":{"children":{},"title":"isWebGLSupported (function)","page":"/melonJS/docs/melonjs/device/isWebGLSupported.html"},"lockOrientation (function)":{"children":{},"title":"lockOrientation (function)","page":"/melonJS/docs/melonjs/device/lockOrientation.html"},"onReady (function)":{"children":{},"title":"onReady (function)","page":"/melonJS/docs/melonjs/device/onReady.html"},"requestFullscreen (function)":{"children":{},"title":"requestFullscreen (function)","page":"/melonJS/docs/melonjs/device/requestFullscreen.html"},"unlockOrientation (function)":{"children":{},"title":"unlockOrientation (function)","page":"/melonJS/docs/melonjs/device/unlockOrientation.html"},"unwatchAccelerometer (function)":{"children":{},"title":"unwatchAccelerometer (function)","page":"/melonJS/docs/melonjs/device/unwatchAccelerometer.html"},"unwatchDeviceOrientation (function)":{"children":{},"title":"unwatchDeviceOrientation (function)","page":"/melonJS/docs/melonjs/device/unwatchDeviceOrientation.html"},"vibrate (function)":{"children":{},"title":"vibrate (function)","page":"/melonJS/docs/melonjs/device/vibrate.html"},"watchAccelerometer (function)":{"children":{},"title":"watchAccelerometer (function)","page":"/melonJS/docs/melonjs/device/watchAccelerometer.html"},"watchDeviceOrientation (function)":{"children":{},"title":"watchDeviceOrientation (function)","page":"/melonJS/docs/melonjs/device/watchDeviceOrientation.html"}},"title":"device (namespace)","page":null},"device.platform (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/device/platform.html"}},"title":"device.platform (namespace)","page":null},"event (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/event.html"},"emit (function)":{"children":{},"title":"emit (function)","page":"/melonJS/docs/melonjs/event/emit.html"},"off (function)":{"children":{},"title":"off (function)","page":"/melonJS/docs/melonjs/event/off.html"},"on (function)":{"children":{},"title":"on (function)","page":"/melonJS/docs/melonjs/event/on.html"},"once (function)":{"children":{},"title":"once (function)","page":"/melonJS/docs/melonjs/event/once.html"}},"title":"event (namespace)","page":null},"game (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/game.html"}},"title":"game (namespace)","page":null},"input (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/input.html"},"KEY (enum)":{"children":{},"title":"KEY (enum)","page":"/melonJS/docs/melonjs/input/KEY.html"},"bindGamepad (function)":{"children":{},"title":"bindGamepad (function)","page":"/melonJS/docs/melonjs/input/bindGamepad.html"},"bindKey (function)":{"children":{},"title":"bindKey (function)","page":"/melonJS/docs/melonjs/input/bindKey.html"},"bindPointer (function)":{"children":{},"title":"bindPointer (function)","page":"/melonJS/docs/melonjs/input/bindPointer.html"},"exitPointerLock (function)":{"children":{},"title":"exitPointerLock (function)","page":"/melonJS/docs/melonjs/input/exitPointerLock.html"},"getBindingKey (function)":{"children":{},"title":"getBindingKey (function)","page":"/melonJS/docs/melonjs/input/getBindingKey.html"},"globalToLocal (function)":{"children":{},"title":"globalToLocal (function)","page":"/melonJS/docs/melonjs/input/globalToLocal.html"},"hasActiveEvents (function)":{"children":{},"title":"hasActiveEvents (function)","page":"/melonJS/docs/melonjs/input/hasActiveEvents.html"},"hasRegisteredEvents (function)":{"children":{},"title":"hasRegisteredEvents (function)","page":"/melonJS/docs/melonjs/input/hasRegisteredEvents.html"},"isKeyPressed (function)":{"children":{},"title":"isKeyPressed (function)","page":"/melonJS/docs/melonjs/input/isKeyPressed.html"},"keyStatus (function)":{"children":{},"title":"keyStatus (function)","page":"/melonJS/docs/melonjs/input/keyStatus.html"},"registerPointerEvent (function)":{"children":{},"title":"registerPointerEvent (function)","page":"/melonJS/docs/melonjs/input/registerPointerEvent.html"},"releaseAllPointerEvents (function)":{"children":{},"title":"releaseAllPointerEvents (function)","page":"/melonJS/docs/melonjs/input/releaseAllPointerEvents.html"},"releasePointerEvent (function)":{"children":{},"title":"releasePointerEvent (function)","page":"/melonJS/docs/melonjs/input/releasePointerEvent.html"},"requestPointerLock (function)":{"children":{},"title":"requestPointerLock (function)","page":"/melonJS/docs/melonjs/input/requestPointerLock.html"},"setGamepadDeadzone (function)":{"children":{},"title":"setGamepadDeadzone (function)","page":"/melonJS/docs/melonjs/input/setGamepadDeadzone.html"},"setTouchAction (function)":{"children":{},"title":"setTouchAction (function)","page":"/melonJS/docs/melonjs/input/setTouchAction.html"},"triggerKeyEvent (function)":{"children":{},"title":"triggerKeyEvent (function)","page":"/melonJS/docs/melonjs/input/triggerKeyEvent.html"},"unbindGamepad (function)":{"children":{},"title":"unbindGamepad (function)","page":"/melonJS/docs/melonjs/input/unbindGamepad.html"},"unbindKey (function)":{"children":{},"title":"unbindKey (function)","page":"/melonJS/docs/melonjs/input/unbindKey.html"},"unbindPointer (function)":{"children":{},"title":"unbindPointer (function)","page":"/melonJS/docs/melonjs/input/unbindPointer.html"},"unlockKey (function)":{"children":{},"title":"unlockKey (function)","page":"/melonJS/docs/melonjs/input/unlockKey.html"}},"title":"input (namespace)","page":null},"input.GAMEPAD (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/input/GAMEPAD.html"},"AXES (enum)":{"children":{},"title":"AXES (enum)","page":"/melonJS/docs/melonjs/input/GAMEPAD/AXES.html"},"BUTTONS (enum)":{"children":{},"title":"BUTTONS (enum)","page":"/melonJS/docs/melonjs/input/GAMEPAD/BUTTONS.html"}},"title":"input.GAMEPAD (namespace)","page":null},"level (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/level.html"}},"title":"level (namespace)","page":null},"loader (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/loader.html"},"Asset":{"children":{},"title":"Asset","page":"/melonJS/docs/melonjs/loader/Asset.html"},"getBinary (function)":{"children":{},"title":"getBinary (function)","page":"/melonJS/docs/melonjs/loader/getBinary.html"},"getImage (function)":{"children":{},"title":"getImage (function)","page":"/melonJS/docs/melonjs/loader/getImage.html"},"getJSON (function)":{"children":{},"title":"getJSON (function)","page":"/melonJS/docs/melonjs/loader/getJSON.html"},"getTMX (function)":{"children":{},"title":"getTMX (function)","page":"/melonJS/docs/melonjs/loader/getTMX.html"},"getVideo (function)":{"children":{},"title":"getVideo (function)","page":"/melonJS/docs/melonjs/loader/getVideo.html"},"load (function)":{"children":{},"title":"load (function)","page":"/melonJS/docs/melonjs/loader/load.html"},"preload (function)":{"children":{},"title":"preload (function)","page":"/melonJS/docs/melonjs/loader/preload.html"},"reload (function)":{"children":{},"title":"reload (function)","page":"/melonJS/docs/melonjs/loader/reload.html"},"setBaseURL (function)":{"children":{},"title":"setBaseURL (function)","page":"/melonJS/docs/melonjs/loader/setBaseURL.html"},"setOptions (function)":{"children":{},"title":"setOptions (function)","page":"/melonJS/docs/melonjs/loader/setOptions.html"},"setParser (function)":{"children":{},"title":"setParser (function)","page":"/melonJS/docs/melonjs/loader/setParser.html"},"unload (function)":{"children":{},"title":"unload (function)","page":"/melonJS/docs/melonjs/loader/unload.html"},"unloadAll (function)":{"children":{},"title":"unloadAll (function)","page":"/melonJS/docs/melonjs/loader/unloadAll.html"}},"title":"loader (namespace)","page":null},"Math (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/Math.html"},"clamp (function)":{"children":{},"title":"clamp (function)","page":"/melonJS/docs/melonjs/Math/clamp.html"},"degToRad (function)":{"children":{},"title":"degToRad (function)","page":"/melonJS/docs/melonjs/Math/degToRad.html"},"isPowerOfFour (function)":{"children":{},"title":"isPowerOfFour (function)","page":"/melonJS/docs/melonjs/Math/isPowerOfFour.html"},"isPowerOfTwo (function)":{"children":{},"title":"isPowerOfTwo (function)","page":"/melonJS/docs/melonjs/Math/isPowerOfTwo.html"},"nextPowerOfTwo (function)":{"children":{},"title":"nextPowerOfTwo (function)","page":"/melonJS/docs/melonjs/Math/nextPowerOfTwo.html"},"pow (function)":{"children":{},"title":"pow (function)","page":"/melonJS/docs/melonjs/Math/pow.html"},"radToDeg (function)":{"children":{},"title":"radToDeg (function)","page":"/melonJS/docs/melonjs/Math/radToDeg.html"},"random (function)":{"children":{},"title":"random (function)","page":"/melonJS/docs/melonjs/Math/random.html"},"randomFloat (function)":{"children":{},"title":"randomFloat (function)","page":"/melonJS/docs/melonjs/Math/randomFloat.html"},"round (function)":{"children":{},"title":"round (function)","page":"/melonJS/docs/melonjs/Math/round.html"},"toBeCloseTo (function)":{"children":{},"title":"toBeCloseTo (function)","page":"/melonJS/docs/melonjs/Math/toBeCloseTo.html"},"weightedRandom (function)":{"children":{},"title":"weightedRandom (function)","page":"/melonJS/docs/melonjs/Math/weightedRandom.html"}},"title":"Math (namespace)","page":null},"ParticleEmitterSettings (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/ParticleEmitterSettings.html"}},"title":"ParticleEmitterSettings (namespace)","page":null},"plugin (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/plugin.html"},"Base":{"children":{},"title":"Base","page":"/melonJS/docs/melonjs/plugin/Base.html"},"BasePlugin":{"children":{},"title":"BasePlugin","page":"/melonJS/docs/melonjs/plugin/BasePlugin.html"},"get (function)":{"children":{},"title":"get (function)","page":"/melonJS/docs/melonjs/plugin/get.html"},"patch (function)":{"children":{},"title":"patch (function)","page":"/melonJS/docs/melonjs/plugin/patch.html"},"register (function)":{"children":{},"title":"register (function)","page":"/melonJS/docs/melonjs/plugin/register.html"}},"title":"plugin (namespace)","page":null},"pool (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/pool.html"}},"title":"pool (namespace)","page":null},"save (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/save.html"}},"title":"save (namespace)","page":null},"state (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/state.html"}},"title":"state (namespace)","page":null},"timer (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/timer.html"}},"title":"timer (namespace)","page":null},"TMXUtils (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/TMXUtils.html"},"applyTMXProperties (function)":{"children":{},"title":"applyTMXProperties (function)","page":"/melonJS/docs/melonjs/TMXUtils/applyTMXProperties.html"},"decode (function)":{"children":{},"title":"decode (function)","page":"/melonJS/docs/melonjs/TMXUtils/decode.html"},"decodeBase64AsArray (function)":{"children":{},"title":"decodeBase64AsArray (function)","page":"/melonJS/docs/melonjs/TMXUtils/decodeBase64AsArray.html"},"decodeCSV (function)":{"children":{},"title":"decodeCSV (function)","page":"/melonJS/docs/melonjs/TMXUtils/decodeCSV.html"},"decompress (function)":{"children":{},"title":"decompress (function)","page":"/melonJS/docs/melonjs/TMXUtils/decompress.html"},"parse (function)":{"children":{},"title":"parse (function)","page":"/melonJS/docs/melonjs/TMXUtils/parse.html"},"setInflateFunction (function)":{"children":{},"title":"setInflateFunction (function)","page":"/melonJS/docs/melonjs/TMXUtils/setInflateFunction.html"}},"title":"TMXUtils (namespace)","page":null},"utils (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils.html"},"checkVersion (function)":{"children":{},"title":"checkVersion (function)","page":"/melonJS/docs/melonjs/utils/checkVersion.html"},"getUriFragment (function)":{"children":{},"title":"getUriFragment (function)","page":"/melonJS/docs/melonjs/utils/getUriFragment.html"}},"title":"utils (namespace)","page":null},"utils.agent (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/agent.html"},"prefixed (function)":{"children":{},"title":"prefixed (function)","page":"/melonJS/docs/melonjs/utils/agent/prefixed.html"},"setPrefixed (function)":{"children":{},"title":"setPrefixed (function)","page":"/melonJS/docs/melonjs/utils/agent/setPrefixed.html"}},"title":"utils.agent (namespace)","page":null},"utils.array (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/array.html"},"random (function)":{"children":{},"title":"random (function)","page":"/melonJS/docs/melonjs/utils/array/random.html"},"remove (function)":{"children":{},"title":"remove (function)","page":"/melonJS/docs/melonjs/utils/array/remove.html"},"weightedRandom (function)":{"children":{},"title":"weightedRandom (function)","page":"/melonJS/docs/melonjs/utils/array/weightedRandom.html"}},"title":"utils.array (namespace)","page":null},"utils.file (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/file.html"},"getBasename (function)":{"children":{},"title":"getBasename (function)","page":"/melonJS/docs/melonjs/utils/file/getBasename.html"},"getExtension (function)":{"children":{},"title":"getExtension (function)","page":"/melonJS/docs/melonjs/utils/file/getExtension.html"},"getPath (function)":{"children":{},"title":"getPath (function)","page":"/melonJS/docs/melonjs/utils/file/getPath.html"}},"title":"utils.file (namespace)","page":null},"utils.function (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/function.html"},"defer (function)":{"children":{},"title":"defer (function)","page":"/melonJS/docs/melonjs/utils/function/defer.html"},"throttle (function)":{"children":{},"title":"throttle (function)","page":"/melonJS/docs/melonjs/utils/function/throttle.html"}},"title":"utils.function (namespace)","page":null},"utils.string (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/utils/string.html"},"capitalize (function)":{"children":{},"title":"capitalize (function)","page":"/melonJS/docs/melonjs/utils/string/capitalize.html"},"isBoolean (function)":{"children":{},"title":"isBoolean (function)","page":"/melonJS/docs/melonjs/utils/string/isBoolean.html"},"isDataUrl (function)":{"children":{},"title":"isDataUrl (function)","page":"/melonJS/docs/melonjs/utils/string/isDataUrl.html"},"isNumeric (function)":{"children":{},"title":"isNumeric (function)","page":"/melonJS/docs/melonjs/utils/string/isNumeric.html"},"toHex (function)":{"children":{},"title":"toHex (function)","page":"/melonJS/docs/melonjs/utils/string/toHex.html"}},"title":"utils.string (namespace)","page":null},"video (namespace)":{"children":{"(overview)":{"title":"(overview)","page":"/melonJS/docs/melonjs/video.html"},"createCanvas (function)":{"children":{},"title":"createCanvas (function)","page":"/melonJS/docs/melonjs/video/createCanvas.html"},"getParent (function)":{"children":{},"title":"getParent (function)","page":"/melonJS/docs/melonjs/video/getParent.html"},"init (function)":{"children":{},"title":"init (function)","page":"/melonJS/docs/melonjs/video/init.html"}},"title":"video (namespace)","page":null},"Application":{"children":{},"title":"Application","page":"/melonJS/docs/melonjs/Application.html"},"BitmapText":{"children":{},"title":"BitmapText","page":"/melonJS/docs/melonjs/BitmapText.html"},"Body":{"children":{},"title":"Body","page":"/melonJS/docs/melonjs/Body.html"},"Bounds":{"children":{},"title":"Bounds","page":"/melonJS/docs/melonjs/Bounds.html"},"Camera2d":{"children":{},"title":"Camera2d","page":"/melonJS/docs/melonjs/Camera2d.html"},"CanvasRenderer":{"children":{},"title":"CanvasRenderer","page":"/melonJS/docs/melonjs/CanvasRenderer.html"},"CanvasRenderTarget":{"children":{},"title":"CanvasRenderTarget","page":"/melonJS/docs/melonjs/CanvasRenderTarget.html"},"CanvasTexture":{"children":{},"title":"CanvasTexture","page":"/melonJS/docs/melonjs/CanvasTexture.html"},"Collectable":{"children":{},"title":"Collectable","page":"/melonJS/docs/melonjs/Collectable.html"},"Color":{"children":{},"title":"Color","page":"/melonJS/docs/melonjs/Color.html"},"ColorLayer":{"children":{},"title":"ColorLayer","page":"/melonJS/docs/melonjs/ColorLayer.html"},"Compositor":{"children":{},"title":"Compositor","page":"/melonJS/docs/melonjs/Compositor.html"},"Container":{"children":{},"title":"Container","page":"/melonJS/docs/melonjs/Container.html"},"Detector":{"children":{},"title":"Detector","page":"/melonJS/docs/melonjs/Detector.html"},"Draggable":{"children":{},"title":"Draggable","page":"/melonJS/docs/melonjs/Draggable.html"},"DraggableEntity":{"children":{},"title":"DraggableEntity","page":"/melonJS/docs/melonjs/DraggableEntity.html"},"DropTarget":{"children":{},"title":"DropTarget","page":"/melonJS/docs/melonjs/DropTarget.html"},"DroptargetEntity":{"children":{},"title":"DroptargetEntity","page":"/melonJS/docs/melonjs/DroptargetEntity.html"},"Ellipse":{"children":{},"title":"Ellipse","page":"/melonJS/docs/melonjs/Ellipse.html"},"Entity":{"children":{},"title":"Entity","page":"/melonJS/docs/melonjs/Entity.html"},"GLShader":{"children":{},"title":"GLShader","page":"/melonJS/docs/melonjs/GLShader.html"},"GUI_Object":{"children":{},"title":"GUI_Object","page":"/melonJS/docs/melonjs/GUI_Object.html"},"ImageLayer":{"children":{},"title":"ImageLayer","page":"/melonJS/docs/melonjs/ImageLayer.html"},"Light2d":{"children":{},"title":"Light2d","page":"/melonJS/docs/melonjs/Light2d.html"},"Line":{"children":{},"title":"Line","page":"/melonJS/docs/melonjs/Line.html"},"Matrix2d":{"children":{},"title":"Matrix2d","page":"/melonJS/docs/melonjs/Matrix2d.html"},"Matrix3d":{"children":{},"title":"Matrix3d","page":"/melonJS/docs/melonjs/Matrix3d.html"},"NineSliceSprite":{"children":{},"title":"NineSliceSprite","page":"/melonJS/docs/melonjs/NineSliceSprite.html"},"ObjectPool":{"children":{},"title":"ObjectPool","page":"/melonJS/docs/melonjs/ObjectPool.html"},"ObservableVector2d":{"children":{},"title":"ObservableVector2d","page":"/melonJS/docs/melonjs/ObservableVector2d.html"},"ObservableVector3d":{"children":{},"title":"ObservableVector3d","page":"/melonJS/docs/melonjs/ObservableVector3d.html"},"Particle":{"children":{},"title":"Particle","page":"/melonJS/docs/melonjs/Particle.html"},"ParticleEmitter":{"children":{},"title":"ParticleEmitter","page":"/melonJS/docs/melonjs/ParticleEmitter.html"},"Path2D":{"children":{},"title":"Path2D","page":"/melonJS/docs/melonjs/Path2D.html"},"Point":{"children":{},"title":"Point","page":"/melonJS/docs/melonjs/Point.html"},"Pointer":{"children":{},"title":"Pointer","page":"/melonJS/docs/melonjs/Pointer.html"},"Polygon":{"children":{},"title":"Polygon","page":"/melonJS/docs/melonjs/Polygon.html"},"PrimitiveCompositor":{"children":{},"title":"PrimitiveCompositor","page":"/melonJS/docs/melonjs/PrimitiveCompositor.html"},"QuadCompositor":{"children":{},"title":"QuadCompositor","page":"/melonJS/docs/melonjs/QuadCompositor.html"},"QuadTree":{"children":{},"title":"QuadTree","page":"/melonJS/docs/melonjs/QuadTree.html"},"Rect":{"children":{},"title":"Rect","page":"/melonJS/docs/melonjs/Rect.html"},"Renderable":{"children":{},"title":"Renderable","page":"/melonJS/docs/melonjs/Renderable.html"},"Renderer":{"children":{},"title":"Renderer","page":"/melonJS/docs/melonjs/Renderer.html"},"Renderer.getHeight":{"children":{},"title":"Renderer.getHeight","page":"/melonJS/docs/melonjs/Renderer/getHeight.html"},"Renderer.getWidth":{"children":{},"title":"Renderer.getWidth","page":"/melonJS/docs/melonjs/Renderer/getWidth.html"},"Renderer.Texture":{"children":{},"title":"Renderer.Texture","page":"/melonJS/docs/melonjs/Renderer/Texture.html"},"ResponseObject":{"children":{},"title":"ResponseObject","page":"/melonJS/docs/melonjs/ResponseObject.html"},"RoundRect":{"children":{},"title":"RoundRect","page":"/melonJS/docs/melonjs/RoundRect.html"},"Sprite":{"children":{},"title":"Sprite","page":"/melonJS/docs/melonjs/Sprite.html"},"Stage":{"children":{},"title":"Stage","page":"/melonJS/docs/melonjs/Stage.html"},"Text":{"children":{},"title":"Text","page":"/melonJS/docs/melonjs/Text.html"},"TextMetrics":{"children":{},"title":"TextMetrics","page":"/melonJS/docs/melonjs/TextMetrics.html"},"TextureAtlas":{"children":{},"title":"TextureAtlas","page":"/melonJS/docs/melonjs/TextureAtlas.html"},"Tile":{"children":{},"title":"Tile","page":"/melonJS/docs/melonjs/Tile.html"},"Timer":{"children":{},"title":"Timer","page":"/melonJS/docs/melonjs/Timer_.html"},"TMXHexagonalRenderer":{"children":{},"title":"TMXHexagonalRenderer","page":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html"},"TMXIsometricRenderer":{"children":{},"title":"TMXIsometricRenderer","page":"/melonJS/docs/melonjs/TMXIsometricRenderer.html"},"TMXLayer":{"children":{},"title":"TMXLayer","page":"/melonJS/docs/melonjs/TMXLayer.html"},"TMXOrthogonalRenderer":{"children":{},"title":"TMXOrthogonalRenderer","page":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html"},"TMXRenderer":{"children":{},"title":"TMXRenderer","page":"/melonJS/docs/melonjs/TMXRenderer.html"},"TMXStaggeredRenderer":{"children":{},"title":"TMXStaggeredRenderer","page":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html"},"TMXTileMap":{"children":{},"title":"TMXTileMap","page":"/melonJS/docs/melonjs/TMXTileMap.html"},"TMXTileset":{"children":{},"title":"TMXTileset","page":"/melonJS/docs/melonjs/TMXTileset.html"},"TMXTilesetGroup":{"children":{},"title":"TMXTilesetGroup","page":"/melonJS/docs/melonjs/TMXTilesetGroup.html"},"Trigger":{"children":{},"title":"Trigger","page":"/melonJS/docs/melonjs/Trigger.html"},"Tween":{"children":{},"title":"Tween","page":"/melonJS/docs/melonjs/Tween.html"},"UIBaseElement":{"children":{},"title":"UIBaseElement","page":"/melonJS/docs/melonjs/UIBaseElement.html"},"UISpriteElement":{"children":{},"title":"UISpriteElement","page":"/melonJS/docs/melonjs/UISpriteElement.html"},"UITextButton":{"children":{},"title":"UITextButton","page":"/melonJS/docs/melonjs/UITextButton.html"},"Vector2d":{"children":{},"title":"Vector2d","page":"/melonJS/docs/melonjs/Vector2d.html"},"Vector3d":{"children":{},"title":"Vector3d","page":"/melonJS/docs/melonjs/Vector3d.html"},"WebGLRenderer":{"children":{},"title":"WebGLRenderer","page":"/melonJS/docs/melonjs/WebGLRenderer.html"},"World":{"children":{},"title":"World","page":"/melonJS/docs/melonjs/World.html"},"Application.Settings":{"children":{},"title":"Application.Settings","page":"/melonJS/docs/melonjs/Application/Settings.html"},"Camera2d.AXIS (enum)":{"children":{},"title":"Camera2d.AXIS (enum)","page":"/melonJS/docs/melonjs/Camera2d/AXIS.html"},"Tween.Easing (enum)":{"children":{},"title":"Tween.Easing (enum)","page":"/melonJS/docs/melonjs/Tween/Easing.html"},"Tween.Interpolation (enum)":{"children":{},"title":"Tween.Interpolation (enum)","page":"/melonJS/docs/melonjs/Tween/Interpolation.html"},"boot (function)":{"children":{},"title":"boot (function)","page":"/melonJS/docs/melonjs/boot.html"},"consoleHeader (function)":{"children":{},"title":"consoleHeader (function)","page":"/melonJS/docs/melonjs/consoleHeader.html"},"warning (function)":{"children":{},"title":"warning (function)","page":"/melonJS/docs/melonjs/warning.html"}},"title":"","page":null} \ No newline at end of file diff --git a/docs/docs/index.html b/docs/docs/index.html index b300e6da74..88d455ece9 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,5 +1,5 @@ - + @@ -104,7 +104,7 @@

About melonJS

Sound

    -
  • Web Audio support with spatial audio or stereo panning based on Howler
  • +
  • Web Audio support with 3D spatial audio or stereo panning based on Howler
  • fallback to Multi-channel HTML5 audio for legacy browsers

Physic

diff --git a/docs/docs/melonjs.api.json b/docs/docs/melonjs.api.json index af0d6da138..dc6b53ee3f 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-DFBmNNSTW3APgG0aWo-Uu","name":"","type":"RootDoc","members":[{"id":"nxGofoQzm9-JycnTKn3Ta","name":"audio","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"IY23GrTlfJ0zt5s37yjbk","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":"j0O7-64sPJRSgxpjaRHaD","name":"disable","brief":"","scope":"static","type":"FunctionDoc","description":"

disable audio output

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VB-moTAxnKRy8WbSEZD4Z","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":"o36Ks8xGwTGlE9NknvOWE","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":"3Z8Xjt3VJiDS23WGSsy9n","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":"bwbnMBP-qDPfqRKv4Lx4Q","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":"vXVAOzn-iUKfT0TEEEUzw","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":"wVWq0Xxtj2USE6GfYR4Hf","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":"HltwCgGj87PojPZ-87KNp","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":"ntbMk505loEvLoiQxwaj4","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"}},{"identifier":"settings","optional":true,"description":"

custom settings to apply to the request (@link https://developer.mozilla.org/en-US/docs/Web/API/fetch#options)

","dataType":{"tokens":[{"value":"Object","kind":"canonical"}],"template":"Object"}}],"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":"8kLclba0NcXc_e7fk8M0H","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":"6Ry-haQfNdMWvUaeXwNLj","name":"muteAll","brief":"","scope":"static","type":"FunctionDoc","description":"

mute all audio

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uAh92V3HZmXi8w9KDFhYU","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":"W3Eg-akfu3NZbqsEJ5BEk","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":"wEHbh0RiWsQAMDGH3QmvF","name":"pauseTrack","brief":"","examples":[{"caption":"","code":"me.audio.pauseTrack();"}],"scope":"static","type":"FunctionDoc","description":"

pause the current audio track

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7wBsfCfM1RPDjniRol8v7","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":"e53quipXx5ugqaFCaf5LW","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":"ePLZW6Pyj05Bt62yqyh3x","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":"Um0JRVUWzGw0FbBvt5GYL","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":"lG5I3RJNPA9SenXxC9mM6","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":"qDUNbzromMR-zwaokyKyt","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":"fr_zseHr1OWYgVZXO_e0O","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":"ICdUfLhE7VjCdYZ3zHn_P","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":"SI5GXYtPD3y3TFsaFGzjO","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":"RTO7lEe2D5ZbIijtobMaG","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":"zBkG_HQDOm1pILBxfpHdx","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":"Ze1u4NuI75IwtwhLksHq_","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":"4pXVmmRpecjf6j19vuTIb","name":"unmuteAll","brief":"","scope":"static","type":"FunctionDoc","description":"

unmute all audio

","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"PwR-ct35Di5OJO55z4Dvk","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":"2KRCb3ypHQee7MjG4yEVb","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":"5-LWVEfihxOkMoC1777Lv","name":"ACTION_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

e.g. doors

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

all of the above (including user-defined types)

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

collectable objects

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

enemies objects

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

to disable collision check

"},{"id":"aGndski8zXXF7ffZ5xOfL","name":"NO_OBJECT","brief":"

to disable collision check

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

non playable characters

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

playbable characters

"},{"id":"VwMmQc_jvSSXAo82Ov3Y-","name":"PROJECTILE_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

e.g. missiles

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

user-defined collision types (see example)

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

e.g. walls; for map collision shapes

"}]},{"id":"C4Qohi8pojmSJaP9tqKrC","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":"vApDpdLYoHpWG5AS3QU6r","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":"OatUR9UxAeaDmke_nnIwm","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":"c-KiqX9_nVw6kaDtFAsCA","name":"device","brief":"","defaultValue":"false","type":"NSDoc","description":"

device type and capabilities

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

The device platform type

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

true if the device is an Android platform

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

true if the device is an Android 2.x platform

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

true if the device is a BlackBerry platform

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

true if the device is running on ChromeOS.

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

true if running under Ejecta

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

true if the device is an iOS platform

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

true if a mobile device

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

true if running under Wechat

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

true if the device is a Kindle platform

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

true if the device is a Linux platform

"},{"id":"1kyCX9X-bBeP7RmN-V2d0","name":"nodeJS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if running under node.js

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

the user agent string for the current device

"},{"id":"RJ-1XdN0VF093i5DGZ-2y","name":"wp","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

true if the device is a Windows Phone platform

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

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

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

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

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

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

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O8oTu1DpDxvGR25vOGGCB","name":"alpha","brief":"","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":"S-aEWIl4srNTKvaxAs4Q7","name":"autoFocus","brief":"","defaultValue":"true","type":"PropertyDoc","description":"

Specify whether to automatically bring the window to the front

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"roh5J6wZ1VS8MGNb3hs_u","name":"beta","brief":"","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":"Ltad9oDqlPSX9gtmjVS1g","name":"devicePixelRatio","brief":"","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":"YfUxDDflkTl-qfhqQQ3WZ","name":"gamma","brief":"","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":"xOMC0gMQzLK8rBlR6aOAG","name":"hasAccelerometer","brief":"","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

Browser accelerometer capabilities

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N6Pd6AVX-dCcNx-JiAeR5","name":"hasDeviceOrientation","brief":"","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

Browser device orientation

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

Browser full screen support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p7HnZyrfd2UfDF-Dzsxlo","name":"hasHTML5Audio","brief":"","readonly":true,"type":"PropertyDoc","description":"

Device HTML5Audio Support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fqjxo-m8TUGRFl1l_Y04K","name":"hasPointerLockSupport","brief":"","readonly":true,"type":"PropertyDoc","description":"

Browser pointerlock api support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9lsPIhA5tTdqp-5zAMnwQ","name":"hasVideo","brief":"","readonly":true,"type":"PropertyDoc","description":"

Device Video Support

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

Device WebAudio Support

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gees3720Eudg_8D1clOjH","name":"isMobile","brief":"","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":"ld-CUdDLyf27kDud4DEmY","name":"language","brief":"","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":"rBAIZINxwE2HDu-wOZe3A","name":"localStorage","brief":"","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":"4-S4a7QiefMsT3Skobna9","name":"maxTouchPoints","brief":"","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":"7YwHB8wmqdJdxf91wmZKb","name":"nativeBase64","brief":"","readonly":true,"type":"PropertyDoc","description":"

Browser Base64 decoding capability

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9L5b_kVFBXO4OnmtQFfxw","name":"offscreenCanvas","brief":"","readonly":true,"type":"PropertyDoc","description":"

equals to true if the device browser supports OffScreenCanvas.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nUBRnZljBHTn_Dapf9l4P","name":"pauseOnBlur","brief":"","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":"TzYYEbgEqmcfq7y7zAYCj","name":"platform","brief":"","readonly":true,"type":"PropertyDoc","description":"

the device platform type

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h-PahzOBs1lHaluMU-vMD","name":"pointerEvent","brief":"","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

True if the browser supports Pointer Events

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I4BOFAn3kFXTGso-dR2Ra","name":"resumeOnFocus","brief":"","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":"yMdsNfYYYX5J62qcMqt8A","name":"screenOrientation","brief":"","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":"wizGRjej24eId-H75lJnl","name":"sound","brief":"","readonly":true,"type":"PropertyDoc","description":"

Returns true if the browser/device has audio capabilities.

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZpFDgqxxH4vux6XgWxxyx","name":"stopOnBlur","brief":"","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":"-nXbD1dRE_eqL3-XIGEv0","name":"touch","brief":"","readonly":true,"type":"PropertyDoc","description":"

Touch capabilities (support either Touch or Pointer events)

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

True if the browser supports Touch Events

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

W3C standard wheel events

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k41O19AvcIER_PBhpjpW3","name":"enableSwipe","brief":"","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":"-potl95KNTm7BgXpPC02P","name":"exitFullscreen","brief":"","type":"FunctionDoc","description":"

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

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KumPgKd_dkw87zAOGP0CB","name":"focus","brief":"","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":"qtvyEIEf56ScwLxnAHLCa","name":"getElement","brief":"","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":"IDj9X2z-f7EROsKLIrdoH","name":"getElementBounds","brief":"","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":"O5dYMEenYyT5qZDOeo40m","name":"getParentBounds","brief":"","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":"fx_nSE80odq5xxYzXjW7l","name":"getParentElement","brief":"","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":"loJNpbzAcvEhxZXHUhJk6","name":"getScreenOrientation","brief":"","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":"Nl9SNSwFm_d6R72gCttRA","name":"getStorage","brief":"","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":"oHM4PIgqHw_kZfWGo7VGm","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":"Y1IjhRi2sLi9XC8urcGdD","name":"isFullscreen","brief":"","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":"c9T5Pe9zEJdyS56L8MnAZ","name":"isLandscape","brief":"","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":"BNSq2qNwITj-T2QM1Ix5T","name":"isPortrait","brief":"","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":"KtbUqEoDh_7fkPwD2O2HH","name":"isWebGLSupported","brief":"","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":"o9A7sdOyB_KZvqG6dGM5o","name":"lockOrientation","brief":"","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":"DKOjIA1uEq8m46iUPvI9L","name":"onReady","brief":"","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":"hjh-5jDGOLi-RlI2sXV7W","name":"requestFullscreen","brief":"","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":"U4PTFA31CtMdlWTmzlBXk","name":"unlockOrientation","brief":"","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":"zU8YPcMd33NpCX1LWtYD7","name":"unwatchAccelerometer","brief":"","type":"FunctionDoc","description":"

unwatch Accelerometor event

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

unwatch Device orientation event

","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lSOW9Is940qwUqBqUcf6g","name":"vibrate","brief":"","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":"CkNjvORRtcRc0ZVrec5Yc","name":"watchAccelerometer","brief":"","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":"zavqnD28gWLnOQccbWC1r","name":"watchDeviceOrientation","brief":"","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":"COpFR7hLkSqmIdTxY7fXa","name":"event","brief":"","type":"NSDoc","description":"

an event system based on nodeJS EventEmitter interface

","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"lo-56mIQ8c-cpkrj85G7L","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":"CfIWtyOdkoWC3w_3KBSrn","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":"VJbTo8fCOMzwIdCKPU0Ux","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":"VxMU8HXaWqNGiO0cj8Jk8","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":"SlEZ4ul1RKyke6hjIsGWC","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":"kurR5-1pg0-sbmjwP3n4B","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":"FtGfW_b1jA7KOcOHMK300","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":"nPlkPakoJbBdhnJcQhYN8","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":"D5udnJNkNKzgky_UiABTm","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":"UggRl8VrhVnDfFGo4VzqF","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":"30l1sHOYJ0qqN6q653IWJ","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":"E8TlgZuq8859d30_FjOJO","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":"E7-araW6TV44sZL6R0zuu","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":"zsZve3RPA-gv9M2cOWM1b","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":"Yl4iL45nVT-MWyNxP-YD1","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":"2Mhiim2iNO0PozC3roklw","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":"LQTDLJJlV88kI9jrH7yDu","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":"JNFoqL5GpI-wSXiXXtPh9","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":"puUUchouln-e-gokwi7d7","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":"17Y8MIJAijTiJ2UuKZNxR","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":"KthGANDsCO98zf_b2on9C","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":"ZWYekhWs57gY1mn0N0GSQ","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":"Y7nubQtcfL-ClH6te5YEY","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":"RZfDq9GNVWJXIb1Tl_gWq","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":"CWSDHl8GwQjyRISw_RBVm","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":"WQwNOKAHKLdNGJqLKSQcC","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":"_qrCpCj0rZAJi1B78OqNq","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":"dlMykZizV0p_P_m8NU2pm","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":"HY45G-TieU6fWwvMZ8Xbi","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":"68c-FsBDYmXoAosFm0H6s","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":"3avZj3HozW4V59M3QL6UF","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":"NugMcFF4Ty6D9vRwR5C5V","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":"cuAGC1fg3hT-0MA84ID5C","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":"LX_VkS3zxgOlPaTwOnRyt","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":"A_NfgXHJtTVb_52qVd-3q","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":"IazlVduUzqH3_bgP58TPk","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":"sXaixZaGod35AFOnByMjO","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":"5WgjM7beUAr6d3gFIrt5P","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":"HaoH_nZMdtQ9jTIVBuU1_","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":"m7L_uQd7x0ejvieC0rKWG","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":"mONFthIEyJlnBQ6MOLzf8","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":"YZ4F4eNDOBegyy2ZDRExr","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":"3vFGxjXB1mDRniNL3qHG9","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":"YAitptm7p6BFYu3SFvNP7","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":"SV-FZnTaolDuW77SRyN57","name":"input","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"-M20NEY25FJJT9LfsVVrH","name":"GAMEPAD","brief":"","access":"public","type":"NSDoc","description":"

Namespace for standard gamepad mapping constants

","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"6s1_wmnHsahi2Gx049iZ1","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":"i5MDVwwrbCchqxFoAQ0rA","name":"A","brief":"","defaultValue":"65","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PsXr4krW9bf6gbm2yMzP1","name":"ADD","brief":"","defaultValue":"107","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tYq3hbOtXgjhtcopTUCgR","name":"ALT","brief":"","defaultValue":"18","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3VTJQ5cOBpNpUZsivdsIK","name":"B","brief":"","defaultValue":"66","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"74BYOFtQg3fyvY6bXYoR1","name":"BACK_SLASH","brief":"","defaultValue":"220","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"myaplc1QeNuNyDrj9Q5iy","name":"C","brief":"","defaultValue":"67","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FWbLwmDdZFZp2TIvLAmaF","name":"CAPS_LOCK","brief":"","defaultValue":"20","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vEdA8E8_LIpIK96B5pPq8","name":"CLOSE_BRACKET","brief":"","defaultValue":"221","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bVjrGcRosBtL3wXqduZTw","name":"COMMA","brief":"","defaultValue":"188","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EvyOZwGukD-jwp0peWhvR","name":"CTRL","brief":"","defaultValue":"17","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jt5e6F-7Q_rUFy-ZVlgAH","name":"D","brief":"","defaultValue":"68","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ImIgEyWx8YQ1Vp7XoD1TR","name":"DECIMAL","brief":"","defaultValue":"110","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gqraGME5szbFg7ADatnqV","name":"DELETE","brief":"","defaultValue":"46","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Sw_jvorO0810E4CtBLU8K","name":"DIVIDE","brief":"","defaultValue":"111","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZmZ-bfJbSjKkahwm-4dxe","name":"DOWN","brief":"","defaultValue":"40","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xSB11DQ5e8H7Os4-XTNdN","name":"E","brief":"","defaultValue":"69","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"th9xBdYZvgWrGDFQhkrY8","name":"END","brief":"","defaultValue":"35","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CRKn4wkiOb5es2Q0_NVcG","name":"ENTER","brief":"","defaultValue":"13","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uS6_aLduHNVDpgp8rqtnJ","name":"ESC","brief":"","defaultValue":"27","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4Q4nDgcAFg0yKT4Em2Ro7","name":"F","brief":"","defaultValue":"70","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4oclKnMdNfb1Qde_cwyj5","name":"F1","brief":"","defaultValue":"112","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6haKwsgrTpWpkW0lCXkJ5","name":"F10","brief":"","defaultValue":"121","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4jKQ0j5yehDIOrJA-m_hB","name":"F11","brief":"","defaultValue":"122","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aLyOsY2JqMBbzvVjSf99U","name":"F12","brief":"","defaultValue":"123","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7qWkhCgT_0ejzKvjBKiCQ","name":"F2","brief":"","defaultValue":"113","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i8WDYR4mPWP1L8zgCgLfq","name":"F3","brief":"","defaultValue":"114","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eCbdCXpMqJAw2F7lXJ0t5","name":"F4","brief":"","defaultValue":"115","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xoyfYLymJ20rRQIHdZVU6","name":"F5","brief":"","defaultValue":"116","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VYHjQqFK_H5xjDA-O_WRb","name":"F6","brief":"","defaultValue":"117","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F-QiRsFiuJ2_Be1guuxtG","name":"F7","brief":"","defaultValue":"118","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dhdswmi_wqNeCD6m0oNih","name":"F8","brief":"","defaultValue":"119","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0SxiPRHPHccd-eEb-W1pq","name":"F9","brief":"","defaultValue":"120","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IFAY_z5km26UdJ7xWUn3u","name":"FORWAND_SLASH","brief":"","defaultValue":"191","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"awgHEcp2-C5GdKn7UahVs","name":"G","brief":"","defaultValue":"71","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L0Io8nJ02lMm27fEOoACa","name":"GRAVE_ACCENT","brief":"","defaultValue":"192","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lJQ6RwJ8bMH2wMBCREhiM","name":"H","brief":"","defaultValue":"72","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XQKGc7vaAkSVeTSBMEcM3","name":"HOME","brief":"","defaultValue":"36","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"egtSSYVo4-SsgiqtBmWFR","name":"I","brief":"","defaultValue":"73","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PCJDa0gX0ElcPA-ORDC4n","name":"INSERT","brief":"","defaultValue":"45","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aQvzJ7zRivK_Z5LzUEqYB","name":"J","brief":"","defaultValue":"74","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1l2sXrBjESrNi2GYTzeDt","name":"K","brief":"","defaultValue":"75","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZQT4Qz42tKSbf9wYR8WWh","name":"L","brief":"","defaultValue":"76","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Uo9IFkbe9yrGG81d53PAp","name":"LEFT","brief":"","defaultValue":"37","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4TVlfxQtFaWj5NPAolewb","name":"M","brief":"","defaultValue":"77","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y3rIKk1LGC6o3rwKBA5oq","name":"MINUS","brief":"","defaultValue":"189","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4Xrm1EggkDTyZ1vfv-i53","name":"MULTIPLY","brief":"","defaultValue":"106","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IcOntPCC54p-nIP4D8rlm","name":"N","brief":"","defaultValue":"78","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VxzHClvs5pcJM-7aptv8n","name":"NUM_LOCK","brief":"","defaultValue":"144","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4VMPkJMfz0wayNmSnQfZl","name":"NUM0","brief":"","defaultValue":"48","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HFGhmZtS8t-uzSyuJSgMJ","name":"NUM1","brief":"","defaultValue":"49","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dVPjoyLDFFAZtMNmfrEOC","name":"NUM2","brief":"","defaultValue":"50","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"22_y_Amr1wiKrTTt7fIx-","name":"NUM3","brief":"","defaultValue":"51","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P8FiI0MGBEt1YxLlGknF6","name":"NUM4","brief":"","defaultValue":"52","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AH8ntvWdd9XfZXMiMLn82","name":"NUM5","brief":"","defaultValue":"53","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_HQpZE8hUjhlWJ6hNBsLb","name":"NUM6","brief":"","defaultValue":"54","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LfVq4jGcerNxcYiVCgPZd","name":"NUM7","brief":"","defaultValue":"55","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MkHd2JCY8DcbqlZbVqYjZ","name":"NUM8","brief":"","defaultValue":"56","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VHVcnYGona8TQfURF5bQN","name":"NUM9","brief":"","defaultValue":"57","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HDVsZDQATW-nsuRkzbqZn","name":"NUMPAD0","brief":"","defaultValue":"96","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xROjV2Qg2ftQ4_Jf8_Aac","name":"NUMPAD1","brief":"","defaultValue":"97","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Tl3SrXPZuxQzvclOuYIdl","name":"NUMPAD2","brief":"","defaultValue":"98","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pc8rA-e-0dPmQpNePPMRX","name":"NUMPAD3","brief":"","defaultValue":"99","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yYYeH3jz7FzcG13lD20Yb","name":"NUMPAD4","brief":"","defaultValue":"100","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HdPtH-9fG58NLHfTjs2JW","name":"NUMPAD5","brief":"","defaultValue":"101","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sL0kac9aZn0zczLlJiLTJ","name":"NUMPAD6","brief":"","defaultValue":"102","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SOEABssIC8lWCUUFbqK92","name":"NUMPAD7","brief":"","defaultValue":"103","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nPXtX7eE529DDOa3j5qyW","name":"NUMPAD8","brief":"","defaultValue":"104","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aYWxuFbMLqon8jfm-O87X","name":"NUMPAD9","brief":"","defaultValue":"105","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wu1qxnpq_6TFtjMGbUOBY","name":"O","brief":"","defaultValue":"79","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1T0PkaOliuUA80VDkcB83","name":"OPEN_BRACKET","brief":"","defaultValue":"219","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kDc2hUct3kVOh7lWVyk_C","name":"P","brief":"","defaultValue":"80","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8-AbbSwPCoXm06OzwRFXq","name":"PAGE_DOWN","brief":"","defaultValue":"34","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l3O0cP0eYvkTE1kxiWfcj","name":"PAGE_UP","brief":"","defaultValue":"33","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"epT3D1t9I94_ZipHI1_yX","name":"PAUSE","brief":"","defaultValue":"19","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j7QUQcuc0_hQMug7Lnl4f","name":"PERIOD","brief":"","defaultValue":"190","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2PA7FpOWxoqtaRxOp50Bd","name":"PLUS","brief":"","defaultValue":"187","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hnrfaLp8tHbzz4FkP4RI1","name":"PRINT_SCREEN","brief":"","defaultValue":"42","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"suFcGhWlyF9kpSXfyqeFq","name":"Q","brief":"","defaultValue":"81","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O-_prFpuJar65GxsMRO1s","name":"R","brief":"","defaultValue":"82","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NH_f5BHFcP99YaO6CUon9","name":"RIGHT","brief":"","defaultValue":"39","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z2Lv8qsjiwdKIOrX2Cy8D","name":"S","brief":"","defaultValue":"83","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z1J6G6VKMRpfZEfeEpuP4","name":"SCROLL_LOCK","brief":"","defaultValue":"145","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3-lQ3xvFOFG8qZ-yMlNMF","name":"SEMICOLON","brief":"","defaultValue":"186","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0tNFa4eirW72yV_H4zZsL","name":"SHIFT","brief":"","defaultValue":"16","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sTRqr3Szr45HKQ48c1WMn","name":"SINGLE_QUOTE","brief":"","defaultValue":"222","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rWSVaIJJG_I1Me3wFd797","name":"SPACE","brief":"","defaultValue":"32","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tdHsIKJLava7XgJfoHa-w","name":"SUBSTRACT","brief":"","defaultValue":"109","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_bPwzGLyDpxHagCUiY8YB","name":"T","brief":"","defaultValue":"84","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ttTZhj3lIRGg-4cpER8mg","name":"TAB","brief":"","defaultValue":"9","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3Mhwpk7WEeN3p-XEdw847","name":"TILDE","brief":"","defaultValue":"126","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4RoEPcuXSiS9MIW89iO-N","name":"U","brief":"","defaultValue":"85","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_p3D1c_5aaTik0u6LQ3MJ","name":"UP","brief":"","defaultValue":"38","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BEgw0w3QXze69ThN4Hhho","name":"V","brief":"","defaultValue":"86","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lhdGOCXxz07uOgh_D8aP1","name":"W","brief":"","defaultValue":"87","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-NlMr7eSsp6plx0P6S95a","name":"WINDOW_KEY","brief":"","defaultValue":"91","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xUm9VG3tkk5SLmm59Odiq","name":"X","brief":"","defaultValue":"88","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZOSQbvgLleVw0WMZBpnhg","name":"Y","brief":"","defaultValue":"89","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kvkzHKaZKrPvQokn5pAc_","name":"Z","brief":"","defaultValue":"90","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"LXWLiDxBQxKjbtw71WvFs","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":"OayWVkExoLAqc9u_504xS","name":"locked","brief":"","access":"public","defaultValue":"false","type":"PropertyDoc","description":"

      indicates if the pointer is currently locked

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

      Pointer information (current position and size)

      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KkhBqmQRGY1J6hqe9URpM","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":"WBHjmgUjMnT0xlpQtHC7c","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":"Gm5jIn5l30HHhIyV4zK6s","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":"OwYB0rF-bcLw2pI6mcnJb","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":"BGJ-qomOVgB4jgwsPb8QT","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":"4pT2FYuBlrgxpXz4AeAqC","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":"jqO8W6aQJPiggGHZGkh1L","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":"7tpklwXpI-WTetYYZ_2Gr","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":"k6V8f7DN4ni1jTQFSuPlv","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":"KfYDdHE91Wb8rkXm5_f92","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":"94wCahweGQ1aKMzdoh8-I","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":"6Bbx5bQQ0tFiRZ39xqcD7","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":"MGoI_5Wuqs3jWkkxJdbZo","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":"Qc3CT3r8iTg77c_484fuK","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":"MpmcfVwhv9ZOomc0wWlmY","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":"Ztw7YkW-xeBRtCls6Ym6b","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":"IDyunqpg0uM7lPDGMUMbv","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":"b398TojxHVztRNSEoanOf","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":"y0gJ5Q_28ofNLCvmyvWzm","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":"5IoJZxnaUjGRPznfKeIAt","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":"Jc4GLwvc8n83J5hAxW8mS","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":"kLA-usCTApSxJfiajqz6n","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":"neBC_QzrR45hzpuv3Y52w","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":"HhP_B553Mv7wVZaLe3OKo","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":"suLC1ApYE6vNO9MynofJK","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":"j6YCQV4uUXPijwiDREvtU","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":"V-MrW62QhZYLKr654OcLT","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":"QWnG7fdxqsYRggDEywcD8","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":"yT0vlA9m35mulxyc0a_gi","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":"VSy2-iugUpWrq-4J6lldB","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":"Wc5Z3djK0oCusx35KN1Tn","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":"1ZcBbixYNki7vyen5pJke","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":"QgmhPaWonVyT-ydcpgt5b","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":"PsgG_HUiabEcLJxN2N4_X","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":"FEWmR77BqYn15FrjxY5cR","name":"loader","brief":"","defaultValue":"\"\"","type":"NSDoc","description":"

        a small class to manage loading of stuff and manage resources

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"jSrVShHPJ8p6536iUcc8d","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":"vdQDek3TCHCpNGnYHYXYx","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":"qWzlJSslD8qcoklFGx70B","name":"data","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        TMX data if not provided through a src url

        "},{"id":"gbcsLJxrtNdBQpJ7OFXaK","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":"PdX5cbRv2-QTMRN7Er9Bu","name":"name","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        name of the asset

        "},{"id":"lFQP9WoZT99OxVJGzAjha","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":"V959mFni403W61TWcTBww","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":"hBAAcjbx3TqBtHiGmELSs","name":"type","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

        the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx&qu..."}]},{"id":"fg2waW-S1ocupqKQsRCAN","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":["loader.setOptions","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":"PChxgF795t6YFCUb7eNa-","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":"eqWooe6iqiuGkVGUQpgiZ","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":"-iIgO2VuYQ3eBve_ae4se","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":"pVl4bLr4qxljt3bkrWQ2b","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":["loader.setOptions","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":"uycSPKRhkhNLl2Y-yhJKE","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":"fddn_Xve8UW96HUD_8nq2","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":"uHzQh0Md_td3MyDoIjANL","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":"anm0jZPyjQCRXXLg9jToY","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":"1GlKQsfS2zGcyTpqne-NT","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":"4ktfMrP0MvLv_W7yFi62L","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":"dG86prnP7qWYI5hxtAfH1","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":"Nj8wrbrjZzckJu0JMRLlN","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":"e9S2Hnh3eOpH8otlK3p2Q","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":"7wa75nW8XFQSBfRrd6d6k","name":"setOptions","brief":"","examples":[{"caption":"","code":" // Set the crossOrigin attribute to \"anonymous\"\n me.loader.setOptions({ crossOrigin: \"anonymous\" });\n\n // Enable the nocache mechanism\n me.loader.setOptions({ nocache: true });\n\n // Enable withCredentials\n me.loader.setOptions({ withCredentials: true });"}],"type":"FunctionDoc","description":"

        Sets the options for the loader.

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

        The options to set.

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

        The crossOrigin attribute to configure the CORS requests for Image and Video data element.

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

        Enable or disable the nocache mechanism.

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

        Indicates whether or not cross-site Access-Control requests should be made using credentials.

        ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"STh6tlOWpjq6vdjoCISuc","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":"Xsr7A8_P5umkKwQNGtgJU","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":"0fAOVzMyLu-TQZC73U8we","name":"unloadAll","brief":"","examples":[{"caption":"","code":"me.loader.unloadAll();"}],"type":"FunctionDoc","description":"

        unload all resources to free memory

        ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"Mag5W-qPgLh4-DbiEwvHs","name":"Math","brief":"","type":"NSDoc","description":"

        a collection of math utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"fTpi_rDilPlk1W-WhWoON","name":"DEG_TO_RAD","brief":"","readonly":true,"type":"PropertyDoc","description":"

        constant to convert from degrees to radians

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RDf7e6HjLA9d10G8leJXJ","name":"EPSILON","brief":"","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":"Q3Qtk8QplRTds84RL5QzC","name":"ETA","brief":"","readonly":true,"type":"PropertyDoc","description":"

        constant equals to half pi

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7zA248iH7GnVc94w0yecn","name":"RAD_TO_DEG","brief":"","readonly":true,"type":"PropertyDoc","description":"

        constant to convert from radians to degrees

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

        constant equals to 2 times pi

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eu8fsrgtOqY3RSC5gOV8n","name":"clamp","brief":"","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":"tr9oe6R_xTjnkulrC84zL","name":"degToRad","brief":"","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":"BoKIPtBEj8Lyn-AyhWPwR","name":"isPowerOfTwo","brief":"","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":"A2Nb4X4-X-DWP_Kqlxjjf","name":"nextPowerOfTwo","brief":"","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":"9gmQJmfSME97NtV7LpWXE","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":"ziLjo4rwzhZJuFmL1LyP_","name":"radToDeg","brief":"","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":"YtBslLd0Po4K21qJQSZfT","name":"random","brief":"","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":"jycB5BQGXgIBwtwML9gc3","name":"randomFloat","brief":"","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":"VcIpKDUA_45Tc44EIIVxW","name":"round","brief":"","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":"_-05mUqKEEuIaSYi5Q0Fu","name":"toBeCloseTo","brief":"","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":"DpF7oflEadfnVRaGBZ1cH","name":"weightedRandom","brief":"","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":"D22XGn8JEmOX2ADI7l6SZ","name":"ParticleEmitterSettings","brief":"","readonly":true,"see":["ParticleEmitter"],"type":"NSDoc","description":"

        ParticleEmitterSettings contains the default settings for ParticleEmitter

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"iZpsNKJXNWDEe3kgSNwKs","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":"HgJyDgRW7LDsglYb9s7V7","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":"Mul_7YenSzUO-K9U3bCo8","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":"Gui4c2zQs0GzXhMSDK0lM","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":"8-Sp4-X9T-rVxM6ieV-rE","name":"floating","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        Render particles in screen space.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S82UiVGAsLuC9I5-He8wR","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":"nxJMu4REMde_JtkHVhR-g","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":"sWvarhg3r-gWTJUhJnvgz","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":"uFKIBkTwbK0DKamV66N6i","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":"rz0T4p9RJyUR0PgbEgeE1","name":"height","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

        Height of the particle spawn area

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F3S3kxCP4-HzcdxJnOhMm","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":"Rf7fNmjkV_h8YQNcLn4es","name":"maxEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Maximum end scale ratio for particles

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hnZSHpsgL65MkRIeq_TpO","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":"3IANx3UI9G1KvFwxAQj_X","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":"jpKqTkZWCmUa5DMwpnuOO","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":"v7RBJDCBFluFmagV5AoJA","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":"BpT-p-tpO8HlihNwg5oRw","name":"minEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

        Minimum end scale ratio for particles

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KFCc31o7OFr2L1RtUSuf5","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":"KYQDc8Tw_qWK04JxyEwYN","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":"RuUcheAXubXmp-YK2svNq","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":"ZioCgsc8s92a9yV7BgJaQ","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":"6B4yGFzxG6o6bAY9s8Q0z","name":"speed","brief":"","access":"public","defaultValue":"2","scope":"static","type":"PropertyDoc","description":"

        Start speed of particles.

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

        letiation in the start speed of particles

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Iy4dXG1LMgjKpv1JjZasz","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":"jYtuF2_rMGSXegPp81tRN","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":"8cObFys2ps5vaZiQZqzLj","name":"tint","brief":"","access":"public","defaultValue":"\"#fff\"","scope":"static","type":"PropertyDoc","description":"

        tint to be applied to particles

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

        Total number of particles in the emitter

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

        Width of the particle spawn area.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zbh_uQ1xTT3BvFtbpu_qk","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":"slnco59lyGw7_B-dYwHi5","name":"plugin","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"t5RAF0IealUfPttHMgigs","name":"Base","brief":"","deprecated":"since 15.1.6, see {@link plugin.BasePlugin}","type":"ClassDoc","params":[],"returns":[],"extends":["plugin.BasePlugin"],"implements":[],"members":[{"id":"xZEPZTjqGPcpgNyM5oWYL","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

        a reference to the app/game that registered this plugin

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1BsQjBAz0er3jvu1mQEJq","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":"cPrvLoHBzmvEXTYYLKg9R","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":"aBIlM-0T7QzbxNzN_d89J","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

        a reference to the app/game that registered this plugin

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0t4LdysbuDgEu1gxv4vqy","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":"ricKjEHtq8Wqs6NM8YXC1","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":"QCr94DsMN1O54LaEe2K-A","name":"cache","brief":"","type":"PropertyDoc","description":"

        Contains all registered plugins.

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6dmitkoa6VMDKcpk0VkF-","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":"qHbQdkDW-mEAsrbwXal_z","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":"Lb9FILvck4iW2dSLAAzYY","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":"W5iR9lXyc-DYnA_xVFkpG","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":"QrrPWHIdr8eF9eG2ME9GJ","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":"p8a4w_gdr6VUC4KrvnDsF","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":"ghWK4YxiKJBRqfbtid8OB","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":"bC5EcJeEbObMYZeyjkK_s","name":"state","brief":"","type":"NSDoc","description":"

        a State Manager (state machine)

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

        default state ID for Credits Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ct3vh7a-qbEs3nqKKTyuA","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":"OJj65WBEkbXA0soHLQGf7","name":"GAME_END","brief":"","defaultValue":"5","scope":"static","type":"PropertyDoc","description":"

        default state ID for Game End Stage

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

        default state ID for Game Over Stage

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

        default state ID for Loading Stage

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

        default state ID for Menu Stage

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

        default state ID for Play Stage

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

        default state ID for "Ready" Stage

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

        default state ID for High Score Stage

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

        default state ID for Settings Stage

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Etk6uLKOfZI5m4qAZ3Wnl","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":"5avjFpu4mkrfLFsAF3t4Z","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":"O7ACCyeCQ_p0VyN5VrKIc","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":"WLRnKZUq5nUAfk9kKuG6P","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":"uMm5TS2uGIYPb67Ce4ZbL","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":"8yHv20mc1AQcZX1xw2bRL","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":"qKs-GmSO73Mlpsq-ykyd1","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":"ACKjM1aFfiCE91Xyilsbp","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":"UGymxW2nik2L0eAk_hgKI","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":"EQlm_B48n4--gw7Ja9IPW","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":"LykjlERGNv9sfJvbzfsro","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":"Jn9j0EG8hTQwDiQEUpeRX","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":"ZJFRA9LZVyLB-mjPmtdP6","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":"22KMZCoxIvKoVrOWftUQS","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":"_fv0Q5iCJpQzWUD3TwCoY","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":"iAy5LCr7GkkfCHZMEHHfk","name":"TMXUtils","brief":"","type":"NSDoc","description":"

        a collection of utility functions for parsing TMX maps

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"i9KNuu5JMWn5IkMizxuuh","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":"r_ZGVUjzBxSF3B5YsD0xr","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":"ZIOzyxDGbW1AZnwHDPjfG","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":"-qksTTFAkXbFR9MM0EC2J","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":"oK6xoVBUKDny5e8O1xq7K","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":"nvFZ3R2AuZPOJkY0BPUGF","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":"AMhJ-3CZOcKn6xJ-UZOMB","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":"i6bThU_Nra1R4BKIEZOye","name":"utils","brief":"","defaultValue":"\"\"","type":"NSDoc","description":"

        a collection of utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"63tYRhJ7dlYBLo1GmJOWP","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":"DLoHMoXeOX_CA6FfWKT5B","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":"9TbL0-7BrhXg3TzK_cWcF","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":"oJytxazRF4lyb_xoD3aA0","name":"array","brief":"","scope":"static","type":"NSDoc","description":"

        a collection of array utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"8JEzTHUHmWRPUeoKJVRL3","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":"AwcC95XgkG4SPRt9oQCc2","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":"5skFvI1d_bZ9VdZZCBg86","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":"Cl1GTFxNDA-9DD6vbwPra","name":"file","brief":"","defaultValue":"undefined","readonly":true,"scope":"static","type":"NSDoc","description":"

        a collection of file utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Ot7EQvj8y2nyfcTQdD_no","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":"ZZAo1c1nE5na2AVktwHR1","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":"0GhbWF4eWmTNGkrJzYip3","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":"x9uKW5wQXaFt516HFUJ-P","name":"function","brief":"","scope":"static","type":"NSDoc","description":"

        a collection of utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"RVSfslF1t01NGjec7-hjf","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":"WbAIf2GZCoZy_oL8la1QA","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":"NrChZyezNbAEIFhifdJ-m","name":"string","brief":"","scope":"static","type":"NSDoc","description":"

        a collection of string utility functions

        ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"5RvMp-qPASW8EhUf5Wt66","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":"uASCkT2TNKVM0KJdmc6BQ","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":"MA-b1b_0phCJnIF7S1S-o","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":"n_y9iWDIbMKZjoX5ALrqY","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":"ZBwEm8xXi98Kz7pAcMr4Z","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":"neY3RlcqVO0zGxSkIEimm","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":"wWO8AzuXqzv17O9Lo1oGX","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":"RLzGUtQ42cm9jo3SqSuNA","name":"debug","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        display the debug panel (if preloaded)

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

        show/hide the debug panel (if preloaded)

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

        draw the hitbox in the debug panel (if enabled)

        "},{"id":"04J3dMeKplx5rP5SV2QRT","name":"quadtree","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        draw the quadtree in the debug panel (if enabled)

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

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

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

        force the renderer to WebGL

        "}]}]},{"id":"ANvAoUWN6dI9bAI030y_W","name":"video","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"2YTGqFpvoqiM4huX-Zbvo","name":"renderer","brief":"","defaultValue":"undefined","type":"PropertyDoc","description":"

        A reference to the active Canvas or WebGL active renderer renderer

        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6jfWHg4FpSkt-OlK3iFWB","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":"wfJEMU6uOEZNaE2MuntvO","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":"YF1el6rTMlsc0yIVn5jTM","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":"YUhnTuVGLrMTjRMpl3QpA","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":"1Se6ilYEDH3xHjmHjGTvn","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":"hNGDfRKvCiJw9WctWSx8q","name":"antiAlias","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        whether to enable or not video scaling interpolation

        "},{"id":"5Un_LokzA_j_5GVOb9koL","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":"vDQLLtyR2LLNmkRi0KuTO","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":"S4GFBJSNIb8JHV035NznH","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":"0SyGG675cdmX6d8wxWpQI","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":"DoFCZOdx6me658esNH6uf","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":"T0d_n5yUYxx7tHKn3Is_Q","name":"preferWebGL1","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

        if true the renderer will only use WebGL 1

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

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

        "},{"id":"4Q12swzb9DIf-Gt8wX2n_","name":"scale","brief":"","access":"public","defaultValue":"1.0","scope":"static","type":"PropertyDoc","description":"

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

        "},{"id":"avcHBHKZh_Ds_w2ns45JV","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":"85sMbBW5mSYMo9VHSQ348","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":"9My7MPD6RFz2kKEmd77f_","name":"transparent","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

          whether to allow transparent pixels in the front buffer (screen).

          "}]},{"id":"Q-4b4ns1jHm_cvEm88jpo","name":"isInitialized","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          true when this app instance has been initialized

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"64ddTRox-IcnY1s7x76Ft","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":"wIPa_Mdgm1KTHkV6Haas0","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":"z92J17t7JX5Ps89W2q60X","name":"parentElement","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the parent HTML element holding the main canvas of this application

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jTPaorU_hWE5nk_bpYlHB","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":"2J8KI6EXmPtpYO6xh9OqN","name":"renderer","brief":"","scope":"instance","type":"PropertyDoc","description":"

          a reference to the active Canvas or WebGL active renderer renderer

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bwAqKXF1ao7rZxw0s80Os","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":"8ksC8YdS-HfwToaB8VWV-","name":"settings","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the given settings used when creating this application

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S_NQe4RjKV3JLUq2uke91","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":"RMKyCKtEPTTWMS5G4BDia","name":"stopOnBlur","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          Specify whether to stop this app when losing focus

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SlpFgokpsLMoSzvP860mQ","name":"viewport","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the active stage "default" camera

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hf678Hcq9MXJipNjNhu00","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":"yRLzOt1U_c1R504aPHZZQ","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":"omMO5FIiV-mD9WtVred_C","name":"draw","brief":"

          draw the active scene/stage associated to this game

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ES7KxCC3e_VeUH8Cwz8jD","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":"2urL46aEku-CnTgE8en-Q","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":"v9B0eym38RddhXd58i_jW","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":"ntLDFjSIUtmxbe5AFpF1S","name":"repaint","brief":"

          force the redraw (not update) of all objects

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-ZDcVCbKiA7zUvxtLljkJ","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

          reset the game Object manager\ndestroy all current objects

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NqscKmMoNxMef4ZWz1QWw","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":"khoucMmsHi7HU9ZZEDp_C","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":"fr4p2RjxmOGSN3j95n7Mi","name":"BitmapText","brief":"","type":"ClassDoc","description":"

          a bitmap font object

          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"a9mW0iRUAq5gqUFBRfiIl","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":"V4fkDmbdu2naGYDsVHyAF","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":"iQ6rAygvgKhQWujnVJHly","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":"SAcv7gKw3PF386UDEF3yO","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":"lSpWB1-igY1bQozhSFJNB","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":"25kIeKYHUOmqqxWGbQYBS","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":"CmELXgAwVlUkHl8Dzjfvm","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":"RBPeL3y4jKa7M1DMR6_TC","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

          bottom coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n_dU8RSWNc5O6itSUBRW_","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the horizontal axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l57mqKt_s1BcXYhdjApfb","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the vertical axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fwIkltPi1SsR-WGYpNxw_","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the renderable default transformation matrix

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s5X0SRCw4oZMxNH9nQPJt","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the depth of this renderable on the z axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"37gPf9ipLv1atyuaoocnZ","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":"6cqra71MM1z6V185KytTd","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":"M3X7KpHuMLF029b77XLyZ","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":"tCQyRSo34bXOGA7X5Vd2l","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

          height of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_8HyNYXnmQ2JLgNdr6P7A","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":"rVxUCS1qjxovFSxWr74w3","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":"jO3sRLzK_q7UqNUkijnKL","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":"GO-LsmGbBhDwlVSk1016A","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":"S0Muf0miLjS3UBEfrSG57","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":"NsBhbdCLF5VTBOwoAmzyR","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":"Xw9LBFd-rjYkHu75uRNMz","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          make the renderable object persistent over level changes

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vJyHK6utVnO6Ezf072SlM","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

          left coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5imppCxqsPkkkJIh9iiVr","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":"yMz623o9NgXBSQEo5DQhe","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":"XOkNHY9bBrMbv1rkzu2CQ","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

          The name of the renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R-3kLqoihCyYw8BPmbu_Q","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":"6Fng6BKpqHCmJUg8pYset","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":"MJpphcK6O_lZZb2AmcNMO","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":"su8Yr7a6AoOwQfFF3cXSn","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          Position of the Renderable relative to its parent container

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U0QguEVpe-uO5dPckavqG","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

          right coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t55784rLrX-m-BN_4UcNt","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":"7Ks8a3Qt50RtkDiDzOFfu","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":"eaxlXcfoonGGJ8xDDS4nS","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":"hCX8O2XPrkc4kWsQdmxVH","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":"36mnHVHJDqx55UEHeHiLl","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

          top coordinate of the Rectangle

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

          the shape type (used internally)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AXwS3oSrGbb-38vzHEMCH","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":"4ydLzM6XfWGqFA-9rBsq1","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-QVk0Dh_WSYklwFGTqorG","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":"m5Pa40tDDsoxvMOsEs_Zx","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          the text to be displayed

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QOjtDpSX3iaDUU0kYFE_U","name":"fontData","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          font data

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CNE546usykuBdIVmnFlfq","name":"fontImage","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          font image

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vWY9aq-ev0jr6PGz87cja","name":"fontScale","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

          scaled font size

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ef0D3GeU3l1FGQwyWLqoY","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":"fW50wWfWdrcTsPt62-rC6","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":"7rOeY_gsTrg_2t9K1BW8s","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":"m6tTATNeD3BeyDMIoe4Sh","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":"qfKLcNjZGdBdshjmWCscT","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":"9UYYQ4JhLWfdzJ3zlSod4","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":"jtgGFHhblTA3Bln0BXSx7","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":"kZs4CX1XQFBQPM0yhUI6G","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":"HCFQPyaGONBT6ezk4PKAv","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":"A5H6WnrWn4Enyb9ZxlheZ","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":"RIu-qeLrGC4Wb-tS5zHHz","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":"wcVCSBzF3wJ4eYzHB66vm","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":"uZ0VcVuSoXCj9Qr2J77vo","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":"Ov_955IgHFZgttHK2Bc39","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":"TCO98E_1sms4tKx7JHEF6","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":"NLiUdHGAAg0nvsq5FaNXJ","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":"raryKhSe17ElDXIeyG9DO","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":"SqnIMVeNYzUji-TOLu5Mz","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":"h4SNus35u7AAdDAhs_0N3","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":"TcZ8tfud9OedAvMfgvtqI","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":"HCnUZuOu_fsXAABk95Ptv","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

          OnDestroy Notification function
          \nCalled by engine before deleting the object

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1IWft5b0Mo88aXXa6f9bG","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":"Oj9bHKjauQmU4GsWM2lUw","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":"L2Yea6gmE0wxzzRuFEVUH","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":"SdwxbIqWn90Zbe3jNhASK","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":"9irsk6uEtyiOEC6X-R_9L","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":"PJQAbpvQ4sCwRnJjSEHS7","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":"uwVhlJVX9jDs3HEd0mMQm","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":"q2Bpty-GQpEz3jNfdoZgh","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":"mv3-x4AfyVKHzXcBIhziE","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":"oKCE-nlXadzAJNGBg0UsU","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":"-9Dfy2y4bCkn3hkgyRy6m","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":"cokmlm2cTNN5rjSdBWH8n","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":"XLrMUAbaoZPHeAsaeQu-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":"rNQwQ3ahwAwHSSMn7bFae","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":"a6_X2-31CMP8gwmLT07Kf","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":"27xESInXSPG83UNlcKjFv","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":"QSP747E3UCA4Vp-1Yrr2z","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":"HlLu9nhLU-cq4CD4mizqo","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":"C_259ldAcKTFF8W-DQwov","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":"i7U8h1uI7FJuQZYEsSpC_","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":"yS9LSKPnstN9UcNm2RXJX","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":"zrQU3Og0jK5Ju-VCrqlEP","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":"m57OeRCKWSXzm00NoAcyd","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":"HhkjV2lFV0s8LQdp0Pn6B","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":"03u6-4Fp-8ULv_ZIBabWG","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":"kelgWc2zUKm8JjjjVPRjq","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":"NQ18_wrwrHo2-WTHkaJZf","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          The AABB bounds box reprensenting this body

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dbckisZUCFJZ3dgG5XWRZ","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":"WFkzt4-3Wz60mdkSD5Z7S","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":"4aPMyJgDrBrl93J1UVfDV","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":"Q2UBQSGnCNgd5mRyTwD4I","name":"friction","brief":"","access":"public","defaultValue":"<0,0>","scope":"instance","type":"PropertyDoc","description":"

          body friction

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-yevFTVZT-kOgaADLo6fr","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":"N9XmhUN0xog2sILjvg06K","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":"C-jZI-IzyA-1WnFqWskL1","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":"MY0qaBsZ6EcsAEpfguB75","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":"CPRFYKDPcKJG0b3UIS4VE","name":"mass","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

          the body mass

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SgZNPX8T0-OHy2UMNpdtb","name":"maxVel","brief":"","access":"public","defaultValue":"<490,490>","scope":"instance","type":"PropertyDoc","description":"

          max velocity (to limit body velocity)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3i6YKHyPMLcqu-QgnC0FC","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":"o2tEj6EI8f7LVmf-8uUYU","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":"z71tDEHbHQSxh-PWacLiy","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":"c00J_DxlQvebDXw37nArG","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":"hUAugVh6gRF3K7P6rlIHJ","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":"376TnK-CslSAclnnF-SVT","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":"MSmTS5WBm0x_UlYhSUXMl","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":"eK88yRgUjmb0ZiqKgbA9i","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":"liIcWj5E3A7MOfkn_dovt","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":"PXJpkBp1Jvz3ST_88HoR5","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":"apHnvGsGAiH1rqGvZgBh0","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":"_uLvARIK1eBWf6EOBX8mk","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":"CCLoOv3ggNM3D_GBUv26E","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":"q5IFdacU1Z6R5_NtPXiBJ","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":"80S_3uw16WgoEfwr5uT2j","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":"CNifkn_0ymsYyVAX219OF","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":"4OPPTf_MDdtsSJwsMbhab","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":"m2xcWHgn8PvQKpMuFrQMf","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":"39yVe-XldqU3AZRpecxai","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":"G34YOwPQd1Wxl_JQIQnxq","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":"9fnPERrlesEHXqZ_rrOWp","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":"CHT43yJkYANOR86ONimBR","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

          bottom coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iN1IE26sYhmzwl73nvpSL","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

          return the center position of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jiKJ3x1LopVYIB7evemj6","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

          center position of the bound on the x axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m4BLZ4VZg8ZB0Y0HLsvkb","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

          center position of the bound on the y axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p4qv8MQbe7iJXbV8O-gNz","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OWCY3rbbAPTbRfdXvnkij","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

          left coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rKFqoOZ2qIrFhjWoRqwyC","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

          right coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H28vEpEJ0E8h8SEv3fdBd","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

          top coordinate of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m-JFo5mXl2S8VgHx5VzMt","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

          the object type (used internally)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tie8F7nyWS48Cx8MkpoZ_","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MpuaGcPfyAgkjzd2RJnxz","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

          x position of the bound

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PhuHKq01BKV7DwsSj1zum","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

          y position of the bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yVAl0-FR9QAiuZe6wBlQV","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":"TLokXiChQDt_kOgzUsPZI","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":"Zzfl3p6CpQbnxvs4iu7ZY","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":"cfLUmF7riZN3FpwBAf17x","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":"7clqjiThrR5N0XeMGZSpr","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":"gY4bAEWqxLA3YZfgMtv59","name":"clear","brief":"

          reset the bound

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SNi-D9_2ik8M3JuwE6JBg","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":"Zq_gxG4tJRUZPrVrT30E3","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":"FdoE3vqSLR0zptANw-PQ6","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":"Hpkb_P_3ThqiteJgWoaC0","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":"4axwJSapsx0mrMSOhhTwM","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":"mYIdOQ0edCbHYZzuScdFW","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":"IX22DaaF8UL1kGUsalAPR","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":"UyEpaIiQU_f6rmutVQEvt","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":"p7IeLR4Vmruoui77UsX-N","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":"O1SY7x-YO2PzaRxu2SetN","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":"3NYQ2Tpr4OPMHkERzHR2Y","name":"Camera2d","brief":"","type":"ClassDoc","description":"

          a 2D orthographic camera

          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"pfwSbpKQTejm6a5kQ1NEg","name":"AXIS","brief":"","readonly":true,"type":"EnumDoc","description":"

          Axis definition

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

          both axis

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

          horizontal axis only

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

          no axis

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

          vertical axis only

          "}]},{"id":"hiLa5FzUMAx382gd_Sp6K","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":"CGt5xB0dIF9n9ty3rFts5","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":"PZOg16_0S3tzHpLC4hhKv","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":"-CnZDfnuqHq1NQr3F8AvE","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":"HM5zur6KbWzy9eLj4FGRG","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":"S3kcDWKfzWPPfza4ZTcY0","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":"w6qPZJa3SftYaGsFyBArr","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":"znEYeX8iJouIYyvdV5MFz","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

          bottom coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I971rAC4w3LmRpZgU_LEU","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          Camera bounds

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8ITOGyO2XD_yOQiCHWmnO","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the horizontal axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qaUgCuwnVX6paQiami_lZ","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

          absolute center of this rectangle on the vertical axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sCD_sUSi8AffDt4KkK7TX","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the renderable default transformation matrix

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"paJmDDVVZGSKCyyf8uY5I","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":"uxevmEe1iiCoOG4w5PiX_","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

          the depth of this renderable on the z axis

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ec4kW5qjXpQPeuiAsyTKB","name":"far","brief":"","access":"public","defaultValue":"1000","scope":"instance","type":"PropertyDoc","description":"

          the furthest point relative to the camera.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zArhfunNvAYnhxTwCy7VD","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":"2SUwDDqr60GiyotfoIOGk","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":"-32dDaO8eyZn6xrKfasLh","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

          height of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Md7YETsFcfBfhOvXDHQnb","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":"p6SF5es-IF0G30pK9RinN","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":"9Y56Zyc6tiwgcTB-UsJFY","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":"jAlC4aG3SW-BKP8ZJ4hnm","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":"L4Y-QpUP55T_3LSdwUlHn","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":"Y5MaRJ-RXTLxE2i0aoGdv","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":"-hLl7uyFnp9gWIYSJA6yd","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

          make the renderable object persistent over level changes

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pprb6jMQ1mqMXjRwdHRaD","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

          left coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1EyUgdBa9Tff1kIuXyjO7","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":"6lfxYXOJbVpO3ghn0f9lJ","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

          The name of the renderable

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zLq0h6_4H5_T04d1mOFrE","name":"near","brief":"","access":"public","defaultValue":"-1000","scope":"instance","type":"PropertyDoc","description":"

          the closest point relative to the camera

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yqB8dqqiCp1UMbr7vVS_7","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":"CO1ubxeiYLL9eq5oOpnND","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":"I32QE8q57HvKN3DvCBJcZ","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":"rsO5o-bCJrYS4oNzj0VXA","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          Position of the Renderable relative to its parent container

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X1pQ-8PjrHClUmscazslf","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":"uS-4SNF-_MSJInsVDL8tj","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

          right coordinate of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iQfc1PVMCu8aHmR6xjeB8","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":"oviECWz00btm1HZnL8d5-","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":"p517q4N41TLDldvXGR0wJ","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

          top coordinate of the Rectangle

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

          the shape type (used internally)

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WZ2jg5kXh0HUm_Emf1nRm","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":"jlTcxUnV0NGobxW2qoEwF","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

          width of the Rectangle

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fIa7iFdBc6jYXTHHUOCuB","name":"smoothFollow","brief":"","access":"private","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          enable or disable damping

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m5E21sQXMKCHi1nYWzk8T","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":"NYLtxd6tGpPl6SD36kDT4","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":"lLN2obuxunAn-yCkRc1rc","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":"9rl-akVr6XdqzcMBRsiH0","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":"BwLqmMuEZAjMHMcjh5usk","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":"dPybNq3Q_t9RHs1XQQz4q","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":"PvGwIQ9Ujvf-S6o-KUivI","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":"8ShAiikoERzDhlM5x554-","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":"D05gRo3rzO5RL8p6KSwJO","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":"VccUbgXMHDRypj5AX5u4l","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":"a5cRs4D2ECJXtMRneI6Ii","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":"yOO2R5OkFqusmgVSQmQDw","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":"tdcGFBlF_OSPjWSLxzA1L","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":"XBcyvFuftbcbMVN4keiHV","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":"RgCZr3QTOpW6HeXHHfLwV","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":"QVq9OefJJGs4ls0GdCbFp","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":"rRDgieupcWF6hBfUFUhJL","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":"8WM-FSuOoxL-m7ErT8C28","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":"W2hhALvTVVlFpM2az-E5D","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":"vzP4DOVkAaP2SFds7jg5o","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":"RxzB4CmslRO_aEiyGsQa4","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":"wuZVh3cjyQqfB0wtyFsQx","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":"sIO8CtYnjIofUcPQm7WLH","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":"DtLPvkMOBhAomym1Nz-AG","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":"BzyrpY_JPmF5kkANX-0jp","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":"fnpFiP0EZoJ5OPXNE5Lek","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":"yhEmwsvJg8-BJk1PxLjjs","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":"gIY_0uUT70D8pkTHAKuBI","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

          OnDestroy Notification function
          \nCalled by engine before deleting the object

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2SFKI2fyOWinAhb_Pxq8y","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":"-cvxfMNtnvtqh2cF2sztV","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":"4pVru5JUJm4k8ibkxv6IS","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":"XWzBdPKKGJgA8GYIkX1IZ","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":"WQ74oy-ipvnIvYW_ucb7H","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":"LbUFpYSe3agI2J5lAoIwm","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":"TEf4yMKtA7P_URZ2IO4N0","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":"J3jcIPMAp0f4Arqsph8_i","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":"rk3QpMfgNXMXenrMfSXhb","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":"Y9b4h6jsUDJMaZEUJSoZT","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":"Pn3DuDnSbzrqqWDctu7jf","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":"_1LTRi5xGHzp5fBPqU8ib","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":"LvJjmbH6cTOHB134M420n","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":"5tuFWdlSd_KSu2hViFKBD","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":"ZqV7gAJLo2A0HAkLrd4Xg","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":"7uCRxShI25uvb1PAuLnTW","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":"jACWSx765koJzVWtxb1HG","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":"xrjcKrGPSKepUuFAbcwM8","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":"qO7rf3zBRQL7RDzVuFdUo","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":"a4QSLykAiHaRdOPU3rsWy","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":"7WKSBuSWuBveBz2TT4izq","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":"g7Tb4HozyFegOV3eWfhnV","name":"unfollow","brief":"","scope":"instance","type":"MethodDoc","description":"

          unfollow the current target

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ek68vfsV9DvyaXrzufLNW","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":"nh-s6nDIkvQQrnn6faiFx","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":"21lpPNTfXK6fUyy1RVqsw","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":"GFnDAuhFb0SKKQPuOIT0n","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":"CqDPt3s3rLgi8Z_izaHLy","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":"8DeyrtpDmfXwvJSLGa96A","name":"CanvasRenderer","brief":"","type":"ClassDoc","description":"

          a canvas renderer object

          ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"jpmP29Mui3BL1khIZe8Gh","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

          the default method to sort object ("sorting", "z-buffer")

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZCcehtJnIRM3APfneMV18","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          the requested video size ratio

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aAPpyvHg2WCTNWv-cvA_F","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":"QjdFagi4mcY--xGeTf5eN","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

          true if the current rendering context is valid

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pHVvFmRDpzctt1anjpuzj","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

          The Path2D instance used by the renderer to draw primitives

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-IfFM_A1-HZtMErFY1JMz","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":"JH48eLJUQLBXU8toGbT_W","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

          The given constructor options

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TLttITdOOwk_BpRiU4L9H","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":"5oobV0Y4eSQ97TxRuZwke","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":"iO7Mt4SwoptF49OtAsdq7","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":"GhnhEkyiMqGcCJK_i8lBK","name":"clear","brief":"

          prepare the framebuffer for drawing a new frame

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E7d7ba5mjpceNz7xLHPXn","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":"EFwRFT1eIar_DGtqwDseW","name":"clearMask","brief":"","scope":"instance","see":["CanvasRenderer#setMask"],"type":"MethodDoc","description":"

          disable (remove) the rendering mask set through setMask.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pM5qvt1pU-IvAn-ZI242_","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":"psAg3hJye0fsiKfaja3J2","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

          clear the rendering tint set through setTint.

          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VANjriJnnbEgATGxzloLz","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":"ZNluRbyrYy15of_K9B8jN","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":"pv65ZBlMVv6ZWH9siebRP","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":"_-EiQ-dJIpYVPV2AwlpTi","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":"9vDaY_Z5sIuqQyxtLsF43","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":"AgBqfSGMZHCXI1tTZ9M3d","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":"k3cZ05w3PkGsUTiyr3YIz","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":"FipivdHuMgYUo90s86vMw","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":"HgUuFTMZiSzdOhe7iwSpU","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":"9plYU95hODacuAEpMPxgO","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":"tlNSfavXhjJ8JFSTOHrZj","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":"1Gwa5qRIUJR7bNZO6uYyj","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":"cjRSpXuFTFa26GYRlOCvH","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":"m_wz10fLjiVtDPEtrwctX","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":"bBIsqODrP0jL9W__BkB4G","name":"flush","brief":"

          render the main framebuffer on screen

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X9rI9RUwDk04_tGq8TN7Q","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":"NsMBUXexE-5dhi41eLsFp","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":"MT1ldxOW6onjMauU0Zob_","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":"zrczk_ROKe8yDu3zACGIu","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":"1VrAUyFqTtILf3AxHe8Nt","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":"ShEDu-RhJ8EJUMXkrP63W","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":"F_-vFmmTNqD3AGHmtpJcD","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":"EWPr3rgokib2R710_bO8s","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":"yzoq7cgw_uZOqQIRvv7dY","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":"gvNxbt_VUZY6u8ZuN4S-F","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":"ygma7u3f9Trj827fv6Ee_","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":"NjEPk9ckCMb75LKx6oXhW","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":"zcveWw8T5izFyuFAWYmqf","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":"Rg4czfaP_z7ME7rWl2XI2","name":"reset","brief":"

          Reset context state

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s8mLz1M6CJ6sRE67_OFCL","name":"resetTransform","brief":"

          Reset the canvas transform to identity

          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K9zEcXP-6TRt6dyJ2kuVF","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":"ayUTUrqrVpis62XIE92uY","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":"ue45mzfbXCD_NaAw4V5nd","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":"gl6q1UjdZtSF_o_8uWf4_","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":"Wqgp7sDBFMuRpNOHJr2Pt","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":"rOB9o8S_QTiU_NWrI40h5","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":"JGJNGmXjgRLs_zB6qmJKl","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":"JTsmUfalO7nefxOoW2mym","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":"iwOyl4dRCon8lyq-ETb6_","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":"BtbeJ3A3CYAvo41QmZk5y","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":"DwW9PhWAoaOlNubUu64-Q","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":"ws3LYUP6L-BmMaWr_VSv8","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":"I0kQN9t5vRarZ4W9RxWe6","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":"GfX488EELIumDI8N9BUmY","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":"8SZ3E3Gg7S8_IzptmInc5","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":"Hmo61sslqR8x29kCyuiEm","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":"KYhzeyBwwOmZ2yJ2YGqJx","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":"l9XVqj5ZaHO0gU7K5Re-L","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":"FLVxYGgNuz1wsq8GXO4sH","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":"F08tEABLNujkE39BG1nNC","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":"aqUZt6vo3dkEwDIAhvjeg","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":"WXUN6llzG3F2SKbP9KkTA","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":"WFAsacHdNSn7G8V1PPW_e","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":"Ma4tkFAg1qq_NdARi8f_9","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":"gsBZhTsIkDQ38bdyXJ_LO","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":"meP2-uExAv1Z2MYLuT2MG","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":"x0cj5rbatRcJQ77q3LQjW","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":"Lhi-lCk9KTdi8ItuhYBNs","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":"Jz6N6PSJXTsJYNIuPRZOd","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":"8Yfr8xW-L4_h_VuwjXw4E","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":"f8aqavqmfXDzgdLrzmDp5","name":"canvas","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the canvas created for this CanvasTexture

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0WYxXasZkkJxUVLOys8UV","name":"context","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the rendering context of this CanvasTexture

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTTSw_o9KnoHfbJ4KyDl-","name":"height","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The height of this canvas texture in pixels

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mWizJ1wV0Q8QO8ATrEEy1","name":"width","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The width of this canvas texture in pixels

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-KOJhOG5wo7sMNRIETJPC","name":"clear","brief":"

            Clears the content of the canvas texture

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M7YWQ1SB7lVxFnx8t0CLg","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":"uSRySmM1Asows5Y3LIxaG","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":"ipnAjC-Z_hxGJQtov6q2N","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":"-FgdHQM7lwspL4EckoWzj","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":"GDoyOt19Nukc1_3VXEM8H","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":"-meMadiMb6_zSlYMP4zYN","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":"5_uBZVpvTBpTkUmF1vhpC","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":"JIaVysvqlehA3Z81pGeCE","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":"fdoX6L76qCvMnn5WteoIc","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":"6WUUgLuVcq4JDA7csrY69","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":"hWc_AE_aIRtvzKiowMW0h","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":"i_rDmA7fto5e9cYSoZ8E0","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":"TL4AMobfR8NS_0v7FvMQH","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":"AQ-vcpSLVY0SbguaEHOsX","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vZuj7FixWB3h11tH_wdqS","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3a4e1OK758UQnyg4YtKyV","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":"gmJrVTnewx2-UQbWLZMX_","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":"6R_qegitJu5z3AX7aXanI","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":"C1CgbpLhb_aJrgxKWflv2","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aTA8p3OGsSuLVzu_D-18H","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_yqD7bIlBGdRcI9c_pwth","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Snk8xlBnepWQSL88PNLlk","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K0Jy203B6XCZ8Z5gmQKhU","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GWGFrNHrkLRQq7_ohn7IA","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":"BP-Bwq8-m1e2JSkJJsHn3","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":"_v4Rzr4c41Yps8uqA2m6W","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WKxQz1Y3nmkT2ShtzUqhX","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":"wyEONBaNYV9QKxRF1U8FK","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":"nutr1_k71Qu5J4GX853pY","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":"bnld498qATaUCuXjxfu72","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":"mjb_cua73BW7XVRoNkHdQ","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":"gh03rurcmJ1KRt-dbQSgs","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":"TS_-U6ynVj4yNs4k__l2T","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f59OP7mQjbpasF-3ZQgrp","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":"mzBG-y_fKwIGDXBLxI8NL","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lXWKddbosFPmmPX7Q2qUE","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":"DHe2asnTrwfeCTjaozMzf","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tmpyiP4oe0-6Juajyx7st","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":"guhbddy34f9gG4w2T1jVg","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":"ZP-taDLiy8Nc4NbtbktoP","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":"8gaH3QSsK0b_SoP66uY7A","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":"Yzk2GVTK3YhTh_Ch2rNg1","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1IxE5kc-J45-HOSaUJGZD","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mvctgy4Hzpzm_7RDrt-Vk","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":"RPel8ELNVNPf16ACcG0Kf","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5X1MHn14Q-ZtZTCR4A_kt","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":"pOKHxRghIzsAHoccaeegX","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R7fEUBv4XvTaLLdVXpy0h","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":"tq9rJnVh9zgkD8_SsB25W","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1ylCG-leZDYqfr67uQJHF","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":"5ovYgzMh1cGZglrEr99Sz","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":"tB2olMmF-urTMPT3U_nbt","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":"IIH3i0_vGTWqq0ha711O0","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":"nnRj_LDVesri37Oc3Gp4Y","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":"m6pSMU-pPFbDjmYofNUQq","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":"zmI8g5VhO1jI-aAgeFWzf","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":"zLN3GU-SRMo0TbKkSya7V","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":"aage22VSxQ9QlW0iOhQ0H","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":"aPLwqACPe8Yow9J5LonU5","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":"M8BVzl1Lgl295Z4PWiQAR","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":"YxjYuz_3S5UgrIaiHE3yj","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":"2vhRa0_cO5EnERoZDbzCo","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":"A-9iWIL8bbAbfe3IPR0wH","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":"4XCl2SiT6xk2xkA0FY_y-","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":"Wvb1Md_lu35WiFN35RIDO","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":"O_EDzQExMOF6TMM8UeJ_p","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":"9JZk4Rs3qh6b3l0wLMoZz","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":"rrrdpWkdGlun41JRLsBAh","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":"bRTrJlh9I8LslJP1SxEEl","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":"7cMKd1VLEREHbBNXd6kWG","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":"V6IMu2fWOsKjRD4hjZ6Mw","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":"9WQMcG_9vik5vQO06slVL","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":"TsvCePDqvyQ-ztSY9LLCv","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XcKZEQXA0AeR7grFK9ltC","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":"mLJCtkiHNNenlcMsiA0Yl","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-2foxM4g-T41heHuvNpAZ","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M1CVhCbJZkMkNorBDf_Jq","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":"ccgJvh9qC5YsTyvPTYbYL","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":"OEIDNbuh_b4qHISSCR1U3","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":"w6wKrZ-38TlFyhPy64hT5","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":"g7xUJVjnnssClIYlesbLq","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":"UGOLaMjsBP0MQMiKap32P","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":"o60IBvJkJc2l2gNohvN3y","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":"rgi8r7zB4Jj8rAXHfhFoA","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":"ZCLKNzFhv83ZoY6fFjK_L","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":"FGOISGi2LtvtQo2hI7VN5","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":"UZMcYIjL2R51ZjuEzbDWQ","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":"t5SToQtPFFCuAE3fjs2lB","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":"49bkIfE8bEXfDSwS3ucOk","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":"zN-hH7MBcXGDWh077O1wx","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":"6mc23_uW7s7Jc5MMozS7N","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":"HTNmQyzNJTad7QIO3kpCK","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":"5pmPOPsGRSOox7idB3U8a","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":"Fhe6fdTvs8JLZrWrUTkSm","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":"l_4C-hJ_I-S5ppez4qqiw","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":"gnbz6hKMMwbDv5UiSa705","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":"-NrKfAcPk4P_ABCoesgG2","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":"8gPVU4BDMKHdDfp0cbY5H","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":"krPXw_iU8d6z_sML5ucOc","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":"vHx2qygBgbQPW-cto63DM","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":"A8C7nn49tZNy3wxK--72b","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":"SYPJ21j6CA4rGxy4PqvqC","name":"Color","brief":"","type":"ClassDoc","description":"

            A color manipulation object.

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"3sxZLmkrZ9HA9CSQR0fB9","name":"alpha","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Alpha Component [0.0 .. 1.0]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y9u3euMKp3am9j7s_fykz","name":"b","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Blue Component [0 .. 255]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MVivMrH0EVcXkgy27yasd","name":"g","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Green Component [0 .. 255]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aURe35zvWYLGEzMalHPye","name":"r","brief":"","scope":"instance","type":"PropertyDoc","description":"

            Color Red Component [0 .. 255]

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8zuGWB7utSSm_qPuogILa","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":"GyUQBXHPBlE5KQMNHTHSg","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":"bt-ryYd2E8YVSE60jBlN7","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":"dcfh5KXUhndu7NcBG1D_8","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":"Gw46qyi6Z7CgKNdpPToq6","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":"r36WAl9sfUoxXTo--Kd93","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":"YnfPQEuKYklHvUxVlz5x8","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":"8JanD_iqeZKJzl7J_1qtb","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":"zIIxk2VI8_s2MMlkLTcAy","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":"qdPx1rHH1MVJJMof6JPoE","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":"46Yh_VbOa9hgwNHvcDSfR","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":"7KZzsaU6bM1YEyRgrktZS","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":"8wR_IQL4z9qgUsajk5PCH","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":"0d2bo0qG7AP29tpClQfLA","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":"zByZoAwL-0Nq4L-bl_6t_","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":"hLcTcHfogZqwjVlt0K_2l","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":"nRe6F8rhijNF1A8PSkTpQ","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":"ywUJWxdR9J0aRhetywsHG","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":"b2btwRVPWXViVNjLDwnJ9","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":"O_OMUma0c1hF6AsJYiJD3","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":"fudGkUzscTZdYgxBIHcHk","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":"inBolfXsSq4vyVGs73miQ","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":"nmOv3jbpZ70DKKcwmxhOq","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":"hX308vMB7nadTGQ2mU1LC","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":"GL_2ystjf2PblVPnO9DQ9","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":"0FU756A6ULxbiG7VnxCY3","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":"lDCCjKE5x2sfgXNgQY9pD","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":"kCmvJ-C-zIdIifNl4yXjj","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":"H6EA7dcdF07MJNM9Eov4V","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":"ApRThrUAvl_UHS2LVIm9Q","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":"sAFJ3kzdy6wpopWRtouGn","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s5Q51f3nZLHtbroFBerOf","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OMlugg6uB07tmYyPYl9cM","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YbM_fmJDO1hxUJiNTmxN8","name":"color","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the layer color component

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"frhKGMTOyyziXqOfIqcp2","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b7mNTXjWhABIQfDJm0uQW","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tqMhIk30429gag_f5QNVs","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":"RXq2tqshQwaa5la-K2kM8","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":"ERhn5K-6Plu5S6o2QsGpX","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6dHW6oz_XCIgufhdubVxq","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":"Fbb2YXFHqdlDtZmu28EKe","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":"xQV0b6RgljHd9NI06OlGE","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":"jncMTegugPheFv8c7qjsL","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":"sCGQbgPEqAwBQom1huZFS","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":"E3px_AAr7RMsXmK19p_4c","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":"Kii1DPcICX0NsW_iJhBW4","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1oau-Fs2shhMoaXLRfpOp","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UxXWVN0NDpJyq8GT6r4AP","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":"KO2Oh0rFesE9ewy_wJQTM","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5gdwNqQc1BmWbmHTlwYEZ","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":"G9tU1nYGomywJflhuy16o","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":"WBsoCCh-tYUsnTsqfE_bx","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":"FOivwvmRqy1ubNP18T0Il","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SHG2BkGU3HRlmVIKDvpwp","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"seQgG6yLZnHSNhCXshSfc","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":"VmQjXTLtd3U-47WRnLyEQ","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":"wCJxEntmdExzaF-bNXBRi","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5fJqg34Ks4AfvHrKYOBSI","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q7Mb48F6WEuptJc8PjCxE","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":"i91Rl-_V9gw-odnTaZdwD","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9P8geMzHjtT6eZ93Qrg1V","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":"49XOah0ah0v5Jp4U03xVM","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":"JLbhAR15xEt_i-M7WHyun","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":"yp0GUhCnLz-ooLsgOQtlR","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":"do9dZot_nLjC8mttywO2r","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":"6MuKT-hIUz8StO_eQZSfZ","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":"Wqc-Shk7WeeiyAu686OmT","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":"0q-zrIlj-hGLZIJ6HfPLU","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":"TRr3paIe5oBqifXC0Fgxh","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":"uQM3utRy92kbKYV2lDyzN","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":"42Wdc6TDAZWSgYSI77oYy","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":"qScIunKtAe1-E2MCdexBR","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":"X-OMCSiD3rIKp03cKJUin","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":"6bYFxm_t9oBXlvwYVaieZ","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":"H6o14S-fy2qb9_xw0b1WQ","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":"Bhsf2F3TmfT0wHd6uk2Mo","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":"cvgtssjYMeXcZf3VegfBc","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":"EKr9NWc8h94O7bDqRWIEh","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":"l-7ZgOSmRzIskdVwZYDxA","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_Jm68he40jzpp_TFq_VzD","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":"yFe5rGao7Oji88Fbu3CmM","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":"WWNU4ooDeoh0RwRRJ1fXM","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":"4YGsWlyyBjbnYWWrKDFnU","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":"dhQUwg6_VcxpHTz1L5syr","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":"fHGf4PJP_xvbH53E6qX5y","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":"Yx6SpeJ6beHrmlueh5Vlq","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":"5L6CSWMzahERJ6sl_cnqL","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":"RgLgRZBIx7qlHRDNTL4th","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":"qCICYttpLBoMcReKeSRxy","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":"CW6rNJ6AWSjT54HsitxeC","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":"5UV80ski9z4YV2ZFTRLmO","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":"farI9uZcPhcv4K92t_HbI","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":"hqtP3argEljCcsYTM05ye","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":"WDG12A2Zynjyo2d4pqXDr","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":"jcXQA39CtgtD5J-tlJG5D","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":"P1mDOI0qq6fiZ5EHP0eVW","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":"O2zdR-uh0jz9YB3m0KURK","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":"oH-V4pcdBDzXapmuc0nis","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":"LgW7GCtAJ6-ufs0ITR9M9","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":"oUtV2RnbPm76TFVMslx4y","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":"0nysdo3R2Kr1QL3PDXD4R","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":"u10rfT_KF93Aufg5lLj1-","name":"Compositor","brief":"","type":"ClassDoc","description":"

            A base Compositor object.

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"J-CFJsUQONhtUyU2P5rJf","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            an array of vertex attribute properties

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G3lnDRjJUVUPkDWTfNbcA","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the shader currently used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sGr8yzkPGR6JO3_TV98lu","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the default shader created by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zTzTR5CVsQD6uUOYQDZcX","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":"WFXbERgm6A-52__ML6MSG","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":"4BH4Yx_-MMNuxi4MBNFuW","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            the vertex data buffer used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CUFzxX7pCsGq_YidBXjdj","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":"_gZaKDxe21Wafieb8o10L","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":"0-C9Kl0hAyfZ-JXpnTxuL","name":"bind","brief":"

            called by the WebGL renderer when a compositor become the current one

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AhK8Tgvu43UbZPK5au4kd","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":"W2WCE8x9eZiHBnhFU9zhU","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":"zMYVwOPsQ12bbSmQEUAtf","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":"YI5k3yj2E-UKhQYKfbq95","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":"M9gkIW1Ez9mL42ZdbouRs","name":"Container","brief":"","type":"ClassDoc","description":"

            Container represents a collection of child objects

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"kf0BleS9Hqgn5YQR2Sf49","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":"lHxWNugBB3XRZVn6mn0UM","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":"CCakI3JM13rYWzJGf9sPe","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":"qhJMIWF5Xjx-ueCS-whoy","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":"DKBpv4STwZkMxn1iWzE6m","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":"PYJSWWbCe4t6yap57fPLI","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":"TCCUmU4pVRGwdinG3TIRI","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":"l0mGOqFCIZp54L93Vo3u1","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":"O4_up5kQ8DY6Wu9jWMke2","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":"ke3zJsJBDoym2hjhSj3Dw","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":"4pZhQ7iDTkb1B2X9_44eq","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UAcrZ2sl52ClGFJ0DVouS","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0M5lLlUR0XqRElk_TrNZV","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WsmDlQfo5tLpIQLp279B6","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":"ce3a8oFAoRChIHQwNSqy2","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O3HK_rVuiiQYdoG2E37bP","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NEGQ7wASuU03J5n5GCXC0","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":"viuwzkQf2JgRlGnzqR7gU","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":"1uJJ5KKyb33HwE_uLowq6","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":"YkuCex7Tb2ugRGvEG6SXt","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vgsTa2d4Bt203gDuFfoME","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":"7cKb3tHSxQYp6W1ZB23m9","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":"d6eKu89a4Y3aUvn6jnYMb","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":"FM6hcX3xbuALEf2P14zko","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":"YAFyIrMepcOeGYo-lTml3","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":"URaQcLZmSoJ85x0t7ZITz","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":"RoU6pTGJHZZ_qnECBU8_0","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"91mQkoi9P95FoY0PElAEV","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U9qoTD9xu3sJyZBo1Y3ZK","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":"W_ikCg14M8y7N5MvLT4_S","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1UeV2zdHwmzsHWWBT5MNC","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":"08dwqtclNWk6B0w8p_L6R","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":"ulVPWwvfwYScfpO15v9kw","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":"wkdrxKZe_UNT8ZQZQ0c9s","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bBKJQKZOxL9hF5JZpSsH7","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b3tehoWOVnLgmvvG5Ikc8","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            whether the container is the root of the scene

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8dqfxhjDDTr1o_YaIJWGS","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":"GRjGdn1pmF4tNU4ffISNQ","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":"eAjdJP2Wr1K6j_CewVqh4","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":"H3IX9kHUeR0JYVpwvY5ve","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b_qLeYMhd0H-GTH7dtvpl","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":"On7KZS7UP6zyLVbLyURBq","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uTmjb27DHJfTz5OBaOf9V","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":"aTPl-HoJPNHocLdRG6YZ3","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":"qYP4yXQDW804YPiyPIxaS","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":"HD-M-CCOw0uAM5AeGTdw5","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":"jCNsVLdlB9HDjlBimbPeP","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":"IOfBexPjp1lhSO5z90aEa","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":"Gb3cSOeoWmJ9FkT8itynM","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":"WDWUh9_AzOIngp7TfqWZS","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":"6aMbCcl-GYRQiTMfS3QWw","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":"p6rw9GOrBmVMo-gCwCSC1","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":"YlsezT5ioA_wdUeG2qil6","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":"ExPhSXXmZaEL3AuS2P-kD","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":"gZbY3pxpENY1gkFkKnyQN","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":"kTsYMgLZq9qKrRfap1RWG","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":"ENTCnF_S6uOpxEwjDYIb7","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":"o8UZocUjMTdAVIgrQLz40","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":"6qZhLvrAngftSNAcWa_sM","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":"d51F-9zprb0Xyd9ZPS3dB","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":"nJEkDqakW5w8VILihiD-A","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":"OjiwSSYL6CeQZmA8aJF3f","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":"qlEsvSy9cXQak11cr5qpr","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":"D6sah8fCmYx7e3AtLPsLr","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":"xJorGCNnw7yC2zsVpeKa7","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":"RaaTVRrsinWEelDDdY7-N","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":"ERu0G0aSjAXZ0OAblsXpu","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":"vmXlP820GYAX60YSJ8nbS","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":"_SflWnKc-VCD8DRbNhMM-","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":"76etIF3WWDhT2uNNZEHQ5","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":"U4Vi9Eiwx1KMt6Cx8Yqy1","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":"MpZM-xnvA1nPT6FqcszPM","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":"lom-OzbyaISItwrVR__s8","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":"iPb-N2OSLXLX0Bsw-G5yr","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":"LTRULFlTbFN29LWeco6AR","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":"ny_TvIChmGW2LgqXl7KuB","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":"BychH4kLAcRX1Stoy9CJI","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":"DyC-NRK07dWX2r9s4Tzjj","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":"Icc-1L0iW6bmCkC2mhno8","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":"1APqTBCks1f0-qOhEcp_h","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t7e4cNkgDg3IA4hc4E5nV","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":"l8XiILa0eOEkHdZMMmem3","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":"ud0ikwFqsz6n9C6kET1vL","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":"_yH-nn8zOVi_z9BekQW96","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":"QRmZuJJ6Ulu0s26q0INu8","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":"A9uMyn3n0oy3nBHM4UmG1","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":"yC5Cz5SC2yXrAx4gTRw4X","name":"reset","brief":"

            reset the container, removing all childrens, and reseting transforms.

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r5jlP86ekzMrOuXSb362l","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":"ulHRqxanWexvC0uygagXl","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":"tlkHJIgxam4Ik5_H3xapU","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":"lmP9pXxI03H7ovtkba5Ny","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":"mvxbvxE1Ej9fmWTh8XvGg","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":"1IhK8w0rsnbdOYYKwjF_J","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":"T0Lh2Kt0zop5-JH22Wsfj","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":"PUi125rsw5KgOFX39OpMR","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":"Sn-pWslNUhGRpas6-KMn4","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":"JXTbE51CqOLK5Vp6HZCt9","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":"xR578mHNEWCGEybNtgodm","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":"hwiK72H3B-sV9sxDy28Bh","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":"3qrzLpc2q_aFBMLv9wVqk","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":"gupux0Brd1hJCWF45_4Zd","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":"4yVlH-KJz3vaqhsLDjesj","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":"_JqPke4uMDo1hkvNemysX","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":"4c_YTybEe10zxdPwVmKR7","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":"LFIKidkUm1qC8GdX-lwcI","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":"SoMB-heqICZ3bwYc8z1HP","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":"uLjYUYwkL_3h048y-jJR0","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":"e6VVtAhfdDByFAuRvGy6L","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":"_DUtM2rL5uUs7K9CJ_1Gl","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":"oaFGwIflh3RiX79PAY185","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":"7utJKpr4-3eAb0FVJ7fdg","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":"zmNrPNUgqhIfUSM2H8f2c","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":"eOoPcxlX3rE_gEbS9cCch","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":"5t8o3P2eUdVLqypo9ic6j","name":"Draggable","brief":"","see":["DropTarget"],"type":"ClassDoc","description":"

            A Draggable base object

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"u_sgb27LAbn-PrwFAKoR3","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":"TvHeb26NcDfj8zc90pY0A","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":"L3IM8vFyBl18Q1m0WLevB","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":"OinOXsokk9XRPjXidFOJr","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":"PBvkBCXJsvyvrgoI-BKcG","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":"_epVWyGZZ4ifTRu190BmB","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":"20FDYSoKGcoUgm22n6M9n","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":"bliYAerA_PiGQW7oqpQFc","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HrLcZHyvhnN64q4UgfP4m","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mBy5RX7Fq_JRxoZWd78sC","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_k1NcQJpTISuF0X1dIN7z","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"694e7WgY8uWQ4zAJ3JYZ4","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6TQRQ7VUFBpItTPFcB8KJ","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":"ENLhbuVYH4RgEFUFbVn3y","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":"965wGOm_62gZcS5VSG8T3","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E6-EQgqPIE3Jkwj1lNmJz","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":"C6leXVqhid3bAM-9txzzQ","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":"zLgkWlhQRls5AjgSafYXD","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":"f3XxrLdV68TDZzTAcMXir","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":"PlL7TlqDwtn7YhBVbsmoH","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":"Hm644aU7ejTmuiTMuIirZ","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":"YJoRCxlTXakNx0s7Sfzgt","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lhGpFpFE3KPTpY_9sYIHZ","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9C79l1IkSGgXrkgO09SVD","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":"ZDJsmmSj4V-g81dLCM79U","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RnaEehGSTdmgMR0GQlAP_","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":"psNf2myROoAvMqeBSlr1M","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":"hcK7chEuGxYAWrLQC9MJ0","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":"oEIsZuo9XBpZZRCq-tfOK","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hcHQe7Al4ttBWoztrL2VP","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LdMBy7X0a1YPoXawOuPV9","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":"a2pEV-WDfdi16ibaToAU3","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":"NLVIzNx5Vf8XmG-M80DHH","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RJsrYJz01u--yGPCj0oW4","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":"UqqBFRfrgHwyb23zCc46V","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f1GHlJAiB2FKLYJdfDuxQ","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":"sk3bxQYU5aknrhvuyTBSr","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":"Tp61NPGekIBY-Jhy6lpVj","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":"Hk1_qVq26_0tavXZl1vVM","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":"jq9w1hJDWUVPyVnEijxfN","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":"jsAW-89F13G2Qm_-rozZI","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":"0C1Uof_0W6kBkz3rVm3gU","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":"TfQRrp_0QL7g0xbxHFYR3","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":"15eyBTWBgn_u4MMIBZPO-","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":"nQaypGfQEtGomc7kf1hLZ","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":"56jqzxp2mZayD36u5l8Bo","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":"5N2_G0UeI6ZxdvsVkrXD9","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":"wWbhG_zOR5xIJGjnL11vL","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":"nNvCabFADnucisFiOtTjf","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":"JqL0l2BvSmioIbfqdmOhX","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":"HjkI15n1XFpF2ZC50kYn7","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":"X99GszKhldFitvvnR39Py","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":"PA7qfH0Ay4cwUcWVJWL50","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":"qWVgO-lahsahLeBChNEkh","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":"o35_etlTuABs_cWB3_4G3","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":"Z68HkNOahIdo4ewJ85JXT","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":"VcNiKd0EN0BTQkRrnDCnY","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":"rjxaWKPFG5hbn1kvZZcqm","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jqx_8fbf7KVjPQCfdNPiW","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":"XD9K1Wsj-m-7_ALeFX-YT","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":"wzUphEOZSTWsju0XbqLzg","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":"2fKQRUSXMtlM2t3qw2VMX","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":"mk14n0JaiHzgPL0-HsYO8","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":"si-m-MMHnCNvVk-SstQ0c","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":"fjtuoV-qPU4T9Ws3Gqxlw","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":"GJg5uwZgCEaStev6FAdp_","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":"Zzc6EqFoTgAXEsjzweefP","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":"iOYT-JdiHA0rLwlhtXC1K","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":"IxIi6Y2lwwnGtxV9hy8TC","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":"kptvG2-0mwV5RmVfP-btq","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":"qkE1nXA-CqriCS9NGTyOO","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":"Y8RjMGXZMjvFE1yEPziPD","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":"5_m1Co1sPWSNj-m-arsdZ","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":"FntugeOUHobjGFwXqvBnx","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":"pAMDERQ7E__sniNeR8m7j","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":"200ClU08Zb0f926Vz4TjB","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":"lHC51nE_QjM2qsXpNlv9G","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":"EhBgPvXOW_vv8j-m76l35","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":"0zOeRf97_vSCDCZ0TdmLU","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":"XG32amYIEYfe6_ty2m4uy","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":"rzacIyMRJmgKXBJSYMY1M","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":"RECcAazLwAe-4XSa2l0Lj","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            dead/living state of the entity
            \ndefault value : true

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AMKHFL4VdmyUeIoQAGAfC","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":"PbKqk4OLzjRTcB1GBtnIN","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":"jEXZGpE_IA_Ni9LOBF8ij","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":"vkBziPDYmFD0D5FAuiF3Z","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":"x5Y2tpnkBS2DpG-dcmtkb","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":"cATPPUQTyvpDxEu6QMVCF","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":"Cw6btqRLbFIXtfDoeCgGB","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the entity body object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TisOc5z4uyC3y0Sv4b_el","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T0e6PMRC6y1vQbsU_fGJB","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d-Dvp4lNTXkGcW87jXdXu","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YVZjYRXm4SotLUzytZlkI","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n1CHhkixBRuFPTaSmUZ2c","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yQXvRKQpERzBE5JWGi---","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":"KJxw1Bt0v2_jwdNl0Qp2d","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":"QvoaXf4lLWNr7AlrhIYpB","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"89uNrjuUJ0o-UGX-lUj_0","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object unique ID (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KtGrsKU3HRaoT6JfJfz2P","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":"rfzo1u8F75xcSNMCmuR__","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":"k5iBWUY3arAfwq-NlQclv","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":"vd1HCK7hL9ZOfhE7Vq2LX","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":"x1NuD8Zp_u_Uvmel5OmgK","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":"nf5U3VEaL_UaDvUdN7Fgy","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":"sBh-1Y8Kdc7QmKHeZYHcb","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ggRlR9u58bQSTJ-NmcDVs","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xDnsHcMcHWlro5ZK0-2UN","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":"15rZ7GjTafYfRoLH6OT9o","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C8XkfkBB6BwYjiBXxI90s","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":"UdTBzNZtQI8SRsqjSpQ9d","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":"B3YxUICAr5WtuTih3FtXe","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":"SJjPPraxF7lHWqpVpY07S","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dfsImwnU2-J2k59asNjFz","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":"k4lQrXIGdaBQSu5kU1Ye9","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lkkcSjZ7FmIYftlOVFfb8","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":"2lhNOme3fo07qOXSWUWbK","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":"bp5wElzzucXx8Ytse_WGZ","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fHgj_lvH08ek_xxqKDwh6","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object type (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SKjd-P7B-ty8cahOw8KYl","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":"ZlMtUwHIj0i4CIQRTm_S1","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z9Vf3tZQOgqwLkNOWkftW","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":"AnLQTGwHClwRrDjhlwoWY","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":"he0qK8CaXqATV_ybyEfmF","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":"G198XXr6vAJPtbVl6T_IN","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":"Zg2OCuYkKwqukD-XDsmxL","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":"HQA8ZoGL9zyYJJWhK6K_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":"JnZcgWbrvMfHbghgl0N4U","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":"HGfqg9X3EMpdW9mSuJlCB","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":"_Ti-3xmnRfxMcMbOQoeb3","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":"4TnIYGbxIJ0So1AOr-F5g","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":"CT0jlQCiILc-IWVx-Gclm","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":"TOvqN64LwrxY0PA_2DZI2","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":"Fz-Vn-ln1B1UhtOcA7816","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":"Fi-RoKgvafVlZgw-EaWM8","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":"uANHKYKGWvKMCkiSZdOPn","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":"PXMgU0fc-QuG8cTAzJxR-","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":"sJ2PmjBFkAa8zr5mslBFU","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":"1EsYwbttU20PFgvz_a4bg","name":"onBodyUpdate","brief":"

            update the bounds when the body is modified

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HcxJBoz_yTbaXgQBGNC9W","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":"0xiaNiUY1oBMUpA3Kt7c_","name":"onDeactivateEvent","brief":"

            onDeactivateEvent Notification function

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bb1LVE2GfhgGqTTZObitG","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_aeMuxKJJmARFPiXOkXip","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":"8zlR5JmTzkDNkUSN-G_M5","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":"W0h9M7H8SC3lM3h6I5RI7","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":"oagtmJ4z2esTjr21tFiCh","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":"LRU97_I3ftLvY9nCuyHOv","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":"v8lbTQJW4K0K1z70ha758","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":"teZAro_AFKXzvjBUfxdph","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":"5WnLCdXEAUAMWbppTTZVU","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":"2QeSYwNeqiR5AdVhrg8Mo","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":"qRoZdIAesGw-UbJOn7Q6k","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":"GWlPigUhwPZYirFhQ3GpR","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":"QkkonILZq5d3hOC8fcki7","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":"vcgzGPaGty6yxA3m0ilRv","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":"2WJ5_0yNpwE8vADIq9O99","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":"LACHanMAMm9Jk_HANLiNt","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":"wQNpMR_mqj03JoGGfF9IG","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":"Zh9EI1T-U_-qHjDepmSB1","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":"oxQ5vHqXG8f76oYE9sz8u","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":"RuFCzcN9ZNSwvnNbSnKTg","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":"8B3yUxNxqakVX3QkCHoDe","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":"UQOCbpagKIdgdlOUJdKi6","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":"rbaUm2dJwmRg8S0Qlje-Z","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":"feSE55RbflbgYGieB1YyA","name":"DropTarget","brief":"","see":["Draggable"],"type":"ClassDoc","description":"

            a base drop target object

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"CCu1ksURhpQzLKo46FcKE","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":"kV6YPlUevmv_Eg9O3IdWU","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":"D_XCndcD6h-KVsq42bc-r","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":"civ-qMiQlAwmKXGWZmUZR","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":"JA_uGSeU1Y84d1zSxMZil","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":"hgnP-uNqPuizTXSjwXc6x","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":"SGLCFtgWuPXny3oYnTWyZ","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":"e_u1oCOfscrm1glSeBjvE","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1yeVKpVthN44zif2Jqpk8","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U7XProP9624Sk5Dumz0u8","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xz3j6pkPqOXimyIIW2UEZ","name":"checkMethod","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

            the checkmethod we want to use

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1wdQFQeKFBsckFlH6vRRE","name":"CHECKMETHOD_CONTAINS","brief":"","access":"public","defaultValue":"\"contains\"","scope":"instance","type":"PropertyDoc","description":"

            constant for the contains method

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uEjIeZPQt6XlnBcuzI9T2","name":"CHECKMETHOD_OVERLAP","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

            constant for the overlaps method

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c8RwhbpCOpSAQC6JFinWy","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gXvhL3LJeorVeplQUTun_","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ugeQRZH9Xj9Y4OQAcftGd","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":"iXdsQ4fMaSRG8bIG4e4jm","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":"TTvOnSJq4wuChcWT1LLJG","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OARCaFgzX-vqw7qTKCSVu","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":"NK_DO-wBrpEMhuvmRzfSk","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":"6dHvgNC6jt5VlZYCQl1xC","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":"aLGNnKpFiQU0ndzbzIzhp","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":"ke1v_-rJa6Kdtoaz3GztG","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":"O3tW6mnMScwk8xEK5NkK2","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":"0HZ5O_9dFwGuRS4gIES_a","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kOu2qBqEkHyE66n7g-auI","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_kWnSftuRGg8G8Xl_vzWf","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":"8u_4rsnVF9iqfwacz-dHp","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kAOAC0odg0lht4G4ezbG0","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":"ZB_CFu8E-4TwHQNdmN7XV","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":"WqTaTWaMxTsmuqYgVGva5","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":"Yq_GJXR6Y08CPHQIoM66y","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dSuUujUyqYgKn6XQ-ZmmN","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jNp3Ic48DzsYY0Nn7q5Cw","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":"as9e_8qHE9LiSB33J2YyX","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":"lND5p0wxJ-00bL54POLRE","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w1uiAckMpI15Bl813pHV2","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":"IbSPOjfAFX2eiv5YKMlEA","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8kEpLMfWnRHoAukBgmOWe","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":"DHGYUJq0tAW9Gq5gt4MlE","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":"6qyGmF3T9-w2CLetjXulT","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":"d7a5_RtGWvzLnBVXZkU76","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":"M51MD5L1IlQdIiQcUrkn9","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":"psQxz3dSWTFKxRfafTlJc","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":"qZwZHH35eg8gKcLtXv5DI","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":"PuO3aIeJqIOqEzqZiJTG0","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":"VJ6gWAslski8qUeCx-Mfc","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":"n6snIeMQFVHY2kQiD7Yhy","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":"1rHyBEi9oU_oUgJCTzq6K","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":"9BPi8b0kFS4xzMmP5GphA","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":"vT5_7REuuW8tZrOjzzGsc","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":"pif5TslQMOu9AXkVHf8Hf","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":"bRvg1rwByIPQBS_o1IlQm","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":"2VwFzEkgaULfdBLBMxQPz","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":"zpCLMrbDabWOF3TgPpldw","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":"cYAwmLFjdJkoz7jHjkmyr","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":"E5QwqI7CzYUCHWBnbxFCK","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":"fYm2pfhBejafTC637aQgP","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":"iEFD7FZ3Wx6eJvY_0cVDI","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-To0MBoVXvZZtig_7Bl3","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7qNakEDz16Y5OJEPLSRRp","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":"TPzd0slkfS9c86XCfOkO9","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":"4T15xKlebcWX38j5Isk5T","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":"SsDAhV9KQnYOer_mKAG-0","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":"jMB-Jjn4Fgl4WZ44SM6yW","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":"xd8Kyvz0dh0XbLWpylfxl","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":"mdmcLKrRY34sXqkV4wqfh","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":"Eh6_dOyVOtF_60RJW4zAz","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":"FjWD49vypj8GPOxOzG4qJ","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":"jlgN_XaRTQFLRGRXvRsTv","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":"G9y9ZbdoBajbtOlxwXq7G","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":"1HOdT81T73P8f25Wt2HFm","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":"-6artfEEfk68DtZTvs7tk","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":"JXECzPS9Kb9vliEij_iZj","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":"ogO7bYAmXiALLiMizGXkR","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":"_GVxw8rpeL_jPxU4gcp6L","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":"vAOWlnMQu12MImuUcpYiJ","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":"qMcZPtyNwZFO6PeVmx8UO","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":"l9Im2toPPeEgyet95TGkE","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":"k3Qfvvkc1YDs6ZkTHenJI","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":"mDhjUJsgyq1XQ347SXApD","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":"z_v-UmxDW6T5gCWRvYXOi","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":"ADgdDYOjC0jG9cZ7Yz53j","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":"_qwljw9A40Y1iMXyyzHZ0","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            dead/living state of the entity
            \ndefault value : true

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d3ub7WL4nnUNpmh7wDen0","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":"eYwUdWeD7yFb8UcEzhSN6","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":"oCOYedjepSVERcqY1RRQt","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":"n09xpex2K1lvx3Qic9DYk","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":"EdKRZs4ho-_tuCEDM3CCl","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":"63BIu7dsXT1Q6etAKUJ3l","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":"hSiDxcocs0PUrlptgeM4N","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the entity body object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"awCyVaGhmmIUErLED3kWX","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BKz78LPJ4_0VWABSIx4P0","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W9XwdMu0Xb63_sHEnNsZU","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RqskKv-6JWuP3ynS_HJjr","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Vr_rh3fns48uaxmYfs-my","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oi6Q4bZjyR-4MzUm1U4QM","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":"XPs8SK-6INbG3k4uGpLKw","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":"KIg8BMiJ3yIcTLS5vrgrh","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rM3n2xlOt1YX5FxYGsu6i","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object unique ID (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FTDd25_BEIFeTL4LnnoF6","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":"p6mvSwywmn8sP_SH_sJDs","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":"Tk834_raIv8B2AmnikwPp","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":"lIO0bw8rMZ0rOA4pMcovq","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":"HkHT9CQ6m4kdimjoCbsuI","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":"CKXnaUNn-o3vsstFMuGxP","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":"oH-9bMUhiOK7HDhvQF3jg","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5U9OIZehnIro7JvEKhre9","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SkPv9_Uq5aS9KZReCdXmn","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":"UtK8LbkiT4yR_xcodg0oo","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oZ-pf9el1VU_dIIwJ398A","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":"ZRioX5dJP5bZ9C3ZT-SWX","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":"2wPfvHAJ2VTpYnSsAZL_B","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":"odXOf6DcLvzC0wrlywp2E","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AhhRq_Y2slfQOzFbtTDMP","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":"ii3nKX_4RO88_nix-XBxj","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3GISpUj8hjsFJXxQmBH19","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":"f49fAYc4laEe-hR9Fmt89","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":"OlCZfHJRBq01PXUPjkmce","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H7meh4Kh4nxMDVhmPpThw","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object type (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KHnSegH9adKAg4tZmR40d","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":"DVIQS_AoGQXHXO-mrbHUx","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x5njHVshjKxuqOkMuCgTl","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":"4W7MFW_B1-ekE7wBCAeu5","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":"YCC4zqnjPYO9shVanhx1c","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":"MrLpvc2Rr51LiF5I79Zbh","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":"w9IK_3RM4IaWZko5hbw4i","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":"qOuGCiHiwNfnl0l3yHUZo","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":"yKmxIdjp1zc_a4ezAjaNZ","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":"NTHXZ9JuW_EmwPAWBJWaw","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":"NqFJc_XNeGWWHG27BYLeH","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":"69WD7dRR7MNX3Kw3Ah96u","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":"CU-xCk2yZxh_ZZ3APFD_8","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":"8TZ7_nZREqoVs6lvtW2sh","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":"0CHWVB1JJeMHPi9VjOxEs","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":"AxhHuV3-RPayTxZmKOAH1","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":"svkNwyI1hV6QK3vIkL98K","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":"tOQHJzahR9WF4xVAh9oVj","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":"0MTxlZ3-zuyPHvqIcWHue","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":"xY0Zaf7CU5b9cYXYxHcjA","name":"onBodyUpdate","brief":"

            update the bounds when the body is modified

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sgcrQMVRXC7OoY-WtiyHl","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":"bbW50eLj0QaevWAEaYF5Y","name":"onDeactivateEvent","brief":"

            onDeactivateEvent Notification function

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8FEgNPV0AsajZUtjKhPDl","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4VeAOVbFMUZmGX93kaGpU","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":"n72WIJUe7PHKWdqj4PNx1","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":"a96-RlM8Raqdx23MMoJAj","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":"tWSy_PPvXJFrAwQ35CzZr","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":"DmZvTVBZT3sUGUibjG2Zu","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":"vAaQQde7w3-iONwHGuWe-","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":"6yqd2aoh9TIdcoicSqSNH","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":"Qb-DSr3RN1xaDKfuvYqfq","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":"XRcZldBzgLNkoILCm7b3q","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":"O1zIAKnAVSc6tmzZgH3F7","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":"Jn6aQgsmXshp_Lx2zBpH5","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":"-fsYcwqN9tVjOJlVuLDd0","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":"tZgBp-d3srfxFSchagnRL","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":"fedQhVFiEgqHE46qGTq6q","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":"0qc2REUvQlmGkgzAtfgUR","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":"LCEn6Wtxy9Z0OKwR6LUmi","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":"PoNOkDDK6pZNFfF6uHY2f","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":"h8ljwAxfmqa2YVfCoFjzZ","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":"PGUKuUly9n9gRip3bDwMW","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":"8og8iRmdLDuurYc7Ejcw7","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":"jWPEFOAM29SdHadEuxieK","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":"rzW-62H1w1Vg1epEnQ4nK","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":"8CYAzrWXwrZz9WgPbrsYS","name":"Ellipse","brief":"","type":"ClassDoc","description":"

            an ellipse Object

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"KKE2LuUniIbyzHqka8xtb","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the center coordinates of the ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d_4u3Zz5bfqq-Ue49eg0x","name":"radius","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Maximum radius of the ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nb1Xlko73Nz914LMKyiWd","name":"radiusSq","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Radius squared, for pythagorean theorom

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BFJnQbPfLXN4FKoiTw5Lz","name":"radiusV","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Pre-scaled radius vector for ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KOW4fYICyeFDc7HwNq0gi","name":"ratio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            x/y scaling ratio for ellipse

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1na6XISLuvsEZTZAvjL7f","name":"type","brief":"","defaultValue":"\"Ellipse\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nItUcV9tSEWhK3ZLBsyd7","name":"_bounds","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

            The bounding rectangle for this shape

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZQZgIofhQA-dAxXp4yjUX","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":"FqrZiSiAmNw8YzpNioOXo","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":"LeZyaj2GK9upW5tarlAkn","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":"e9mZZxffquG-DTJv4lb33","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":"wp6y-LOLs_QuQ1KZV2RtB","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":"KhJZwaIMJw1m85hrhgKpP","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":"SiMTfpPvMzjU_DMfiBY7F","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":"6nxt7t1dJZh_QCnx4KLyl","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":"PTq5ocvDY0KySH7lxnasZ","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":"JIy8y0ModBzxBgMzlnEUl","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":"yo794ZVjhZm7WT_YXqw4P","name":"Entity","brief":"","type":"ClassDoc","description":"

            a Generic Object Entity

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"vyJLxPmgzdA1N6a4cg0WF","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            dead/living state of the entity
            \ndefault value : true

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7E7wZmthKjmTjRG4waoWP","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":"LTKFWRX1atQgP0buvtjyy","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":"3qsVvmqwEVI-aGT3UTn9c","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":"OYasmSlnYCs3XPLzkkmhC","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":"lJhJoWs7O7iaXNlhjO7az","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":"TBCOQ_sR3wEy-cza5_9ic","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":"KmRfoMQ7CjHbAQ_J-km8j","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the entity body object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sD2N6q2ADU0lHBLjU6avm","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XeuAxg1gL2JhsHKpDB4sx","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"glgwI1WsN42uM1k79N_Ky","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"URSSfNQQwJgA-v9IIQA0c","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sBjsZj40J94MNYv2rmNCN","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JGRQNZn0zXtIvkNTpPPxX","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":"bnhCkUZbiJSeQeb7K4ANr","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":"Xi15W3fpB6vpnMXLQ_eRu","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8r_AsBA0O9FELNqweA7o5","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object unique ID (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0RE-WkXcVAy3_e88J3o2k","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":"Ttq4PAvcWmEw7-MEr8x_1","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":"L8WIoPzJ04mw4KpVTNUTs","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":"P_zhVcedYj6jrqI5pXkQ9","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":"Rxagk-fUGV4XU0e_QkFlh","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":"t4rx7b-mGBSMjqDOUuxS0","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":"ANL23J5SSPi22g7uFzkLR","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"emSQHmNcbe0bIcTsW24md","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IkwlMXaGoz_pbrg2VQZrU","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":"tSOPulNWKovY5uXNfLUqT","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U4-jGbpuH1UEiRkAjOX5Z","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":"opnPM8Q_ES-M-nG5CkEV3","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":"uS9abE6679Og1oodV9Bio","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":"gu_Ukq8wJ_sRaJC5SFpFt","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xJi6FA5DKkmefB7vI-KD3","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":"I4-OFzYKO2PNi1qGV69ZS","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZM-LWLMn34jl9hexiHlTy","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":"9fwQCx3KzmEp1eO-vz2TE","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":"qyjOSePhEYehHRpjEjHLi","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L3PnyUJULG3m2o5bY7DKe","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

            object type (as defined in Tiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lnoRyaNlSs_f9uj0xAKlV","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":"HnuraXHEq5NPid9mShFqv","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qMT259xRyUYcsHClIJ1Hb","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":"aJS-a68qc9-Gsuo2CyCJ9","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":"tytiJtq5Ige5r-mK9Gdxy","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":"vCWExqv0ELULnu4p3hFaY","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":"zXd4HNyjj0TufUtkAq2a2","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":"zHDhhBTTD69uZvIhumKJl","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":"PLwMbSUr5dzQNRlP4OpK8","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":"0M_Lkl-tq-tkkw_F6Cd3e","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":"ZyB5WR7dK4mSWoWsWEqt2","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":"79bCeNVLxXCZE5HjcEvNO","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":"cgO9edSbOmxAvHNIsbaDi","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":"S6-xGO51qiypyGYmT7Ori","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":"5raRuVlN7dY55pXb9DkCW","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":"tIzT8reFzU8jl6V9I35BS","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":"WwkpYB6Jm5SCwiZ-AlbYO","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":"dmy_k17O_O4ctX1CXg1rT","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":"u-yjycjNVYd7bNlSXF_KE","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":"dU3oFw9rsBjddNcNWWsHO","name":"onBodyUpdate","brief":"

            update the bounds when the body is modified

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6JXiHIx01wkGvuQbpnaZV","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":"YKBUFTLj9YIm9O_sk0GH5","name":"onDeactivateEvent","brief":"

            onDeactivateEvent Notification function

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xpw6UYbEJ0-D4KrIjtuPg","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-Nurj3_Kyq62lGrbpDqgW","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":"q9ZxoFSA3pER1RXCcW4mo","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":"284HyU8RiXAMJxuw8Du5W","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":"tQuhlkR1yocgSHRb5bnkw","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":"-CuS7wyhljAb_Nu0N0VdT","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":"socjn25xxisD2AX0iA3gI","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":"B9QCFO1FPNYGtQL65XwAc","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":"TtC9mrJWxsOYiLXBYGIfT","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":"rUiA0iV9HHJ6x6ZTBvdUp","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":"LA4IYRucjyzvlLiC9fM9d","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":"FYT2sstK35ydBRHuv6mTe","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":"GPiMNypPvPsLOprWnMUuo","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":"5z4st8oDN7kbvCte_arAp","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":"rogz3R1ImPUQsNtZb8eWk","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":"e0QQyDetf2biBCHFEkYwA","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":"uImnyiSAG-2ArSC3W4quK","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":"l00q6bOS8I6MINru_aR0r","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":"MknqvjVNvSdQGRuWLdVgO","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":"LPGPXB4lXUyPILHW9KJOl","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":"g0OqWxBQkXq0bammJ_75t","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":"grKODGsBYy5EbukadW_or","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":"V1FsXKZp2HPGN9umrs-9H","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":"1NOSlBV7Syp05TIcDImTW","name":"GLShader","brief":"","type":"ClassDoc","description":"

            a base GL Shader object

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

            the location attributes of the shader

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dypHcRSOEEBt7yfXNWIDP","name":"fragment","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the fragment shader source code

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j0wD7GiYCt5Y6l22CtVsM","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the active gl rendering context

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K6JN8eyoDKGv871uz6ixn","name":"program","brief":"","scope":"instance","type":"PropertyDoc","description":"

            a reference to the shader program (once compiled)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d2IbevbMyIHWknwjReGgu","name":"uniforms","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the uniforms of the shader

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-zl5TlzIF_cZpvVJMKykm","name":"vertex","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the vertex shader source code

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FSPyMyknMHOzjXkkMHRwJ","name":"bind","brief":"

            Installs this shader program as part of current rendering state

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tJFeepHCY7XvBK-wf5LwH","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":"OUHK_1146uHeuUVlbPstP","name":"destroy","brief":"

            destroy this shader objects resources (program, attributes, uniforms)

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9-s6byxjIFFDkm4VPFHeV","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":"EABX7I0oq0yikm7b9behl","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":"n3jhYcXUmINdqad_wS-0S","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":"EE0jo9ywKHMKWjS4_SzZw","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":"1To9sf9NJClkGjNpGxCd6","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":"wHVlhb-xWSp5vAF2wGrlW","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":"7-QJFY9s9JAz_GVot8CPC","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":"-a5zaoryGs0Mnbb0dl3j1","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":"JHrnxKLUZOwUB9KdF4mvM","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ner5YLbISEoTe2UkPVgUJ","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"085jBXmUDO_m_eBRo5IO1","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":"6ARaXDM4id_Yg6_n5FTgI","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":"EdmSiMl1Xqq-Cgg0PAGYp","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":"Y5aZLSjR_j3OCjoPR3vKr","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YI6br06_ICAeV8ztSqonk","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"p45b7kR9-noZU_fhHE6_0","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CGmWdaqShbxaBIY1FuaBE","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NL3ByLSaW7mu1DEh0TMUZ","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IODd-gL8LzvY0lqs28H-x","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":"Go6jBJlLhysyRCWveiA6C","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":"iocPThyEfXWGZYGdhQQDa","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"93fDz3GgAQqIKx2nDsOE-","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":"iz0G6DkDZei8S3dyho6Qw","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":"eZcGBWq6s2JSoVScLAU8I","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":"RBM4MKkekIMkgCf0G7cCc","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":"YOALkmc52rgPKvn0JC6HA","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":"BJitnD_2JmXJRv9rjJL1I","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":"0O_ZoFEjpX6kf_g1j4Vim","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S9C0ZuYb9KfCbqqj42kwC","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":"alWcF8um2G1WkuneSiEoc","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3PYy61ZnS77L6KYJZkDz_","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":"NgFO_J7vULfVWIxjZLo-6","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wbs9iZdGvqa2HNReaY6tH","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":"DhSHyQPSmYYuIAx1vKjfo","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":"lUEKzi7Nl6uqYR4dYO4Ew","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":"ezmhbiXdeqRVQg_7sgvGq","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":"v6gFGfgKfyP9IwjAECvj6","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rMOm6IelicJKvyohBK5DE","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RV-mRjxO35Rb1I7pUvFru","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":"DgAYdCaX3w9gnW5gZGWrk","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O2lazKCbPi58TIAMmzY8j","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":"UJIhGvzvCBR5GZf3r-BuV","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7ea0tGVW3tDj1BoueCTam","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bV-fHYCW2LxoBUZZ95P4E","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":"-fxXXGyKRM4q3Gko210GO","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dLxfU8ksgMeiyLwI1H0CX","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":"JN1F2S0jJQuJqan8qtnF9","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":"fuZ6om59tRi2HMMwOjwtl","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":"aC9UiaGg_E3ZHQQ8CZ4B3","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":"yE5uP8QPwpjXW9dKDpl6f","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":"Dcz3fJWh_T8fwBuGG38k-","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":"njUD1HxgN7Mv9VOeHLjRE","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":"2-hy9KU5AkjKdTuD98crm","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":"xNuVwo1b0e7reV_8Qdai7","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":"4Nts6XVw77MSevvtQIPfn","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":"C9weVgZmrx3lBJ3JMyGaS","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":"YMQMTi4y7OSqMphhwZO4j","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":"YWdlqAhwA70Z0-A9tTXx4","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":"ZK9ZTOc8BNKhfKAYoDIT_","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":"qyvqTqhm_d-c1FYJic6FI","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":"zqxqAAD5atA879o3V79TU","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":"JiOYGXTNAmITrPUQ79zd6","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":"RuScD0cgDp4OsyxVOEdZW","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":"Hq9gBQ6E9xaQhYh0pfkZ0","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":"8YAtYXv2v_z0eovE0Ue40","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":"vZfpD09TxhH-Hz9IFH0jP","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":"b69Hg81mS975UPiIPeahm","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":"UIZR3FmvYd40SsTpHi-pB","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":"IzMt0hM_Zz8Vy_JLpvtXx","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9wtDfJlSJeDgO1dxLbfyx","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":"ZAo2tsL52r42I6lsNdy-d","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2kbgn_r5vOX9PtCx7rsk1","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z6wmjN3kVVuW0pAHjeYdU","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":"_Qqd0uKhopYsm4ouXNBuf","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":"ElwultNaJHOTSC4fZl0T8","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":"gcx_Q5AMI68fTbLaicEEq","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":"aOZ6ehSQvxJPCmAhMoPem","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":"oaBLjE12OMCGBCRLFrp8o","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":"ivnhFlq4jYPgDelBn7eo7","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":"U6WGPp7XDJfohW7U3GGTJ","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":"XBwYfAx6vEly3dMwPRFp7","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":"TXWZUYEU59cxxJTnWa2rA","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":"T5ZXkplwT_osX5qfmNKp4","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":"wsKVwr2pJX9y4N27zGHn0","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":"e6gm8IGLonVdN6VQBdUPA","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":"qVLk46qVXY_WihjFL_TFX","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":"iRp_24AnsGDJu5KE85KG2","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":"-vjB_WyK9r7Wqrozi1l5Q","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":"AVneG6gp5-Tzu5DKBOL6E","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":"h-fRutO_RzXmJH5pnkHAU","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":"YyRtQxBhJPcmN-YyfMYcm","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":"qxHZ9S31yrCgcBKwASzH5","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":"AMkcG5n8fNffN5VZGTsuO","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":"wjFXZoJYmG7gfvzho7zmJ","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":"l8w6WauQUbzRLuQC2X_cI","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":"8DXzb-3s6RXjMu542TFq2","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":"JShOlONH70P9gXBuv6rzi","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":"eITh3RHyPqaDR2U2lbQLG","name":"ImageLayer","brief":"","type":"ClassDoc","description":"

            a generic Image Layer Object

            ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"zHDF3cDFVbnPtOm-TcyyA","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":"cbah9xxIefTUST_AAiDQU","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":"Tw9n635vk01QovJYq-Jp9","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":"AFt26spMMQhM0c8J1f8LX","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":"PiZ9xACPGXG2poRN3NVff","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1kG-vhhTJ0zwOyxbfRT7r","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0DS6BnGFl6cwhZ1SoLUxn","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":"RKarHjXtTQaQ5IPvxhdV8","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":"bfQgomAu7w0YWuySAi2uI","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":"fUlnBTU1RckKbOCVtDa2_","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gQ4l-iVkD-1dHJLi-rM49","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ROJB8MmFtiS-SExk2425j","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"heVzVqCmoK9n9XCbJmZE0","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D_6ZPI-w6vAN_2tsY5uRc","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AZHdxqQgf5FMONPyLvpUm","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":"F5oHnNesRDnm9RbqzMAJs","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":"oscKYsIYAFEfuNkdC4Mnl","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"52MRLEQ9iDPSFF2sc3gXq","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":"CQKVL7vKo9gwCMbO4vNgC","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":"RRx48BVS1S5fwLBmHrSpH","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":"CReWbqW3iS3W2ggeoRTf3","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":"NZ6QzPNRJI6l-I_QdTiPD","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":"SQTEeXic7E4zGVR3K_ZOS","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":"7Acsbyp_ltFjs-sJwSCw7","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QbcCfuGkL7Y3tXW7WfrGG","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":"MaT2YRLnnEJGanAH9qGwA","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7nb18JSzb-TAaqgK7cAfJ","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":"9GxTq0DctkDaaMngg0vrF","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Yl_vD7D8cUnVFaltOfFG6","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":"JnjB8b9VjOe8RSTsIBnsz","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":"GVpP91W7Xq9Nn1O_YRfxG","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":"YVf-Wqy6ZunLHjmhFZlZL","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":"gePJjT6fao2FShEpkmhmn","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_g2qbKZ0DxxBL1noBV9AR","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":"2ZmVI7nN1-Tezbg434y-o","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":"wVJvOO83mZ4I-M8oEyf2a","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D7VwIcZTjaT9kpX1CfzNC","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":"50pSjiJrS7Q21rKW3v1Zs","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nIF5k7rb3M-z0Ykej7GsI","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":"L-X5ukjDMhvPJd4p0zmAp","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GBuiSOp9spcRBj0GZwRn7","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":"_G1BPl3NfOU78MfjqRQdY","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aY43ege2h4SqNcNTj2AJx","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":"025r8DzN42m9H_fk8gaLo","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":"6QbwS6nurLyTMDhJEDyZl","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":"lF6Rtccuj6TQg6FBv68C4","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":"iE6zj0nrB9Xac5RBq9foK","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":"HeMhsL1-n2GTFDBAuNHC3","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":"qnC86dWtgRxrcwxWtlHIT","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":"UtXXBfuwTPr8ht3Fh61Yz","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":"qyrPeqFmTU_12ecJlv_0E","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":"s8XStDtqcD-c-LDhe8Ddc","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":"kMj0NDZvhVGpud8X1Dn2P","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":"1ZBz8MvremWLMFfPDZqbU","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":"4vMZPHtIZIG_CzT2QYzVm","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":"q9QRxZoaEBHtY79dmOGoH","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":"wruncw7axdwED6DA6_6F-","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":"E4VN7WhhCpzjNv-_HE9Rz","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":"cKCg4wNseWMiO4kHDDCv9","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":"FRqYN1fs4ph-4Q3db0ivE","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":"G8pCqvk9iyCAL1l_j8-Vb","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":"5l0p8kxV4JOhc2QhL7tK6","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":"BBaApWYosymStSR6VK8eF","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":"p2FTuEQk7HDoh06ywvmYu","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":"uHZE1CaZeTN31hd-QTcKk","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":"JUG-K6iSjj-oAj8Tj503Y","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rps0jQN-fvFTy973cKV9C","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":"1S3R09-cpHVRFyo78r9xj","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dYAGkXGcosrTcwDW87-5k","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1ftWw-6AKpgLcc-cscze_","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":"hgrWYwvMae8omS3UUhPkO","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":"VhAL-X1ZaAX-CgrcnTtzv","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":"rS6If0ZhHSGiYG6riXQUb","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":"Tuad5-_rXLxvPpT4R96vj","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":"K1p42EZQSoKq6jA_klx_w","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":"ybxSgQk1y4WW8sRP4ruBD","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":"5g2awaW-1qY25TMJ_ZWYK","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":"mYwoHQvBooJCE_gk9qav_","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":"VTaPLKngy3dkyLbKo6nf_","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":"L_Al_K8tnEgvFqIQnHeiw","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":"73G2TGv9TpymTmYk9pnGU","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":"z_TWV9IImdZ4ALe6roPeB","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":"dk4s8ydsjx5s9k_x5RJYz","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":"bk_fZZePa-YVcNsjKHv9f","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":"ngzxdIvHIWbuFLs3NdVaw","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":"QY2_YLVMPguXQiJpFkXI-","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":"wrTxMzBnTokC1svwUKtyw","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":"Z3RADKJhcdUbyElkCBDIY","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":"SRlfIg2Hm0rBfz_z86ket","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":"51xPnkfU9P0zm-Q0cnI97","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":"KhwMooB6639dkvRWN9sP6","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":"x4SRXhnVtMtsZHmL9VA5K","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":"uTQIRjWQ8jJt4aOGRw1AG","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":"SYe9chiPMJ6ZgQjbdsVqh","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":"noGLldaQPOuRk-3WNXT2f","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":"vjg393upW6MvE2RtKTt-7","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":"oSGeaO-ehKQjiPSP54to3","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":"Wo-6FYpWSSCvD7RRH_auK","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":"fEqu-m4gme2-jsf7FfXu2","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":"QQHSgjYVD3PyZTUTBY7zR","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":"UeLGMT8MX_NcRU5Kt_DQ8","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":"ETfCy1zyLU5_rk_w816sb","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":"XIA6f5JQSWkRmFiHMBhFS","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dgx5iwsKuZ57CK5QC-xyz","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RuS5JiUr5bjF-Df3w8HRo","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BLVp1jJ_L8F6ysJUOfb-j","name":"color","brief":"","defaultValue":"\"#FFF\"","scope":"instance","type":"PropertyDoc","description":"

            the color of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LxXNMtkWPnUD_RhyThs7L","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RbR7Kn9qyj9PaHhSkqgqb","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3bu1kZJqPw5O4ZDrbbHXc","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":"X4GLQJEaVsausHMe9DlGz","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":"7jZgWbUsdtYl6b_9VlMPh","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4K1c53-aUfL2DSs7-D31T","name":"intensity","brief":"","defaultValue":"0.7","scope":"instance","type":"PropertyDoc","description":"

            The intensity of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U77QyYI4GX90uxYjhxG5E","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":"4XhRE1cHVQ2aTtz6hcaz7","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":"GwpPW8sWDuIUYNcxCNXqq","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":"vNl2SIwBUaIH2AsxwjTAq","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":"fseY_ad3hvI6eTPkxKVMG","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":"lnup4AAPw8WZ_CN9u40G9","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":"mA4ADAO3MQP7DZViD3POC","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Aqz86F2jlU_6vhgmKzLRx","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ofyWY5gtaINcmjSgjHLBM","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":"boYJQajV3rGW12rj8fdpn","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VBrGsPPRsIZd3Q9aO96FU","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":"PZL9p1W-bY-qKWkHQDgmk","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":"ejQaLSO2XydEQokEFmSRh","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":"5SURbFdeRqpN_o4jUPK2J","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jJeDL3tzce8JbFHOpl8-o","name":"radiusX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The horizontal radius of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ad98GmklKIqGB_ENEIfZt","name":"radiusY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The vertical radius of the light

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rYWtaZjOE9LFAWBi6PlZL","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i8pT2A0Bvg2pH36LpzM9K","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":"kfDQV8qbNkjibO_tdOBJJ","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":"UGdiv3cCLWExESgLiJTH0","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ERdP31D5a4SrDvdlZFmHx","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":"ECoct8tRTnnhRGlsV8bzv","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LiGzpMeB6l1dB22SxdKs5","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":"fk2WqUAFXkkJigS5MQetG","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":"8F0m5JTMI_ESFS4yIqZs9","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":"3IzcM_P5zcdU8HItaPLjB","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":"4zgWIq6sjlDw9D2dAYqpJ","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":"i-MJ6u_84aGDy4v6GfPx2","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":"b5ao2Ti-_7VrNfndEE_Jj","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":"Sm2434h4aASxDFR44vWQl","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":"uybTAtNndhQOfrSrXNaW9","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":"Ec5KVjoaKzef13eOIo3IO","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":"fc43-nRvBLF8ddHap4rtQ","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":"49DMoXTA_dhjKzdQpC93N","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":"PNGhLj6bReoX3_arCkyaU","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":"lXtP5j0hN1QUAH3Wd_VP_","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":"lSvpyhGExDPPmyN9aP1Ex","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":"nQ2-EhSPMFKcEFUv2EVwH","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":"wUOwy8HQUGTfh9gmHQH9p","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":"eGYDQBTtzEqnwPddOXKy2","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":"pQwsIx27OkP5c6cu2oQwe","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":"HyQAvcvZ7XNKPW0ykiQaY","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"soW0Lf2SaMrBOA2Z6uxLA","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":"odRwyzykp-fT1xqBd2jWW","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":"AbTHBksvqoSPbaEMQrJUs","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":"krFL35z7Nm8kIdEYwcTGP","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":"52Pp7qZd7JvVhYkx6f8WE","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":"kWQiSEGwuH8PI1d3Kt1en","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":"SQScEI4DEOdiXmftUa32R","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":"pzNa-G4wdFCdpfexSPWym","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":"4jBuX6EH1xFbeg4pWJsYr","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":"EjvMLkptiVkw0sRe-YeOk","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":"kHQa4EzCHxQ-NHdnnVXmL","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":"yBZMr7UJk21B_wIh6gBjF","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":"eREA1vNktVkPTVkolhvjp","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":"bYZtyYCOttd3mWxV3Lsdw","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":"qgVCb-NIprlTUh0w5zViu","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":"JW5QINvPR1vlG4rmUvDTZ","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":"I5VscjQFSFTv7mwfnaWHJ","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":"9r5vjeA9WhHFGHW8VMJzk","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":"eJD4stNOUJi3-30l7gvV4","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":"U2wwfV1ltQOS8NRE1MUlT","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":"U1dv39LecAhR7Y-aRum4Y","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":"t9i0ZR6PxNjRecQPjY71T","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":"COtIvvfgs1u2aWSXprvSM","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":"M7jk4i85n_6Ycdwrl9uzu","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":"IDozLbRXI471L2TTKOkhQ","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cWd0b6onpvmVoqwZIn_t4","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":"iM_VludptIOqb8h0kcKjJ","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":"1Vzptj2VbCa6evR1Yup55","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":"INmJhcEeiMldkigz4dZgS","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":"aSTAdAER7rDGIclnotJ7f","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":"Yz3ANeab0oxsC02FaC4gG","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":"5sx-FiiOvwQKQ7nivC6zy","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":"DoFQyZEpirThBbSVypiik","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":"5jVTedqxvpPO_h3c4PSAQ","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":"aMvEjFq_zqZ2N-kNLE9XX","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":"xxYpfmo9g8aj-MS0KT72i","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":"wlrIfozL8aJrHLoBnpC6p","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":"G3z9NypqBM-pJOeRpNaLK","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":"e35qWn0FEQeG3TGYALTyU","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":"zMt_VzZftY-0L7ZiE2Uan","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":"qvTzWmxnsTnQsdhKEaElh","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":"VF5-WSwGXy2rhZUltCGoq","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":"VSaPmQAYK0EarBV0ee5Oj","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":"SFQuwuHmRaqaTujbFnt3p","name":"Matrix2d","brief":"","type":"ClassDoc","description":"

            a Matrix2d Object.
            \nthe identity matrix and parameters position :
            \n

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"vFjc1ZLQQUk-6O-beuNJk","name":"tx","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

            tx component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"06-cVWykxwz8nDTJntnDZ","name":"ty","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

            ty component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZeX7UvBfwZVuwMkTMTKmO","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":"nZ83U9z1UUe1xuR09AAcz","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":"gAadittTpiO_uAD-ImB15","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":"siLP4o6k9Op5xK2emyBrf","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":"SZ2hURQV_vfrZsLKYo6d3","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":"-uGu4GEQcnl-xFbP99bUM","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":"pU0dGl-QPBmx2Z03Jjf_S","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":"jGcbnRrguwh_5vtPxCwUE","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":"jnYagCLsS3fZSk10BN8av","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":"vXkmzBLL3QTAdzkKzzZPy","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":"emhfgfnnqIlCSmZFrPRI4","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":"6el8yuK1KAGX5Gmp9w0vb","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":"2njlXXTokyE44hpA8t2gS","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":"ZTgu0d4X6W0QHnJQtYLs_","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":"qNQlITJuvheY9TcSemrh0","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":"8lol558wXZoTHzFKCuUug","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":"fiUgUNnHnucry8HhaDReW","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":"gfuAdwjo5KKTheqhFWJ7g","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":"PFVT4UU9YEHtrtJHlh1pn","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":"ZhTwU2kG4qEOhiLEaIPTP","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":"5mNP4NeBnfx3BXd6yv8Ep","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":"LgkodHq9qYPT1mzmlIAtf","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":"OM-m96zjY8L5ECBAMnplY","name":"Matrix3d","brief":"","type":"ClassDoc","description":"

            a 4x4 Matrix3d Object

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

            tx component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b7mERLvx-kBoZll6_3qcD","name":"ty","brief":"","scope":"instance","type":"PropertyDoc","description":"

            ty component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xOfGhoHsI7H5kWx56lFgv","name":"tz","brief":"","scope":"instance","type":"PropertyDoc","description":"

            ty component of the matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zRbtFibp3ewPk702Iu0fc","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":"l8tcL9yi5v3IYgHxiqmTQ","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":"5d931hpCUqQ4CO-I-rtgD","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":"YXEGh1mj6YXx3QRsrG-2G","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":"DKFGDsCa6QNh3vA4yLC7c","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":"EH4TXxd8qUaKrOzDQ3vM3","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":"sWV33wSFmHwDqhWWoTyQV","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":"x9D3xK3zUEPe8kcUnGjLS","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":"agFLeo1AedVRi0PngofUR","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":"z_EwDQKLhiUDCrUIEyqSI","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":"0BPCEIaU61F6jBK_Jp5bX","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":"lpxKopXqdivxUw3u1riTY","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":"fbs8BWU_qi-RnFd0qEV3O","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":"Q_hzt52myr1IHTn0i-gec","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":"_IGGcxebMYXrCssLgZbQ_","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":"S1krKGgC7t06kM7qGJb18","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":"GsBC0Ihj9hhWJVBUoe007","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":"xAtwuIOjhJ1VSfqGsM2sZ","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":"T0sx7i9vByoYKQN4Ku3Ve","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":"3OCTOy_ZM7n5nWSwFbeTt","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":"ilkdAn8tikIiI2g7VNqk-","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":"J0JKOvI-gTn1D-f_Y1ui5","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":"xN6gXrIjpPX4SAVR00Z9j","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":"A9fwP6sSoZj4-tRubMD4G","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":"UfQY5p8xGzdEkpJSECjYB","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":"_e-QOdVOixcekQ2-_RV7V","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":"GwAln8ISx1ExY5bWDFDlU","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":"g2FhREyNszhIhbt2WURvI","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uLvdzUdROZrRZBSlzt0GC","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b4hjqHAOFNtQo2HzMGovw","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":"TS3e_M7LSR64ftlGGPDzM","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":"V7B6Aj-1qpE-89F_xCvmz","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":"vwuWEcYziZngzf0fiwQKD","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WM1SoNoyz75zFHzFJC7UJ","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RPTKVr8Z1Q0Lyvfy1Cf19","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zeodUsaMHy-kUSJYAx0f8","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EufR3d8wBxtW1nxqxlfeT","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5YJj_vv4yFDaHPCXczrtg","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":"RRyp-spgmn33h3ZwyKvN7","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":"LUwEcm2_Y93mjoojKA3fe","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the NineSliceSprite

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"19HJzqeo-SvQ0hxagwHTe","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":"R3OGXDHHZ-r2WDlhKNtRU","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":"_JU5plt7WyfW57yH__nPE","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":"ai-HcyH9C5gZjUCyVJM3p","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":"-h0X3caVSaPnUydXPEDFZ","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":"Wiz7tzEsE3_2hi6iydB9G","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":"iDc8foLokpt79OyQJ6c3U","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rKqrv4MHF7u1TKXHel3oY","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":"03Sv8UPb1ipfcs3JAwi-x","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oPuZ-F7G5HxjQIfKJky3M","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":"eSpzz-elc_Sx72XsfKYqW","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g7xlMyxD5Zhlcurj5gVfH","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":"jw5Wt9EOmM5jNSzy80J0Y","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":"SRfji--fAjGYl7wU65ah4","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":"UQTlYcMOBxH_s2qtROCDL","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":"EoKS7BUXSVeJKoSnnAa_e","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K5VC4VQZMwJjyACb4DKP2","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ExlsN0Cc5CZUCQ7843mbb","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":"5vnoQ1d0Vx5AhJlBBu1Yo","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"liPccBk9f5xik9coaMEUQ","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":"3nG51fOf4Z9iAmU-tQJXc","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2vO5U6QFZOhG7h6NsrQvC","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":"2TXEK4oHA5H1KvqrLOVoQ","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the NineSliceSprite

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_0N87I3Zi2Dq9XUF4QQKX","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":"RHRGq2x3PG9k3NYP-Drxm","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":"rv7Q7W8sn8L2UIREy2rI4","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":"SfOXS8000TLab3DJmZ-KU","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":"ADBZStG_zCc7jotjy65NL","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":"oSM9eAZ5ibHnuHzjvN9RX","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":"YKBJyqgEIQ-Ie2EtPacRQ","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":"MgCtdYukh5KCd1NNU9eoP","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":"m-wJAL541EonhAjx9Tk-1","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":"_mlhqlU1xV-rrnHeF0sv0","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":"KjUzyMEgqHVmUynM80Zq4","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_iw7oilWKCXYW3Gi8H_b","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":"ffayADLjwFp9cL_QyeGgU","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":"gX4VKDD6Gooxk78YqiMDM","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":"vjPbXd5uWU4y6bq4TaCRl","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":"jXPRvj2tnuQej7sH_2fH0","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":"KBMDAvUTl6lkiIIPDD_3D","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":"6vfMX4YvYAx4f0rAgEtHc","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":"P_2P7MjFXcQkKCANm1sBf","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":"F8z2UnYSZ9QfK84d_nAW1","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":"-omeVWcPwszXTcgPV32dC","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":"ujr5iZge7Jx4u64GVdIxT","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":"uuzZh9JusPiBZ266aXOn8","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":"KZKoEtqIcBha7JYDyDDI7","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s3Ed6xv18OoabYJi6OLZO","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":"ILqs-adi-YCzMuq7VMTWa","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fCJ82MGcV-S-BYc1m_hUO","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5WmwtfRqjPp5Pu9ztjAjp","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":"fmOyCFqOV7weviLZlohwd","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":"-NImivSNMS1Ys461RKQVO","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":"P3c5vrrWAQ6Vyr-2hw5Pg","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":"OSpiJwLRLIt-RCt13f07P","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":"V4YeVPkDWnkMwttQccqEk","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":"7wYipuLv3BosHH2zfDwlE","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":"fYyHWfXUQ-myiOCU23t-P","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":"JyyKpWL2K9w4_jF1puX3u","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":"brHPhNSxwqvMgKSPSaT9d","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":"TYjp4IlCGV7hRuzxvWgRW","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":"duoiXNz2iS5OfUXbCNUvv","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":"-v_Cs0JqhvtHw1R_5hkkN","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":"rOEU4RevnQaEx1mXfpvAP","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":"uE_iKZ8P4yemRlfPQPobh","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":"movrtfyjSDDUzhaEGIqb9","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":"_pwClm_gP0Jp_QMJeYi7q","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":"IHSSkMgFxmdc0NwTyi31S","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":"Q9GZ-HUOFL2iobawbqsDe","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":"8MYzM2bbujhcA8rygOBys","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":"mZXDuphmLpF89XqX0Y0DB","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":"-UNyawl_BOVh6_kkFnWEI","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":"byDw2qn_NrI73hxKHrpJr","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":"eIFc1Msf0-bav85OG9fDQ","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":"sEnc4Gpu7BNU22vG86D-f","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":"rYVfjW_XIBgtt8TPNULiZ","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":"IF0_53tf3NUUR3f6qj4ou","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":"EbclL7tyQiBLziLHXZ25V","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":"zBFG7K9oMEimcLI6ny4jR","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":"8Y142s6d7zhSkm5oeu3vP","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":"w0HOe36Bk5jzDLjwLt_w8","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":"ae5rqypvAiwWp7kpcTsk4","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":"ol4Rc2CyfdMViMts_1rqS","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":"sefykTfInqrp6DDRaPdwt","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":"a3g1edHehxsH3SZF4vkG4","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            x value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eJ89aBO_oXybucuBjr0Z7","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            y value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6RoxT1Qg2N5PtD0sP2_Hd","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":"nNjdZtYw0hBKc8tkwSEP7","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":"qLarB8ZZ02MUZ_yUeaDh0","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":"2_7-l7wTnwnuaRwBKgGTO","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":"52HFJ_cAdScms6ERpb-ec","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":"ykx94Eh01DLZqwatx-oYv","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":"9MzqNgJSnaQbRrtho2a3D","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":"t9_YaCP8lcyI3BRP_wdpL","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":"QQP-4B96G_mynpKzMfUE3","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":"O4RqzEI2osjKKf85GskhO","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":"Gx75XvU6_iuL64xyqbVGc","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":"amI4inW2AVDcSOHVBR-jP","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":"feX6iwXKq2W6F9ZYMO5nS","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":"xcAOWCb5joiM_UXd6PA4G","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":"xHfKX0mhU8ooVUM1jY1zB","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":"aW0DSOggMfRUl3bXa-QVX","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":"tJOexbV1Y7-fKtzL4LMhH","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":"DFJQ7BDmBCkvcazENMs9_","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":"zHH-05RGORXBeB3gHDUAY","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":"E-b8Wqnz_iy-OzPhjWcJW","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":"Vgb9AFKKZt7MuJGK0ujXy","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":"PsgZ3SMemSHVd5mHRrEax","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":"hW6W_ulK2kPIZaO9ys4KL","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":"tUQKnzeUBKimqPTg_Uve7","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":"a-C3yZArgMHC-ALP85CKz","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":"7o17Uh7CqyplYLWWGGDat","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":"pMkdexw2QNgXysjGyl4Ep","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":"KlbpHahC7BaGKenLcQXhH","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":"gjDfJOpyg88Z9Lyb4EOZ-","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":"C4BZ0r9deZf9mWNGkwX7p","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":"lD7Vt_pxilHUbPxaLQiGn","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":"aKB8niIWqa2co5FawFIpC","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":"Oj48ETZCnYzFvQIzjnPBO","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":"bvCXupSqs1GOgs6CWf4Hv","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":"A-N3UXNiv1eBNUn_MThvE","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":"kcDfnd4Qsw5rv_Py5pbRl","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":"71FnZO0nCjUhQ_0gdbNOX","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":"4zBvKsAYglK6IRsRpbHyS","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":"FF8OelsjgDDR4yJKAEldp","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":"160YR8OBoEqvbIlbs6WZ2","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":"eaIkH37PS4_IJyhEZbwzj","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":"YAXPJe32TFlZ74vMHgJz1","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":"3ZnZvHR6V021PuU3iQdD-","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":"mnbRmIT5XnFtB3dfcJji2","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            x value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GGPirL7MX1tCE508k7_Fv","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            y value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dthJWpBG2IlXPdWpjOhfa","name":"z","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            z value of the vector

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gSX8wOEY55sFNdOC93XqI","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":"5BmLOwxE5PscFFAzCA3Nc","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":"dbn8LdE0Ury9st8OIXQI2","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":"uzz2mfji6jRpfYbzZCOZX","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":"LkyEFeisMwtAwHwZ4hyxJ","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":"O_vPbHq5dcSO-0Ez6qbbf","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":"J-nxEOYHk2WnCbey80Pvs","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":"pzUyfIKMSGADLWu1eSgcX","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":"CmxQzzFInAN60x99HQnS2","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":"feQxqy1_OOby0xfjWk4tj","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":"onR0-3xeRstReTFjIcYoq","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":"K5TnBKHUK_uCcJLV-gCeg","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":"agQnBrB_0lC6v7C9SaMLh","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":"C6-K4zerP6g3JDJv8qeAT","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":"m5XVRSF5BKef-ridsbz_D","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":"9IcsAo2zTPm_x-X5mg3EE","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":"9BtoHUh37UFfozsjMEV7x","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":"STeJRfXqUvgqMhAszPQe6","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":"Zm3OJhdgwijnWMU_zbb7B","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":"gvAh-2lTF3Uwv0MQYzXYF","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":"wNxO1e4r07OQs-7549wJg","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":"T0DZhgtgMksEGsyqOCBIF","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":"okWP0ogPkdXL7XEekEDpd","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":"auyTOZ5NTrR1-8A5P2yq6","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":"x8UUfUhJDfbskmG6E06DY","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":"s051UjcoeGak5C4UIHQeJ","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":"8zw_gCklkrDovt4S6omN_","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":"B_hxSV6pZpoclyf9UY0Ji","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":"33iZW332r5ZJKGuehKBiF","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":"DKQIS-rgVzRGzp9jSOaiF","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":"GLO_GFhk4NBpZgAeCwOxs","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":"kPlRnnlEFEuvXPs_sAUvh","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":"9qM_fKi5l_yHwAihZMxk5","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":"iYaEOc0gYxI3uUpBSxjxx","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":"uHQVqsnt5It4TqiQ_P-IT","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":"tswBQTHx065R9pZdIU63_","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":"88o1jNPkV4GGHmIl1OMEG","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":"7DJr-yAey4wc_anm5Q-KQ","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":"9WlWA99WuW6uq4CQnIpr_","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":"a1puV2Rc3jUqwcbsceplM","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":"e1YQc8DpRVeWooQbW1Edb","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":"ws7kkjNy3expmRwk1SDbx","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":"3Vo4mbMce-ofAXxivVpX5","name":"Particle","brief":"","type":"ClassDoc","description":"

            Single Particle Object.

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"MnLSnzeS7sEVpMxwX57uW","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":"jn4vJU4S0JVoSkc6ntG_w","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":"cc3VHPnba-M2aqD6YkwEH","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":"Eg4oLTHNctE5T9oQ9Xvw2","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":"Rpf9qk0re_spPrAejta3I","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":"R17pVxM4y83aXFzfBxUcI","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":"FgGZF9i-OZ3vqZp4PirMu","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":"3NyuZPRKeuBIarDbRApkt","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M0YT3aKWomdP6nsLe-yic","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tJtZhVqZ4QJ46O6N6e2rB","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oYRUVoJRvzQLih7Nm0emH","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B-iiihINGlx-RlRpQrq5g","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dp3KMEzw0hyBh_mdU7Ykr","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":"K8oG2StPaw9_ipuJSjHaJ","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":"CHCwyD4xKXzfqfjaJAbUP","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZM4teCLxAhYxM5PAFsgiC","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":"yhpP8UNmOXwurU-PHQWmz","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":"4Z0l6sbylDD5QU0N_fsKe","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":"7sl2aPHNftkfkCObxp-I4","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":"Ys3Kg1D0clWM4L2ObZbNY","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":"ygDdlJQyMNDJXaxgkWhd3","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":"xefN2c5MPBIQs3iz7zR5d","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EVPY_FBXsTRftQQWKFV1N","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C2ERqMdHGnQyak8zE2Ua3","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":"s3SeXEurA7pQ3AxHTnkMy","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"swRMWnLbBXncs8KBjCilM","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":"HMGUAZ-h4rXB1isMFfwtX","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":"XcufM_ByUMpiqWDs8hyI6","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":"pH28Klpqg9Ab1bqWBH8JR","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hhb_30QTATEUTiA9GroIe","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cUfGLitXOrhU-Y8f8-9vl","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":"Ty4JFvZp4vPAKVxXqfJKd","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":"XyjRoOmqxkcJ56SA2wm1Y","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PplneKpUW-gSjgKa6mq1U","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Yb3bNTvnEbAE8dSknYonS","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":"6d40IAnqYjaYL4IdpqXiS","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V-M9RS_uR5kMwWP6QRnbq","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":"aKDzLJGuuC0Vmy8QK-qzU","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":"0UE03iFfi-_iCEcvLOhU4","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":"sCAKI-CfEw1TLpxYha_if","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":"Dsuf2rwL9LBFnWguin23g","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":"zui-EDNkwyr7hF96ajJxR","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":"oXwhhc4y7ygrntkIBOs_c","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":"h9UU6WHAuqqK8Na4cxe7u","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":"AkVqeoywu4iTTQliOdhIl","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":"svpYWAPkt9aAVvPqRhfiu","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":"JicxOsz8ZglzPzJXaDHDa","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":"IfRSwOdcIypCtQQY0Pac5","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":"N7Xd8u0AtfHKgxQ-ILgyB","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":"5zOzKn1aM6XF0CHWyG3wp","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":"IVq5ZAfxKkJEDf7SkVnml","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":"QxT3qSheXWcKKVT1RBkQ0","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":"InLEP3x9rY7msmFVd2m07","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":"JJlhojRURiCR5Jc_CBUxV","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":"lhYZ048g2fOkYenCYbR2K","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":"jjqCufErlcHWEbD7McNdH","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FyRV91UkJF2Vb7ThUHdUq","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":"SKzATew1gVpteLpbMFrkC","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":"92DiqwJXygE-McPqwqBDA","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":"eKH_kW6nxx68ppMMbzDF3","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":"WOjWxXiD60lBR0D_BMIsB","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":"jefhBuu3iEyhep0owLddx","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":"VluGYRqmue8MT9wzlYvps","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":"gRKwmrrP3zUMwxQG5xsK2","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":"D5ruqeQI7-drrM97elEOY","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":"biRiURODH3rHdHAo6zUlW","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":"5kVzl-iKyNqPmz5tIOzVP","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":"7POzUcd0p07PAs-GmNnyG","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":"3JuYYaywcIiBG2EPMYcaG","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":"yxoIBSnMDSauizBJTO4yO","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":"Y8vQi-oEFaP3AizC0Tyaw","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":"T0z1djd4GUFqSj4Wt9qIf","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":"bks8U_4bgaAXzsIDAZ1cO","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":"OIPYW9VmbGXIU8j26oubA","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":"VOg5yrWYrp7U4On3TpcZt","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":"IOZuT3mXH1YkyWU5KcCND","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":"R875fTKSFf7bIcYAiIlrX","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":"e3kSbcn4bKThzVE2TboHw","name":"ParticleEmitter","brief":"","type":"ClassDoc","description":"

            Particle Emitter Object.

            ","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"kjVlMNdIc3TxRhDinFOGH","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":"Y_XstUPhe5Sui-Scb3RuL","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":"1ZMTBbWiFjqqB36ca8esc","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":"GwJMTPrgV-khcOm4CigM8","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":"Bc1BRwteYdqq0gAJKYOLb","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":"Ju7-PM6Ih4QnRAs4VJKJC","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":"BjaJQnxatK0OjSw87oTFw","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":"QhKUPuILJT6CC60XD7qAQ","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":"Gh31kFYz9pAeEMKhxPbcv","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":"brTuQT37fQCAdPR4s_7tO","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":"vbbQA9guy2YHLSmQ7SS4z","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yImyf_Ql-GzukpOvg6sR5","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N2h4TCHcHPZjVN8NCNKFP","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"85YAwY-8Cg84mvhrjgXkt","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":"klO5SjG4-G2Eu3aBY53-w","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8hpu20UnjTqaYqHp35eSX","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eTDoEoS-lhD-MkhnYYPNO","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":"-a_R8YZYPTTTdJvsCIK8L","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":"mrnYMC85dwzv0dQXcNxnq","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":"kbO1Y9zp5kh-z0w5FGP12","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hMHF0nzwqOKKrCzTn-Or-","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":"4Jq_678MCTIwY9jlrqeCc","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":"uawf-HJ2y0HH4vcufLN1s","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":"UQE1Y2VBTjYT-9ZYEnFLr","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":"PWksCcRA91zS0dWdExxKp","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":"BzhOt74eOvGKKuUj9z5Ca","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":"aNlryncAMGoKAsiAy-Lff","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y5ROB8zQT5yZ2LhkHSFvM","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e3xmwzN08TGeE9uo6eVoG","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":"A2bOaYmxB5m6ZeW3mBHkx","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nW0kfzTLhoy33Dgl5GNK9","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":"dEXDLfV7j0HErQOKInBlU","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":"G2ohY83lUkFW-mcM80Olp","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":"btJHD2Ey6_RfE5icWftcP","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zM7aYNNOLainCyMAM3O3V","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ltKl7rCXd05EEmqDx6T5_","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            whether the container is the root of the scene

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e6mtszD2W8iaHfTAT1QY9","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the current (active) emitter settings

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Vgeo_PNMFGrOCP7MuRN02","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":"9xlGOOgf1J2CKhO8NUiQp","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":"eKUoUKSYh-Spe1WyUHDa6","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":"DM9Zov3t5FzQiT2EvKwsW","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4j_joisfiuBJnJ9YxQOob","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":"PSnhK_uC31YTcWrtK3TeK","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0A8qd6iazShL146Tq4Xgr","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":"DBG4nM6w4cP7y2_ktRNCK","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":"g2QiBRyhvaNo-zAYTp9vq","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":"7hFIDdy9NrCL-5YWba03o","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":"7tzYY-Q3FFC10V95f7Q5l","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":"j3G79aBFzQr8c3j-mVaP-","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":"EFJorUm42cPVsgXCD7hZI","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":"6jZQ2noOFaxgrmws0WWoO","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":"y4ugOywmRWs74mDH4Dz02","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":"p5xG4hudmKPFFWqJlC9fE","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":"hNKJisPINaAtJgpU5fJ5R","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":"sSiG8giqiXhBxEhgG73xg","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":"zEWmPcok3Er8jJY0DlbvP","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":"m_c4XmC6kJa1zanF6dg9G","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":"bPl-X5DxMHIhraT08y3bF","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":"bUsDeFc6YHl1vNuNGpMlM","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":"jx7EoSjog-5h85BbEbzjc","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":"LQt6j4_EkV9BFnwTV07A2","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":"ZxvLL4zaGyAkDRMHaTo5c","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":"_BuWeFseMC9dm-ikebbdU","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":"LAtpKi1_HUAcuwlrv_h8F","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":"CweRXNP1DX_47sWPau0pN","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":"S6i6Yoavf6oQOJ482xo-k","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":"gQr_K0n-TPsnW2LkIwawO","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":"vUgObTcfUqOfRm6TUMS0Y","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":"Wv54ncu4A58Hyifd1FRF6","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":"ZSmwgbxTYVoih90H5bSmS","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":"LIFra1qXQUhJWOHfNN1jj","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":"VL9h8SdCzEiGvIXOCuDCX","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":"AENxI-9w3lu5j70yFex5E","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":"K3n7OVEq3OoWNK0ej1YVp","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":"NC-OjaLj0xVDAMY6DE9do","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":"EQ0s4s6XO_ZxCExHsUpTr","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":"qaivGGX0u0P_ABLnKygap","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":"1hbtPyNR6EoSn9nCZ7WM_","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":"iAkIHXhq7GJ9cMFKF7V7v","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":"ff_QQYNlg3bfqNzZmpZzd","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":"xbsa4Q8BDRgJKz6EGXS5u","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":"j8hBWdxXFGnZTTPgE-X49","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":"WEAhKZEgbYAqmuBmS8Ij0","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":"KuRW3VHB7u0TeSIUgnkVx","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":"BtO70I_ps_bowAVPDaueI","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1Zfy5w56i-bKoVyQyJJr2","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":"5Cw3MpXD-WoEwPTqtZlsi","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":"-g1wWEsndxrzb2nrTklRa","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":"wyriBD45lEIVih5AbKO7B","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":"dURjtclfb9-sL_2pJMX5t","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":"dUXyIeqZjbX3PvhJ_lba9","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":"71VGanYpew2uRqVjLEPg1","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":"pW6n6t0jt5b5E-GNI3mwh","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":"qOA-xb9UYV4eloFJ2Z8YZ","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":"kG1mz-igKgvCCwUcvVJ6l","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":"y_z1cQ2bvy15RA49Bkso7","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":"hbOHSPJI322dS6dBm8lV9","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":"M64XJmZfmNH1YVGUOBkEk","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":"zVETa-LnKf7_WIL99zByV","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":"QJoFfzvpusAT6uWug_qlE","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":"bi6Ma4CUx733Om5NBjt7m","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":"AlG_mEl2Bk8P0Bnu8rPBY","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":"2sHgH9pJtvkv3WcSmmg-X","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":"F6dDLAfd-NXg8jvywxEaQ","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":"YLp80ltHjrBZ8OnFLlqXO","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":"m95bVb21pcc0b2NzYFYto","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":"NVJEeCMU8kLRheZxRZ_mn","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":"Y0wQTtN4bOsTk1tnT9Feu","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":"j2bjIyf1gUjot3yo1OOLe","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":"dju3uHK7H7AsCn7AOgI7v","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":"k1Jb7pyUjhlOfKZoUnxNq","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":"pNyiI9a-esddvN44c9Rvb","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":"DzVNkKFtfDitgnjlefsNB","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":"-b-YBYZjXDbBu0GpN_Vgj","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":"dU-lx0p5YNXSo8ifC361q","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":"lStnMBCOS2uHMvNXTNyXg","name":"Path2D","brief":"","type":"ClassDoc","description":"

            a simplified path2d implementation, supporting only one path

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"R53JWtq8XS8YFGFws1_4V","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":"Zh48NaSqYOer7qDXnxIRe","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the points defining the current path

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ffgktCu5C-w_IlMLorbEf","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":"HJKY0gODRmjvFFeF4PgmQ","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":"EvG0d9oSAz9skCO7yFtfh","name":"beginPath","brief":"

            begin a new path

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c3FZBd0NS3i0pR4qoKM4w","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":"arO-gABAjuQUzxxu6xbI4","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":"XJfhbSNd8nF0-j3eoWuNK","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":"YDS386aa9rjar8qan_-1k","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":"xoZI8fuvtpFI3VBb-Ogs-","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":"NrmiArj2SKW1PgekEMp9i","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":"O7Wt2HLaAeHEhm7EFbPKJ","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":"Xrxt5gXow_j2OLdiJx8TY","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":"zOOs14LYz3Su0n65ya9lT","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":"JgNDTReNPy9miV9-PWJpm","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":"K5gXVg-PPrzeIW2NYnQMb","name":"Point","brief":"","type":"ClassDoc","description":"

            represents a point in a 2d space

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"rTvqSBhB9Kpg87dprIaGl","name":"type","brief":"","defaultValue":"\"Point\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R8bl1_ch8tC3pzxy6umrD","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            the position of the point on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WqLizCs0-8BfdlncTft0i","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            the position of the point on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uNhvFeF7zAIFOAKkzDMoS","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":"wxx6MEapdKktKiaqQLC3a","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":"TQVh5D2AojUKXIP3a9Pdp","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":"UM0vdWPCHZVgID3l-LPK0","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":"SeNIQJOPl0_1_-oG8D9c2","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YQFct6CuD28jevQRuivMM","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":"cqOeFzf_Ggi_N6K8gLqBr","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

            return the center position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gn8QIG2-DozNbvISQd7Ls","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the x axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pz-CszVNppqBrAilUEqRr","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the y axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"66Wtp8nAcoW5o1b4cgszT","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":"qXCIQ3NKlATZTJ3MwZMfR","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":"CgsAesrCbecVMv4NKOVGy","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":"RplC7qToQvkcVKKFMuBSH","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":"0rEhSTaKf-xMffbrbf-o1","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":"5P18t9WvrtmEwWz1i1kH4","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":"-1VTl75XdK-VgWXqL_ShW","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":"IiTrGVMRxPd0y86YuZ1iO","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":"alXV4Sk3H0irWypp8p1Wt","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":"BPtj8hR0YyxUasFm6BTv9","name":"gameScreenX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event X coordinate relative to the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ja1MSnH9UHBOjQV8Q8Noy","name":"gameScreenY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event Y coordinate relative to the viewport

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K0RXE2bOlmnTbtt9kAjak","name":"gameWorldX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event X coordinate relative to the map

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ltm_h4L7qMoJl4GBna4Nk","name":"gameWorldY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            Event Y coordinate relative to the map

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BhxUNWsszaxPgbSq8GxW0","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":"20_eamF021Rbsd0uXFbME","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":"wl2zpOyxPrGZWFWbGpkLw","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K9tgjZjXYBl7L53hQIPE5","name":"isNormalized","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if not originally a pointer event

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7UfYIfD1-K2bYazzff9rS","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":"ufZpjdYTyJ5hbYEmXmtaN","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z409GXYiHrhBR0i6EdSJl","name":"LEFT","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

            constant for left button

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z6tz4Y78u08IBB4S6visZ","name":"locked","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            true if the pointer is currently locked

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AOWC6ZM0CtpBd-FmGuwQ_","name":"MIDDLE","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

            constant for middle button

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3sbnBSN2ud9RQyuPmbj9p","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":"9_M7qOBv26HmiHWq1yWX9","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":"3N0U6wuqC2aEnisw7mzGZ","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":"aI6-8UrOJer-MCV-e1tLw","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":"Uir9zZLK_5StI75OIryx8","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":"uaoFvNBTDmcElDjeTWuzH","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GE3uQk6_-6nFXjCLbmkqD","name":"RIGHT","brief":"","access":"public","defaultValue":"2","scope":"instance","type":"PropertyDoc","description":"

            constant for right button

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G7BKEHVWHHZjf8LMYy4_5","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1SDO8JihtZ0zcX3lBBDUU","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":"OSHRlXK4qbPGkvt_yXqtk","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GgkhtdaDU-oiPdBrhulJB","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

            x position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HtTVC4brX7QyjDdOvW1Jf","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

            y position of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"io0kEK7XHcmKERdsmAYlh","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":"y0MVnjEeW92Bw5XkBDh7N","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":"nmdVm4GC1BH56MKHMu4Oj","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":"VD4BCkiHnR9TZq3wlcGPI","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":"xMDSJMtkv-c7HA_zJU5Fo","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":"kL3GU8ufkpk9ClVO9F9ay","name":"clear","brief":"

            reset the bound

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SKfNGV8oyCAOwcOOud5mG","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":"R7nVYstuVY1Z0bWfGOla_","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":"zEyt6BQBtBFb4qbnhc88c","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":"70k6yNNuTV2EQC2_ETcdy","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":"jElYiq8tsf-bXzLA7BWQ7","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":"_M5mTmfBXs2UNVykOT6xj","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":"U-SqkXugRdiwg6YMeEKEa","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":"JLdTkCxhTZboQgWzBrh_Z","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":"bTpGCCeS471TLX0hq2CXl","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":"Iu31hTQa984JabqA5VT7t","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":"GJB7xwgOU1k5psPiRW0Gd","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":"mxQ2Sz1a-IDNscGv-Chdp","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":"SlIpNArlX6rgDO3BjG8HF","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0RjG_fa3rz4WVsATQzcTz","name":"type","brief":"","defaultValue":"\"Polygon\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FFHXNf5eKMBLc0yE5LiSp","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":"-YXneBj-7bfixE8hJ8mYp","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":"Y1NV5mpKZujwoi_jy9Uk9","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":"B-969rJUdbc9GsHQjiC4q","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":"bpYQUEDEdj3FLfvGxzf-U","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":"UdOE2V9rEnS2kIvXoHUVR","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":"vAQ_bSmezEtQT-u4nFtIr","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":"Ri7qnif7WEVxANfczX6HW","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":"QBG4UcweRtEJtT-mtQDNy","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":"j-UTXpNUf1STC44bjK_Ip","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":"2T9IgrrJXX8tzN92oE12_","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":"hxJVHTKUBp7mB9Uq4WHIW","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":"UZRiDANCVlqjxrwzYxl_l","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":"Yv2Dk9i6znG_u93pRmG6-","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":"xelSs-z67-sy86UPTtamr","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":"wFSH2cFrkJLp9eEBLfAG2","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":"a0PVAG4LJtgf5lAAV-3X-","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":"RZIgzqsHwI5UBOjx_m8Ka","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":"er4f0nTWhdAnqv6iwSQ9l","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":"ZJ1x6h-BvbkwcH-EDojnN","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            an array of vertex attribute properties

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r-e25UURt6vjTg2cgCKEy","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the shader currently used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TG8gC2Z5wLxfil_ll0lTK","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the default shader created by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vwshoIumkeWQR5Dzc_b9l","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":"4i7IcjL6XcsZvGsktHEpB","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":"DeTh9mKahvV0x9kWuqrVb","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            the vertex data buffer used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WDruhSxQbdX5VX2bxyk6E","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":"oBaE5tHCC_ikVzFCyMRvL","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":"WduH__tzxa_WvbmVc2MUp","name":"bind","brief":"

            called by the WebGL renderer when a compositor become the current one

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0q2p8xxgcl8wz8NkXnrIf","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"2y8TWJIbw-qEjJdz5aG2R","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":"Yipk1znYrh-7uYASYu1Y4","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":"PSy2QLp6em12NXm-_M7aS","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":"szaDXSJu_DbGMnP-Q41Ir","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":"E-KHJ46BdGN6RR-MAwpwM","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":"gew8mDFDAxsHATBkQg86A","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

            an array of vertex attribute properties

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sivei7t5vUgTRLGQ4wMn4","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the shader currently used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m7gRv61Prbyc0IQP7oUWg","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the default shader created by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BrKc8llx-Dr9-v8DURush","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":"29ASTybO_7rW5u9i5MWZt","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":"-lQoiYRLPnninuDPEoQbZ","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            the vertex data buffer used by this compositor

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rwTXfsTt5MPlPQiAC7-98","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":"CejXNPp7dQkx0eql6m6gY","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":"AoSbzYL4b4tpsKbdYsGFq","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":"PsPQGk5jvXTqRvxn8OyIb","name":"bind","brief":"

            called by the WebGL renderer when a compositor become the current one

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DvOHkokbQE61s9UzRVpgn","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":"gwn0nhGwIQFMveP6K1pII","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"X9bplrY75GRrDGt725VLX","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":"YpeEhGv1pcou_zxikcLc8","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":"zAFVYa9IXkWBMQ_bXpltD","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":"REZEQtvwBiMyLaSaOhFki","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":"6IbFWocmrNgatNS4gTa5A","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":"W4LsrxUD9NtZMG3QyxwAM","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":"8fJG_UartES4we5pZjqoW","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":"C6Z-pwYk8xGNAtxCWLEp3","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":"I7OyS8goVZPFqvUy4wB6V","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":"jvqvmfTjmt8f95RUCy-XI","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":"weA-9bNw5n5yjBlXRjn13","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":"nTn5nPc1ocuTcwgeGkTWM","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":"oB1VuRlnXkH82ujR-3oIq","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":"RdWBWsZNAYEALxnMJrEte","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":"-e46wjSZ3k7szml54Ebra","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":"BXxF1G36QCBGVNfMWK9tV","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":"vE3Hcl4DbHbQNS7f65SiD","name":"Rect","brief":"","type":"ClassDoc","description":"

            a rectangle Object

            ","params":[],"returns":[],"extends":["Polygon"],"implements":[],"members":[{"id":"kAzQxGBDSdqDJkiB3jnx6","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rqPXF3bV8K3kLtpriyZSe","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n6IFZJOCLBmwBLZm3rQJt","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l4lVPqP3gZKq65GTZuB7C","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lXES2q2kozfqMWu_KGQvr","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nb62yQE6imZ1bdS8YWoNH","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":"1tGo32l0fCGY9g_Ruwfff","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QvnFOXmdZEygrLwgNLMhz","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jp_banEzBHbDSOnnqZZHI","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4VOO_qyx0p-XOfidUiW_p","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k9FnOAbex2thNZyPFdul1","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DL-2glaGFY-BUfHzZTHoi","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":"p6OQ6A6N2-7dx1cMZXlZp","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":"CQEU_5xFypdrsRWKBOcND","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":"wlc3-_5ONIbw8xg8FD3Kh","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":"UvRgoERjjO0j4lEZqOnlR","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":"uz0bjPpB-R-6PjukePzqM","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":"l9tFMQmleCsMuiUOu7o8a","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":"5I0_51Bd1DNvnf3zk3GO7","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":"TeBnwyOF_tSc7gwpsh0II","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":"uhRbG2Q7z7nAjcmX-DDok","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":"fnNhTDs-yybeyeaf2SNoF","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":"o8z4YY51Mhwdl2pMJuDLs","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":"KZYZqcPRyb_hiWKNmmktX","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":"gOlSgGB9bTkjs6tywmxBL","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":"pUxy2T2nyABhERctv8-4G","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":"QCiKol406HdsuKgi-jCQq","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":"ZuJ8wCmvOVwNJXXAtA7xi","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":"WCT6haPDXACgV_jfSz6Di","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":"d9wSQZSHaC4t_Ehbd0bLa","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":"TKxN-nZFaiXV1Rd3xAMaC","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":"OaHhvwrGQSur910FDcOkq","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":"yXeE8DzfUTuglb1i5GMFw","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":"wwTMGaBG4lFAk4lH74-ez","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":"9lRfRe7rzlZPuL-lGSQRo","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":"fqrWSWp1F7a3qUWNmkqiD","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":"-sIWijY3WoEe0-C68HHvf","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":"QF5ii-HC78WhbB9ImWtWg","name":"Renderable","brief":"","type":"ClassDoc","description":"

            A base class for renderable objects.

            ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"0332jMGmHD7F_y89OswD5","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":"JDz4tircHFuaOWApR4kpz","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":"9qQsLQ_kZrZZeUI3_VjMs","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":"4c3c75G_bbrqOc5JKiQnO","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":"UO0D9wFIgdDnTn-odxZjd","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":"b8JgCFCpl-bg9NQ1SywJE","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":"KoH2z2Fvj0h1pAf65UJJ0","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":"6iAdHBzWb_hxqW7FIcJUY","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"At6I_5Ab4Lqcvb7SUo_wD","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pNpxIywwUHximT5LvUAOL","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EvCZFgwOEe2Z3f9ZTL2ph","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UeXUJQQoLZtxTiox90elQ","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6uhHlNiRTND-blba8H6Fd","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":"3j6dpqW0XnDANWZ7V4ENT","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":"PS6zTgzDc5nlbAzyZVlbt","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hlZYaVLCrHt0ooqSjSgok","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":"wh154Boh7-JmTAEQmkMWN","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":"omwKABvRqd7IwC5VfCwP-","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":"t6cj-U8ReygFBXKP-Ajc0","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":"IaFAGFjnIO_IplT_fhIyL","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":"ldclcJU-_masnqQxzuk6H","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":"Ja2s8XRvHm_0gVFs2jL9b","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"btOOKjXNZmygD8RaSPTBb","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"popOjB4JzOZyUdeNvKCno","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":"PBM7rxBTAgSuXYg2MV6BU","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CxPifpfwdPJa9i0_K_fO4","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":"P7tFoLmY9ycMoQDrV8GzW","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":"qbJFHVeaUu831Z7EYzhU8","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":"dsIKh8JVOUDB2IBV28Mpq","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jZ_uOZGFa31RoyyhBUvJl","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"grr8d6gDa2Fljnj6XKKC5","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":"xvf5l4qMxxJrYRTtaAQbh","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":"GsO91ngH0yYNyQPfrwRk_","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o41zBL-Ijit7rDFdjuyVl","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":"GKK5S5Xtynzu-RnE73FvO","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hrRDbmjhQRboZd225F-P7","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":"RDClQP7wV_jO0KWIgheMQ","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":"-xmiw7JDcJmzMP-5gNOjq","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":"RHZQUCK7IWQo3VlkSnj36","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":"Pqv0ZK8qG6bBVftpR7GP1","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":"Cm5N8zDzKencwZ6sjGdz6","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":"EqNw2tUc7jM0r7GxadjCj","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":"CxC5BXkUg10Hfdf5z11bc","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":"LP2ySsI2jSGk1s7DRj0un","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":"FTyWikqO0YSTOn1dVtWmP","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":"sN-8yNEyQysNJmpy7aZqp","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":"s6Poe-NFspCtzdPnQI5ZR","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":"NOs9B9bz5sGf0bTFq8CBx","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":"HKdUjMiuitI8zyOPV3lZj","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":"uU92G6gPWF2MJAcVXQaeD","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":"m6x_58tmDYMh6WmWmcvbV","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":"DCqgSGRRFWJQRbgj2-sB8","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":"OpLh_hMS7keyBG48U2es0","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":"UrrtvSIetfaBzIIWgTOgp","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":"lwuJgctBhYHsvbT-B_BbA","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4qIf7SDUd1n31J-ISTWCq","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":"LCrbRbp5lmMDZjAsTvNnJ","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":"N16V_uVHTpGzsxzbuiKrq","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":"pw41IIH_68UUILqWrLPP0","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":"dSnr4d237nPV8dfINvNOl","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":"1PmJy8FJsiO6GX7GwAE4L","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":"URetZgx860k2N8W3Fosax","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":"fLgbOxwVZvsxlzQTzloho","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":"_Qq1r-ZQFzdtLocBRWodE","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":"uXHpIklAE5TYVSW8Yltvi","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":"98sICy3ykq6z_wQWAdayH","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":"ISoMePOFR4LjoxK64r_tp","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":"JETZ6v6IyR_sUXuzLHk6H","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":"yn67_7CQRuDJGA4MwBo7w","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":"VHgUOCTtRmgWwdnPioT4Y","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":"bk_qKSCWyjzkbmONFKs7F","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":"ObnVwxb0Fd-PAE_PzNvwN","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":"yBe2-KakLMeS1SsUW2Yfi","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":"suDjKUDqvkgi3V9ZuTCuq","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":"evWhcbvXTjTXhlGj6z9xT","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":"mjeT3wwvsltJqma1PjUDy","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":"iOfZ0jwl-bRM7OjdCL-hx","name":"Renderer","brief":"","type":"ClassDoc","description":"

            a base renderer object

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"JvLmfHWwKSErB-cS-oNyF","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":"RHRe4W1eVYoCjT4L3o2uD","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"k9EpDx3fcJa31zU3B56jV","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":"cnfQVyBUqWpNPmuJno7ca","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"JFqfaswMmEtZn_JY3vr-v","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":"g9B60pzWwKbANb2uqMRAN","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"Jmm6jnkPqNZNk9wJZfW9M","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

            the default method to sort object ("sorting", "z-buffer")

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k2ijX00ZUNmNc-CdGIiDk","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            the requested video size ratio

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pns2Mzi0VHmsnee_oDBIf","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":"1fvHQUe2XSrRGmlRuoDpL","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

            true if the current rendering context is valid

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Co8A4iDWn2_sfJzQCfdqB","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

            The Path2D instance used by the renderer to draw primitives

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tPRHyk2tvW8KvY2iHO9Yl","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":"zo490KNHk4IWKBE7gN_Am","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The given constructor options

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WPNF0nLiYWMhvTg3Ro7JT","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":"ZcIeKzVRCDQlLivW-VUkY","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":"7B7nwPfl5_uDpybp0JbGT","name":"clear","brief":"

            prepare the framebuffer for drawing a new frame

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LxQpbOlXj8rKR3kycZpPe","name":"clearMask","brief":"","scope":"instance","see":["Renderer#setMask"],"type":"MethodDoc","description":"

            disable (remove) the rendering mask set through setMask.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hgDWZsvbOAHh1p_2b_dT8","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

            clear the rendering tint set through setTint.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IsFk3MXYSoklvHqge9k1Z","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":"FrsHyNpAOb3K-t5X4AB0e","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":"ZdJiQuqJeW_xAPxgBe1XG","name":"flush","brief":"

            render the main framebuffer on screen

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h8Ng6ZEKHzhTpb7kRy3Y7","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":"lrTS3oBo1eG7lzTPmRoxe","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":"khIbKeB3_Le3Cap3_YsGc","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":"GUlngcAFhqgpnFcoEZh9M","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":"PWbI_CKttspggtfnba1P8","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":"Gkwc2-CuxP7vmPkfR4vsB","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":"Dcqta0upINRwkvhQhaAEZ","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":"fSsq75oJbO4QU7LTb2iTn","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":"Yk6V0xNGBDCErSsh6GcF0","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":"JWSF93HdOrK5wEFwF6TUe","name":"reset","brief":"

            Reset context state

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sWk2p7WOcsyzs8u1vguOv","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":"GB22r0_AGehAO7x0iulPm","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":"spUguS4cxbAaLDuvwhaTp","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":"m2lx3Zd_5d102YAsHjDO1","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":"ajsXvnhrg-h6Z4rSVax8E","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":"At7BI82Vue7hADP4ZbAqD","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":"vILibmWgYTLpznYnRfdVL","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":"mqNrxifhwyuiS97qtLp6q","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":"TFid0iWkWX7UH6qei5zKU","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":"F0TED_BXkIQL1iToGsuQa","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":"AU8oVkH1CAiXkfTNHSiGL","name":"ResponseObject","brief":"","access":"public","type":"ClassDoc","description":"

            An object representing the result of an intersection.

            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Odlrl0VVyEp5ZAI_bRfMQ","name":"a","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The first object participating in the intersection

            "},{"id":"rnHvk_G7EkL8kzEIoNLyK","name":"aInB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Whether the first object is entirely inside the second

            "},{"id":"IPl4Z2wgt8RVBuzGys5TS","name":"b","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The second object participating in the intersection

            "},{"id":"rLy4Fd8CloUMyQ4TB0cmJ","name":"bInA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Whether the second object is entirely inside the first

            "},{"id":"AfLQDDUHxD4ePrf7LFH-p","name":"indexShapeA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The index of the colliding shape for the object a body

            "},{"id":"u1PtDwncMvU9Qzp-w0qrW","name":"indexShapeB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The index of the colliding shape for the object b body

            "},{"id":"_2SHX2eb4A-8W6zsFp41y","name":"overlap","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Magnitude of the overlap on the shortest colliding axis

            "},{"id":"VRDF26QTSloq_opUP_gOe","name":"overlapN","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The shortest colliding axis (unit-vector)

            "},{"id":"lzZ0VABQrNoj1dB8Sm2zc","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":"IM9IqQCn7Edbs4WCh8Gyq","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":"-y6FYR8LZdr294QxodMNv","name":"RoundRect","brief":"","type":"ClassDoc","description":"

            a rectangle object with rounded corners

            ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"IwUdyW1v_4G8dC9oyhNwo","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Muof2CuD3nrmr5YpusR_d","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jVcJMhKajnnqnIEy0HLo2","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oyJE3OiXBGHMW-OFytlt5","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XHtJs12869OXlIsg6viHa","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QbVAjJe-xQm2ZF0uVpaPF","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":"lPM7EOjni0kTbHrgZDMUr","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

            origin point of the Polygon

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1VN2kGmFcRbHfbW--qYvo","name":"radius","brief":"","defaultValue":"20","scope":"instance","type":"PropertyDoc","description":"

            the radius of the rounded corner

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JvDSmPicIKCSC7ANrdgFb","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W_D26Om-6TXCfJw4pUzLl","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O_rvA5ddurQGEAFeWQvwP","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w8PoqUAQSd9GNF76KqFw1","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":"2qK5uvcd_8Ov4ZH1SuAw8","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":"Qgw4YehsaKIpjlVUrcWn1","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":"TqGLod_ZKKTjG2zZX-rvM","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":"vAaDfqYToT3g2Jmpbs6aV","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":"LbJf4dP1JYlheA1YQtkpn","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":"vJEoSfzbqJwnnxCnEfjXt","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":"GkMktAdswG7VxbzykDR48","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":"6H5Y6OKS9FX_2-LR4KxJS","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":"UFo_kqT9-J9gFDyXqPEo8","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":"icAEWFZWsq-08OA8J2ByE","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":"X49P_w-7jLkhh1gf2bQX_","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":"-d8RhNgbFWYd4v9svyAoH","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":"isLTYpi5Rbzi4PH7YYXnn","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":"06sql9fGUi2WkQbzdcvpZ","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":"MporasZZc89H6VJa9cyDn","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":"0FvX8ufEULa1IQBQOcEE3","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":"_FhG4jB8IdIGBNLLeolbG","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":"aNaBpYJp_C8Gp9xzyG3Ec","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":"6IEfvYygP4H7-d-wbArj7","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":"qNjNyTeBhE4kVjfYwWF7T","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":"zDmhba9FBMgloIDsHW22y","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":"372mMgtfQlT0A8mbzhXyy","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":"-pcQ5eg7Gj3Ym7yZ1-m8w","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":"XI78E66mAbjvD-l6CZiqI","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":"eff55yAhJEwVkYWHSHxY9","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":"JzGGX58PwYDGTnmiBS_i3","name":"Sprite","brief":"","type":"ClassDoc","description":"

            An object to display a fixed or animated sprite on screen.

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"TwiGkVJDQDuBN8HbBFw1O","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":"AE-ur_uCin8Tk6vVWPI1w","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":"n1GvlEWz1hw4dGiFSIEy3","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":"Tbmm0LOtPa8eBIc7n1_t7","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":"ZBhbeKHPvXq66Z83xq7lA","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eIfmUyUS47jH0NyaDTNcX","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

            animation cycling speed (delay between frame in ms)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HQn2j8UHp3Jox0F52sfeW","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":"l-SoONNYhhDSNG4lTjdon","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":"NhTU2eJMgozEqqtCcSBpA","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":"uYEqmACb5Hfu_2bonOwX1","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"icOdUM29aSpvvEQkmir1W","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ApZVxANBb404bnZ2b3hxR","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CSqsALoNo1m2KTeuf8pjh","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uO4oxUHZ2w0HoyH4MQRCM","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sT9aZQE0FOYkEtT_CHrow","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":"6_kGQtHHhzp5qFyHhQ1sm","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":"9u4ccBI8bopLOa4Gxs2Dr","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SuadmCxBSYDH1uwSEstpV","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":"y0xzp5pKmYjJI1zz3o5nG","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":"Tk-TdN66x4-GkxgarGCoV","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":"RqBlDDEqAsU_1OJp2YfMU","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":"Z3tZ_nFzISUmf8Sz45_C0","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":"UwqsWajk_SZCzH2eEWnjF","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":"ZXvmyv7PUIVEJ1fUShsYR","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8x1C5OZrv5UgHDHSLDmgl","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":"hBnAFtzn3oS8kNZ5dTE8V","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"phrysuWIrph_MzlbMYHpu","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":"3AgRwFdub9F8vfwm8I3Ve","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"74_nWBoJYCE_LUBtmjDtv","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":"9pXEun4Q5UZZy-Y4PrcPL","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":"32njya88YvJGhv8nji4NY","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":"ZVcJcmxAl-bi1WZM0v5Ky","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":"_ZD1bcmUc014n975mHO0E","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FuD53mvhPEF0nqhAVPxw1","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FPy-p5LPmdmLCNdvWI6of","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":"X-_0Fjcu05LDduz260cTq","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

            The source texture object this sprite object is using

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mVc9IHJ1j6WsxDxGbhwfC","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":"bGOQK8qUShnRWD7WN8QtI","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IBH_K5uw-F_BOpo9o2nJ3","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":"p2s3OfmfcyPBV3vDpIjZf","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KpX0C4GViOt0RSxWEXnow","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":"0Zl9JIyqKt9O9Ez-DbYQm","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":"Lgq3pUW7ZJn0LuG3EY_HI","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":"fW918wHnx5FeTosgNk5Sa","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":"YugqR12q0aSFQkUf6wQEX","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":"0aIMuuu0SXLHwwjHWVxqz","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":"qyUzM1NSEdkQIfiGo4gKg","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":"SqL9VVl-PAx_zaTmzzx6g","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":"DbqlvMSS118OGbth3Ep9I","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":"MFJmmIMXgJbr6WDsI9Fr7","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":"2wawaNLaDRVyBzY-z5Hhn","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":"-f3Uo5uRCa0oIBrERDi3p","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":"hu_VGMOchphMlGN1ui-qO","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":"dFqzquD2f8S2aM5e2LTpP","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":"bf4Hoq3sGKKyYkYe7xNxQ","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":"edZ1Z2Yu6dAEqfWp6lM2t","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":"C6-MOQbsZLiVLAJ9flYOk","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":"_8lBBExRrk-gXX0ZlurHH","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":"ZOrLNhAqWAfLJG8hnAwAV","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":"av4ziIudPNgTgito3bcum","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":"Q2GPpyT8ma0eYSrqiLjL4","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":"4v_GCXSQKHrOlLFwKdKRJ","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":"ajQ6W7zl0tkt2rlQoIrFA","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":"8PvTaKTs5yyLu9s2U9YYj","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-ET0PZWqq4xeRutS_qBfU","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":"00eoFZBVQ7f2SfcgtNTXo","name":"pause","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xI2gk7Dyny7poSZADly0j","name":"play","brief":"

            play or resume the current animation or video

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gujqd1Y_ffXsyFjk-pHv8","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":"aXoh_E2TUiS4V2FQMLEdX","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":"A6dilHJexp6ncbGjrcCDy","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":"4AArANbxAS3ysV43b9uDQ","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":"e3GUE8i2-2n978o0fGamn","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":"N4TG26-g3gxByunwmRuXN","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":"k_LDJfiI1deU0bNUUlcob","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":"QcojyIgyvvZimdlW7pLY5","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":"vR28B4btY6DBZnh2LtgBy","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":"h1xvkmuxjA0C1IZGFazfV","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":"KzXFBQCzdqL_UxncTRvic","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":"3H4q_3twj6cZdMZYQPrAf","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":"cxrkD7QgMTk3lEsw7ejD6","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":"7MbR9uQrgKLu-id0ZKfTs","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":"nkStvyu1ppDbi2Yb-WSBX","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":"o0dXFUcTJFuuvUWY2Ox7B","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":"IbDVHPnBeun0ncmraIBHa","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":"f7q6ej-6v5jM3Q8TTss_G","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":"0_wcdLpdM2EdDuWbvQWPT","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":"3ZbOqaPoH57xOuYXNVXA8","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":"oq5Fh31UsOwnPTIbrk00c","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":"V8E7vU1FaEROb69TwjVqq","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":"DhD1vpRX4SMGU6XoxgVt7","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":"4jKldUGbz0e358lDb7kTE","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":"UlwNtfdpQ7WOskchrU9ut","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":"zepsdR27i5tyfx8yTKwGq","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":"poZROSjiuuF7ro91kiaxx","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":"E4askLI0qityHsVpJmMuU","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":"ssS4uEl4US27xskCA6sAX","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":"xFGPCZjez77i5COHKDH36","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            The given constructor options

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ys53_xPz0S3ohufzvWiG2","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":"hv4xagQR9oYvU0zPFMg8p","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":"_hbcfcGZMnjKOgILz9l9g","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":"1tndmjwReBTQK2O0UFSBM","name":"Text","brief":"","type":"ClassDoc","description":"

            a generic system font object.

            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"1PdHRDCqa04Zqoi24V89M","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":"Qyp1kIg7ky3sMeZvx3yU8","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":"tdqbJ6AenVa8cjAd_ES9x","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":"ZuVEEq_Kw9Lws6k9sSM6W","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":"LEZCU0tOwAAmYOqCNFBFh","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":"mkaaqlKp88aZatZa-Bkx8","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":"UFG6_WRJpKpO538yimHzj","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":"ggVc1FoDMhpnyaPGKitrs","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1DonHaYfGAoUO14d2a6Uy","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the horizontal axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I3C2JDSFyCFTRrzAdXy3Z","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            absolute center of this rectangle on the vertical axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HwmZ9YaCf3rENcKHa2t-s","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the renderable default transformation matrix

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lVZu9BeEDzKBYNaGAVWYU","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

            the depth of this renderable on the z axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qSCM3HIWLghh42BErEsZ8","name":"fillStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

            defines the color used to draw the font.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kTc47q86SUurmLJzZ1QP0","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":"ww7TJ7yXQ5UKeTYStJgwa","name":"fontSize","brief":"","defaultValue":"10","scope":"instance","type":"PropertyDoc","description":"

            the font size (in px)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5J5chGmL4rkP6bX1w7O7S","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":"alHnvlzCKjGSbjPWQnK_I","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            height of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HJIaBCqEteOO5dAgwiXzG","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":"yPbNgvoLsWXeiYVTP-60M","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":"asMY00h0hFuyXGMQcirbB","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":"eB-TQ0TUwrli85majyTiS","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":"m_IDvuKv-4Xd5IV8d-BC9","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":"8w0tnTI0jAZ6461N1xOVa","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":"5a7D5bmKIsDVXk9qDIzfi","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

            make the renderable object persistent over level changes

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y4zYkhcC35_KQfBc1Bfdq","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lk2Xq2TOtuHDopc3lsO_b","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":"t6drHc6M6HRB4uhib_mav","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":"hyaOYTxHcj9hcxkP-usjm","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":"HXDTBqMv0NIIUQKAONIJt","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

            The name of the renderable

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gOAlgi4UcjGE5ti421Q2a","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":"7MpGjl2It2Yz8t1bGDCHv","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":"oJDCXLUCPVUVQF484t-zR","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":"wGdFgECAwnD2PH-KkX3W8","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

            Position of the Renderable relative to its parent container

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i5Cgty0H9nmGnpe_nP13K","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fj2WYCqdHFj7CQQE48n3S","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":"gG87qHmOmZ4lgJgGEntNY","name":"strokeStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

            defines the color used to draw the font stroke.

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0HyaBM9YemTwmHQgUi8OF","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":"fOTUME3foQojuzjtaao_L","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":"3B4-Zfts-VWdTjtK31PAC","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":"8avDYxhn8WJMTjW56K_78","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the Rectangle

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

            the shape type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ux7WnrJW3bxxsnX4AG4qf","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":"hFoRXzuLVYbF6FgZdjFnu","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the Rectangle

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H6l0B-_Izinux0Cq7P_w7","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":"c35YyUyrAMUSXnf2uIuZ_","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

            the text to be displayed

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XNfH_k13MyIc-fwAqQcXG","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":"U1JoAZb4YY04YIuy-H-D6","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":"hU6ry9euimrVBGrmJs9Ul","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":"WyrcJk4RBT9CQQLfKUvzv","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":"_AfuQfQT0fd_F5OFhfLRR","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":"eCQsXbcFxR--xGYLus5Tw","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":"MKw_BVqYv5ApRF0o0q7RN","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":"iZsnoyvqVlr0Amlj0oo8c","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":"TWK5aIG_jZIMsvKkzUR4P","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":"zCPltIkBJi3k_KbC_-jQ4","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":"ycCXHJRB5795op1GB8UM6","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":"j-oPG8x2-gGF3x9xqE0g7","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":"xntslztxbKqU-8HL5iTEq","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":"YJbeRNXM_AnCXs4r7Rwxn","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":"uF2jaFmhB5BWGxRT78d1s","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":"4txw8sih1ZKMnnFj0t9Va","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":"36CoZruA4mxa3LN4RtQDC","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":"Sp2rJa1rmUqdCOilcXgY8","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":"k0gjty7g5MHok7r3-dYSJ","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":"sXycK84YHF4oK8NhRC3Ra","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":"ZGm7I3Zbe5JHCnXbKSCQC","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":"iI9smtPSQHKzdKEHsiGIA","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":"2qc8jhblGBrP6Qk1_ZoIv","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":"qtKpkuybH6jmfxv-2UADx","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

            OnDestroy Notification function
            \nCalled by engine before deleting the object

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_gGZoNSLmwBwluTaVO89M","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":"z6WH80C33DAP_5OJQkBMK","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":"f3R8Wng7P5U9hn9mE7LYc","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":"3YM91SKXPh20Em18nbb8R","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":"rRXrOzQCDPrEwrGsce_22","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":"QKWNe6vquv_h8MFwSCoVx","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":"s0bOpvWfeC3hHC-IbHTmp","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":"_CqABrlCX-zseY-L9-TV0","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":"cz9WOU2ky4zW5l4-A6gYg","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":"WTR_-aY-Py8jvycCL6dSU","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":"5cIm5nM9RSME6FMK6s8Qa","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":"Ja3nGJ1QxLRN8dB7Puo2Y","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":"zk0v8TqkQ7eIZH24up497","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":"dLGe7YyOIbT5R6K8NcYu9","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":"FpMYo5kWLnQBEsbODrJDU","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":"M7gQxql3-DlECrZ00rM0_","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":"ulObF-r36K5qQq1koFqjy","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":"vCYBoE0sAb1ZCC2OvMuPV","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":"E1xO_7xPnSH2vabTSX6gK","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":"qQ7z5qts7AON7ki8UYgT7","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":"nid15TJeV_YnoUeYC3Mfo","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":"G8Hi_tW6i2IZb91QmP_rp","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":"_ez3Hie7ziqqkudjuUwE8","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":"iZIf1A4eW6bZINPHYjShF","name":"TextMetrics","brief":"","type":"ClassDoc","description":"

            a Text Metrics object that contains helper for text manipulation

            ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"_u36OrtDlKesXW5O4FPuh","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":"bYoTOWK0M2kySW6UQYKoZ","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

            bottom coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bCXvQtWSZMwFb39qUrXYm","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

            return the center position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VEcfBL-8Zpmxbogn1zWKy","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the x axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9ZX7ee1q_z6rF7TRaZPtr","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

            center position of the bound on the y axis

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BL3b3Ehns6KR5M3n9s_jz","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2dKUEFKEEXmnSzcydxovW","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

            left coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f_RkuIzhL8RTB5nBOrol1","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

            right coordinate of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aVcpuCwMekzznjnPLSUSe","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

            top coordinate of the bound

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

            the object type (used internally)

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ka4msCvM6cWjbIPbwKyEh","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

            width of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2DkNa9spSxBrtEJtqkVvl","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

            x position of the bound

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vgamqQFHhXv_vmg0bx5MD","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

            y position of the bounds

            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HOpFuuu9rE_y-Apo8HSIy","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":"L-72dNYz_bD37wk4uK4h4","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":"5CmI43_7NLq0bdGsQZzRV","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":"GHlv7mCNY2t_vh6SaP8E-","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":"qgzH1-L_9NnxU-H39MERH","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":"_5h6q2MqQju-ZeYvFpiJ_","name":"clear","brief":"

            reset the bound

            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U17nwXaNmi9f-0738i9aJ","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":"ELFEU8qxyOyxg1nO0qLfj","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":"mbJnHssgfYSrXHIzLLGTc","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":"HRyp6s45ADmFTrvY_wa0u","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":"z3Ya5wtXkncXb78sCvq4R","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":"W9s7ufbV5VKCLGqUDQ7JU","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":"Begvzqh1yb3MOFJia0qZX","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":"DaG4PG-GhPvhM_U2Go1O6","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":"t1x0rRrJRJPyU8R7YQp7t","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":"eunwxKCJW4U6kLeQjYDKB","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":"2_4YQXq5or9orfzL51now","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":"2z6teYJnpkvlXfzLvDseK","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":"3winwQc4KDIUupvUVg-Jc","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":"Q_OjgeC1tTnZS9-V-0PGn","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":"lPNX2_gvCD4Yz2DYyI8T7","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":"tvilWjjBC-vVMqJNsMma0","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":"wZ3mlYYQZ-2fzSxVfLvWZ","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":"Ib88dCGbBaLoQwVFZcLuH","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":"i7Elwa2RntQPfPxATmtxN","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":true,"description":"

              list of names for each sprite (if not specified all defined names/entries in the atlas will be added)\n(when manually creat...","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":"pTQnhOuE6CnMvwywRzDlw","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":"qCZquO5KToK_7QRNSLlZZ","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":"SkP0XrbezU3_9Bi5VKu-M","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":"Yo2O3Cy25JBXAJe_4S4qU","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":"A5VSvZrwdw8geAvFf9Uxp","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":"Jb3xtMf6_HCATWiKZ1J5U","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":"4521qV5n9qwJWsqNyAnfS","name":"Tile","brief":"","type":"ClassDoc","description":"

              a basic tile object

              ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"74vyUxrZWSx5C5M2jZ-Rj","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wk1ElnLBXhwyoOVdBmqIV","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

              return the center position of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qcKPLP0jf3FhDRkVJ1Kk8","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              center position of the bound on the x axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LTb38ZPkrb4OReb6QUiHl","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              center position of the bound on the y axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7DYlL8D2y4DukMabquKHF","name":"flipped","brief":"","scope":"instance","type":"PropertyDoc","description":"

              Global flag that indicates if the tile is flipped

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3RxTfmfkUA-1tISgB34E2","name":"flippedAD","brief":"","scope":"instance","type":"PropertyDoc","description":"

              True if the tile is flipped anti-diagonally

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"195Zw4DSK9W8XlxYvMMvI","name":"flippedX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              True if the tile is flipped horizontally

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"055wyJY3R7HgqOCoRRug3","name":"flippedY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              True if the tile is flipped vertically

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cxr1YfvhFtF7wQmgjsBzg","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rTYsnYLmrn06X7Pery5Re","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sz2t9LtnkbgPrbqvKL0xT","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XlJbYvbpirKECUVpbdWcT","name":"tileId","brief":"","scope":"instance","type":"PropertyDoc","description":"

              tileId

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LMS7ruG0zOEIwNrfUupqx","name":"tileset","brief":"","scope":"instance","type":"PropertyDoc","description":"

              tileset

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CM12JJ1LW9377f64_D6Wl","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IuRUdO9DGfd2J-0bVlcql","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

              the object type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TEV95Z3KdoOu_ZYsZpWFt","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_I2Zr8wRsUtWwxKWeoWvk","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

              x position of the bound

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6wkbQtJsXtlphsfNQ3Ptm","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

              y position of the bounds

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vmoC9O0uIJtUNk0D0UEZe","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":"ZawSDGMNahS1MslLr-U2o","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":"aZ58mydkrmab75yi7xIzf","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":"oI6sHj-4ezMB_arH63kAD","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":"tuaGz1d6WHl6mdOL7aKH7","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":"YGVBaHTf-VALVVUZD_Bu6","name":"clear","brief":"

              reset the bound

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8U6QhOBo3D6O-rUUxX0tq","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":"zfZY4l2yhXDBf8ksgsR1o","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":"HxTaTY0L4sgWtRHjBFFpa","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":"YdwAlhh-rmALK69VJ3tWu","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":"UO3ePZQOEo0v_eVSCxCdB","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":"dPQU50sHudLA5fHHmmkgY","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":"JPOXb4N9B4Xoxx2pX876V","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":"U6PDjVtLcgP8ISI6JjSHj","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":"WfhwGmCnebUk-SJdCOKxV","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":"IQMvJnL6hQHNHg91CLjDN","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":"Qp4lprg5zOwM5AeVgJMn-","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":"lI7M4bozI0p-xKlkD9tRc","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":"UidSJOu3lgyA7BjvAh1t6","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":"T7fyLYUImXT4qwoBgSGmb","name":"interpolation","brief":"","defaultValue":"false","scope":"instance","see":["tick"],"type":"PropertyDoc","description":"

              Enable/disable frame interpolation

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ziLX6NlggU0CvFVp6QM5_","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":"6qf18hNYChLXaN_xPld7y","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":"aZRmaWVss-bsRaiRYFmff","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":"MTneKdojxrtpG_hK5ZkJP","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":"YYOYcqsY734AS3e7yHEJr","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":"ZkUB5_G8AOHs3huZHDNb4","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":"Ut4DEsGcnrRpQUTiPkTsG","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":"GvDPwO6L9lBYHizvFcyvW","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":"BLe0_vw9_Cnnp2sK1qYJT","name":"TMXHexagonalRenderer","brief":"","type":"ClassDoc","description":"

              an Hexagonal Map Renderder

              ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"s4hSwiNPAtCYgD36rJlW0","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":"XnO1Z96tDiHP8jSUqh13I","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":"X-8-XmP2oDf8Kv3j6MO_c","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":"rZkJBRczSk_W4tAG1QtSH","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":"Qrm_mlUGdyl0QdKY1cP-s","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":"yNKyKDVeS-nfKyKvIyK4W","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":"Fhh3ynfgaA3kFjUgKn7_6","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":"B2uVka1qu5nzBi_k4qs-s","name":"TMXIsometricRenderer","brief":"","type":"ClassDoc","description":"

              an Isometric Map Renderder

              ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"mCR8aQGyS_1GpIi1mGqfP","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":"Cvc2oAw7ER9JShWbXPYlw","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":"rhZs9Hy_760fttLn5IhJy","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":"_xWc60oDFC7ZZgF3AaN3B","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":"d36_rrOCvraKY8cwIJJDM","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":"urzCwXwZ2x2eg7i-syotv","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":"K3mp88YlcLhiZOuCv5c8x","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":"b_byxyamZevHCh0a4Dhva","name":"TMXLayer","brief":"","type":"ClassDoc","description":"

              a TMX Tile Layer Object\nTiled QT 0.7.x format

              ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"Esmg302jsXZAMSjzkcLvy","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":"XoZRm-_lBo2ou5k-fwlpm","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":"IzN8RpbRXSkrnlYnRPaEM","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":"FJLMPs__X1GqC6pWIdfcj","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":"Jx9IZlMtxaSd41fZdpSrF","name":"animatedTilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

              All animated tilesets in this layer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xo43n62Sb1zpPFf1LwxVz","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":"zXuu3v3AunbtJD3vSVEPZ","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":"RO8nvC33-5VPYsLvTQotT","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":"rwXNkbzpD_4zsii93y6CN","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lS-fcQC4zH_IM_tYTv7dE","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1Obg_ZIHD9eTTer4zFfU9","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mx1etAgEkxPoDePNC61Ea","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the layer class

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-zsmPlME-5urUxDrBFLfr","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F8K6juQugaqJ5vqrnzKsE","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z0rrJgBI39cTwQylgp0RQ","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":"-9Ah19TcEWG8mCWCHguQl","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":"1yRQ9bE73eW2a2efv4exG","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c9_QRviIEkoUKe6TUbaH7","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":"kXz40JTYCZcilKAUT9EO7","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Layer contains tileset animations

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FlkUd-OWt-8XHelFpUFEV","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":"PT9C4mcS-67wRM93Yc10B","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":"MVCFX8bkges_ZjwLHHEWh","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":"ZLTiXgqcAvTStmZDz1mGd","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":"rRkm0jE_1t7g1aGvLAA-4","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":"GCyZIgEeZVCu6eJ3faVXr","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FEFmHO8dD5Mexg7a029KS","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JADnxoT3_3iJWoQtxdDtH","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":"guQlMqDt1cL_DpwuR_H51","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tbP4eB47-MoIV-WzDQnd-","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":"7N8J1AEqHTNFOTEg1LOFq","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":"PUVDOw9HB0nvbNKmeKZli","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":"9R3IAwX2mV6F-W2-mcR9W","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nkwHuN_07NKVcdN_CWOiy","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":"g2M5I15tj5SZtvDe45G24","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P3p0KeG669DYuXOuyllPN","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":"kXcj6QiIm-52KeGmv5plZ","name":"tilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The Layer corresponding Tilesets

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hvkQu3xKPLmH3XHOGIHn4","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":"Nz212W77I4-XQI8d7Nq8y","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

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

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iUkgWs7q21-j7f0piGc6z","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":"iQW2NHlMZkW5vrPm4Y3J0","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PK6caGFY4Y48K0wBZFP67","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              Horizontal layer offset in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zjtTQy1nwAbX1RMBJpSUl","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              Vertical layer offset in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EwgS9XsonkJIN-CRSMGT0","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":"W2Z_zZjxahhp2GuXum-ZS","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":"Vw4vC5HUyo3xqpD2li0uU","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":"byGISr0pfkoTIADIlqNOU","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":"ZuK9q-d8SdL-G-KweDMed","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":"-yvUT3q6zRyz-H1uwfH--","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":"0g3o8ihaYTLfU4LQuxGKP","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":"DDV50JfUi4lukJ3epPYSU","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":"5NyKf5cW_2G2e2Q8lfFzl","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":"qfnt2hovOv2iot2zgH1rE","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":"_-BV0elXsOL5OWjV1ohxk","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":"OdmN-iVf238EFm_XuPTM8","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":"O70ofos2lzZbKifRZKimK","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":"4ULhEcnmC5ElPUHXKS_pQ","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":"hQsM8u4Ja-rKkp0JjCFlk","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":"pEjiO8greBacDxff4cj86","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":"8v7EHQXeS4Xa9CogHQSpS","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":"q8hWrmcUgj3FLBmUbTK6l","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":"OUVxS9CaPQdul_U84TsE8","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":"M56Zq2rBEFmIVrxoMZ3jx","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":"3uAUU1z0PKdiZ5vMWZSJh","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":"aMgx6BwWiixeBPpmDknmY","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":"xh48x0zmdMJJA0ClSIQYk","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":"uTa7USIUCNxgsF3LnNQKm","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":"hodPAans708hHYOn4gX8Q","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":"ovVtO16uhyhcHFizXuMgH","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dKHQ_otBHodlUERFKWeml","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":"Hqw6SDkid4z0e6y64gWL-","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":"3pq9IkSAMa9wkOinjklRe","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":"2G4dNUEHAM8Usntj0Zq6Y","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":"RJ5dSZDjWne-UtkW4Cn6_","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":"DBasKIpqxSYo2YU69fcSw","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":"12IKJyvIxvQdb6JyOz7r1","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":"eByRNaRSoIZqnfzsNADwQ","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":"oWoYFnvwiRQtSBAMBa37Z","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":"j7-ws0k5PfuJInEyWKPby","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":"ODncIIRli5-1LnaMRkhZm","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":"9UDnxZd6GvOOlN1LA_sVE","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":"Fn0wFH5ERXZs4wF-s9jPq","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":"mjPCjpDTw_xieUwytShEO","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":"1nh-EMuB6XvidFCOHzpww","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":"n5VN3FIOcVpr7V9QgU0Ym","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":"vJZ6XoO_Bped39_lQ7xbr","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":"O5naF8m6m8Jw9QbYzzM0X","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":"sAEI_risLDXB9kbcXphMr","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":"4o5WtA6zD5h4cy4_FywkN","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":"z_LMWRc6-t11uEu8p3Smz","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":"r-O1YZF72FKACZLCxwiGs","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":"_CefBhj3PG2cvNCoV3qOS","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":"QlUgbHG1I3GY_3A8z7WsD","name":"TMXOrthogonalRenderer","brief":"","type":"ClassDoc","description":"

              an Orthogonal Map Renderder

              ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"cNo8e6qbKHypz8_ZKCxSa","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":"ZxM6AK_GiH7Z0HfWiUtQh","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":"XhBE1W2GPF4Lg0zL4tdQV","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":"mMeDXAdZfSvf04GZGa6eA","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":"jSbLscl-dL2YKuBl385PD","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":"AtmM1INEPy6VehZ9Tgx0g","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":"QDnydMCTgeuYwQkp1AtRP","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":"j3T3nqPaNyo7D28NX3dHw","name":"TMXRenderer","brief":"","type":"ClassDoc","description":"

              The map renderer base class

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"rSk6iQN1En2QHinLVyaGd","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":"SU8PIGbyGKLqm0djdQ_V4","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":"H2YwEixPJ6s_plSGNb5DU","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":"Ou7Ecc4vgMIqZhaLVptCc","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":"yMSCCHl8oE5CxeFg3xyjM","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":"frvY7CcEbHEb8Zh3RFl4Z","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":"WKBS4FcKX5x5cUBgMghC1","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":"vP-Qe7i6GsTtYmVQcm44o","name":"TMXStaggeredRenderer","type":"ClassDoc","description":"

              a Staggered Map Renderder

              ","params":[],"returns":[],"extends":["TMXHexagonalRenderer"],"implements":[],"members":[{"id":"Ws7iJy8vqzlM9zP4DKGqb","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":"eivL9BIxp3_lrLgYBm-qG","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"R0dGJ-A4O9fRQkYcChZWe","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":"L839aSTgDkIGXM6wWrYnG","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":"Eh1jxhmyhALeSWxKcbori","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":"GFzhTjVVbWO8WmHYt6P7M","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":"SRYvkBYXRjlKdDJYB3gGf","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":"NO-F7uvt-iOfsGxtT2vAZ","name":"TMXTileMap","brief":"","type":"ClassDoc","description":"

              a TMX Tile Map Object\nTiled QT +0.7.x format

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

              The map class.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T-qKkqEQBeGtXprOpvh9x","name":"cols","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              width of the tilemap in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nEqxpc6kM-2pfOjMIwBMH","name":"infinite","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

              is the map an infinite map

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BAn-dyYja6qFyr_Zb0Qt_","name":"name","brief":"","scope":"instance","type":"PropertyDoc","description":"

              name of the tilemap

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mk8uyUO-h-yBk3rDnKOel","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":"SJ7uXlWz84ySzK3WLxFrN","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":"Hw2nI0JKz7UHKnfJOr1XH","name":"rows","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              height of the tilemap in tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K64SlfCSP56s4fVeQsGON","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":"HK-AtIjHaIR3SICxrt-8j","name":"tileheight","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              Tile height

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Y4MV9W3DCHbh6UZ_Of_5J","name":"tilewidth","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

              Tile width

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

              the TMX format version

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ryk_A-Y_d-GfPGslYKGgr","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":"NMtGN9OH44dpGyB9g6Zs-","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":"Ssl2RF2MB50yDeqEKMq8V","name":"destroy","brief":"

              destroy function, clean all allocated objects

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t1UJ_NVMuVV8IEtdjrEtL","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":"vlZ5bwp5KLbhAPnrDQIMq","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":"MOH4MfcC06oOik1r9asSx","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":"9GiHSdoxJQasJLGolZM30","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":"oJbGWN1icy8ve8NklbP3u","name":"TMXTileset","brief":"","type":"ClassDoc","description":"

              a TMX Tile Set Object

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"1HWbC2p1maNwreqSm9OlJ","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the tileset class

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hAN1gtm7c877S1h_GFa2G","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              Tileset contains animated tiles

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xDIXkx42s_eT_bc59QJkr","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":"v5sFwvGWtSBNOiBEXo7ws","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":"Svsff1pjOa4uKw7Q05dnK","name":"animations","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

              Tileset animations

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Tyn-zBdGlfL84IG0nz-3B","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":"8R3peClDqpwQqxT3k2ECN","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":"bCtoVz6US0nYgiXQZhvDN","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":"TBGg3x_8VxnUlf2O-dkFv","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":"BFRymTQTe4qdtY-6TakXD","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":"xlI4KFvkAi7rG5qJ5k6ft","name":"TMXTilesetGroup","brief":"","type":"ClassDoc","description":"

              an object containing all tileset

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"9ECXOTU8-1wvhfIoV-FTS","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":"Ne7ATkafhXcFJA2gKV_8C","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":"4JMwEX26gXZUosiNq5hkM","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":"d8wON0K6iTldyWAzgB5ZQ","name":"Trigger","brief":"","type":"ClassDoc","description":"

              trigger an event when colliding with another object

              ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"6iFzWVOMG9-D_uEFPqsaz","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":"Vv0wG7F8dK0sUWOe-ERJW","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":"Y8RCHTqspHbPOJQ8P-3Ff","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":"X_QMsfeO9c0IZpsFFkZAv","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":"4hlkexmYxhAXoLI3kRMiH","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":"2ri6hPtvs3IVTB3h2Bp-x","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":"Ja5pNLDjB1jJUGxb8Aa8u","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":"bQ5ioQpWyrEHXHpmnNCEH","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YmY1wvi3X2iIkyoZrd13e","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"otpcyX1bSWoj2z59Fj2kA","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8fsr0k91ZiJe6ZdfqigUd","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WNHPoUEpfUeDEfh3ffEYY","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Uvvy-_xRs3X1Pk9Idkx2D","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":"O6d6xfHAVMLGxHttrjFju","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":"t2h4lurL2hXg_jSv-b1Th","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RE6NJ2prkPd7QAnHxBlQb","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":"XrOTxF4Oc2EP1BKdue9yS","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":"gtRpvAiQKuN0FLcqq81kK","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":"5vCxJsy6YfJEQ3efr6cYA","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":"nfgNj8BcMjeLFm8D2v5dT","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":"YwQmnxdDcc4Ywy9AoqBgK","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":"VjPEgDDMnfM1oNkQTo8-r","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nZ4aTz8_U2WAUGdfvLkDv","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"joMmbrzk_w5e7wMVSBQiM","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":"9DJrxWy6vnr8p6SHDGjKX","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-yP5H3u-YO-aEqAT90ISM","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":"QfprrqzEgIP_kNjNF1KG-","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":"hLmoi7p58SeqAeQgmue-L","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":"qYudtmaI6NlLhYRuRB5JN","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R9IWat1PxqnoZfjVGPLld","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NqdnGsexISrguZejEIusP","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":"nZeqGGGn6pbA8StlkNNEe","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":"dCdehhrYx1zJtbyqJVY7n","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ak-A6WJWTShrg1YSPutgp","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LC3T5uw-UVZ4TzmDvE1Eb","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":"BVtiJp7ZW5K5OX6JbtsWc","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_sxlLnpeROUpoNHhA6j6q","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":"KDYHK8NbbSOMb5IWexbca","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":"rNe5niYl997Q2WHfX0Vxh","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":"ljINnxtznDwiqvaZrJCm6","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":"lpDyPJaTduEKnO7k0HMEe","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":"6lQBVvBHKvFaXDrl0sRaL","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":"5N0XUOyuvPKH-SsTQC4Cb","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":"67aYp09kzPkTvukCSiQZU","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":"SxW25Bls-3ZqqQgXBvhs8","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":"ofWBIeGE4V0w1a32dvOo0","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":"igUeQnT8H5w6sIU6j4ZZn","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":"Dhgu1N2vAltZvX2Jh1F3G","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":"MoRguuRCzb3LgDOjpxp7v","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":"BwZlPQsINQRjQtabSZYFk","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":"wMY1pGsXwQnH2FCbp4THr","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":"jnSMuPfFJa0TEBG-6JngZ","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":"sgGzq9kwz9u1BKDnxV2TP","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":"1DSqPJtf2IAGUzs0JaXYE","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":"jAVo_CqxU-KDr95e6KIM-","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":"FVJR19TIZVSSQM1DX69T4","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kwCDJhHHhwKoVESVEieMC","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":"ROoU-4tXFlamsBRLevD4Q","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":"8skcSREkKRItcaMF-frPz","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":"RJTbTVxlhmho-51Z39YzT","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":"KADSjl2VbRewJJzlq1NHa","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":"O2-LlJHixyfeTMEYbtsTG","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":"xn0MBsMHmBxOPVN7epX8P","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":"59PLydDgvB3qnQg2eRzhE","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":"lf7JK1zIPzmb5WvDBMlBK","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":"EvIUZTUlNgK97jTEBZLCm","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":"yrILi5RQXEMNB3XWCiGHR","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":"bGqp337FjKw476Mk3BvOl","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":"bAVroI_ffrTwOOcqeC6gE","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":"J2tmgdpjAMkjc7YPuesrW","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":"PO4GDWWMx3wYFzTrQog-Q","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":"7uzzoKIwHUQCIwRyt3O5I","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":"5ccbq_QdsUl3RhZmlck-e","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":"6szUeupZQquLl_OWERAOs","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":"kHR0CUTnhwwHBmOUwZF9k","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":"azE8IuJJ45jAM0zom2RW1","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":"bLczJZ0sgVpTSRsCey7Fs","name":"triggerEvent","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

              trigger this event

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"n8y-hb3804JaxHBHg-QSx","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":"RGn8rUrprA6AQgVGbI1fy","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":"VGH_FM97I11Af5QEhQXRQ","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":"Q7J_fADlBsp9rxZK760eU","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":"vcWmyvaz3rFLF6BUMlsCp","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":"4yE7x3OVdiu8hpsgaHKs8","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":"co2VCWoBUnTnDCUN6492A","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":"E4oZ2rOS_n08766R7O-L6","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":"rnnFJWwHEjD1VVp1vYhHH","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":"NUyBw8rpb6ZvtDrEiuMWR","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":"K8w8JXrqVaVwUouOqV44D","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":"2ryBWo764XQs91pfFGtCS","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":"lZBhNAxIGpu1eoie75FXJ","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":"F8Eq733SKgGrZm12cbJcx","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":"T2KSVD6npo5KYyKuIJXY5","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":"-esenua9XvFANAQfEEe1U","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":"v2i4cKPVtwQwPYU2_gsX-","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":"hV0mbbOTwAx6ixW0-wnG8","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":"i5ZCIbhKXtCPwaZeVclvg","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":"88gMFdsNzSRZQ5rDpXbGt","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":"SdUH72m1GhSQpCF-qpH_j","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":"58EealmfR07Q6FFydJ2ug","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":"o8TpRdgZ5OBdK9Sm8x6WI","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":"9O9RW_8v7GqpA-wgJCIE4","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":"kf7L5KoK8uRPTP4hMF3T0","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":"UVx23e90e530oYrEB_jFt","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":"q1tCrcpwfHNBYBs6y9Uo3","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":"ZSQfV09JZ5BvPeeGc1M5z","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":"UhvMsz2z4KstxpAREC7hP","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gj6HZ3lu6CKUdVlrtYMqk","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hlK5UGekeRJnSYyvv_OwX","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"99bryTsjT2rmms4csIUqy","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":"yjs6IHKtonl1Ahupv3dyV","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RKvfS-3Ei_mlAg7aHCrgW","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eWmy_vAK4uVjCipEU75r7","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":"9r11TUhr9pQaSLugnuOuu","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":"GG10dqAjydKA6XOzAdSLI","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":"gkoDAb6RJBCH5ivcaAd31","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yGV6wBB6NMCCA7c_WsxQu","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

              Tap and hold threshold timeout in ms

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YU7jUlEWn-xrArZG5dQMP","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if the pointer is over the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MrrvucWXQsnRWtNuA2hoP","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":"tcrykysRmmFXBy8iASYZx","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EApqsEwmXXBIVt_kPrIRg","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":"7iuWG96r96AOBm47aoGEh","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8H4L5wvPfzT5_Zmqx_3X4","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":"smHJTJ33fme1prI69GOxX","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":"IwYPhEo3Uhd27zVYu1USI","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":"GGcWIi2PNfROGx9fxMkxd","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be tap and hold

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0FgP2qg-XeijStRtQWpWR","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":"S6zjHqTYyT0j2qpYw84Vq","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nYlXUrODgopkOAy4ptaM3","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mTCB-2uJ2QbuYQD6KVhe0","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":"gt5MasfaP1juEyETzB8N4","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JW8tbtz2LJyPQk5AdHxPr","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":"_xSaI379_UjZieSEoqw9M","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":"J9FYJO_UE9oN68BSVpnuO","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":"gKP0wMj0x7jwd8OSP9tu6","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zhKQrE3mLdzTV7mkx6vJs","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":"qgkw0G8mP5x1H9D2rEBKn","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vRE59zA2b7lroOl4N3Hez","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              whether the container is the root of the scene

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c8WEps5lBZptaJYFzT2nH","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":"Ei6OHnE3lSWUQ4Z_Eo9hT","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":"IXSzt600gseCNUCdGZPBA","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":"SOuC75sW6Zqx_VYUpN1D4","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

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

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-xPWmHgaBpqBpmyEoShCx","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":"5C2v4qrw9FqzhH7wwnzVW","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rp8FTVvydhWYhDNtydj3r","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":"e0u9Ke5ElMETXIUcBrPtU","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":"UjMx2UHCfaxTvbHQZY6PV","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":"VJB_t3aZ4C7FfPJ_mlebX","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":"ekMsQEska_EeNUjgXNOeu","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":"LE82IrXOl2cX3EUG2kku7","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":"fnjL5dA2JEE3FImy33rum","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":"iCcufeTnunNtrp_qHEUGx","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":"SfKfy3IWzI1bpGTvy38U7","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":"jAuzrQnP_ctDd0jUpnDvR","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":"ViJYNVtC4z7TPZG8X_CvB","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":"G_Sa3lIQWstdFRI-u55__","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":"uBGP9HUUe2Pfdr5THRASW","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":"hzrPkxXWVLqjwE_NtpZqu","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":"39Xd43aZnh1ZFBmEQvvvU","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":"3PZDxPc79m2vmHcbDF3U3","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":"eg3js54ntIh81maaqpbm-","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":"tNXpCw7zghDXbzLCozYAk","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":"0Lo0l2C6q6z03b_it8S7J","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":"-BFEJf30QoXDJn7R0kORI","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":"vK9TKkdkfih57-wSXLhsV","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":"dGn2vnvak6EyXG_kU2fPp","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":"1c8svwLGlhBxuN6Wfkh9c","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":"vKd6ThkxOorYvpwnB5noP","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":"Wo2iI0FwZZ3bgGjc9SCnP","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":"9W3OVuLznFqy20oI9Iw1-","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":"ZuniZBAwiBZE85AYvwHpj","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":"wk5WZnN5usGZy2swynANi","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":"4uvtseuWjndiNw3XslsfN","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":"gKIwSTeZB7gvwvw0yxI-Y","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":"zpKj7zM9m7T7HelA4zRHv","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":"DLeSdcz-AlXB2TkKvaD2v","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":"k43kMWj0iVl-hkWArLhtn","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":"Md5FkWfzzeiWfDMy8vftN","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":"ss1cw9IWD2D_8BOP6z-ZB","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":"ZcBOjMiRtO77RveNvgGXg","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":"yIVFh7yZgVHFLJ7tZETx9","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":"3tZ7wiKvX5ZCFsD4cL_S2","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":"zXJBHPDmxA1Ze7Tv_f33I","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cOUzPTv7YkNNLQLhRipsq","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":"IZu8NZVxoiiZtBG19sBaj","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":"Jf0QOgegVlir9Jety9UY0","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":"a_Mx60RuETkCj70iWqrin","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":"zbC4AeO_VL-tJWhySNvuV","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":"4opw2hqe1VSYy9UI6PnSY","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":"15VidDsXSdll_k7pcTqCZ","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":"0fcFJqWNuUIIf0CShJ_wx","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":"2q8UUiEpa206SgMtzubS7","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":"Aaef7V3FYus1phixRyZbX","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":"4pmrBEyVRkjXITzg51xGI","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":"3X9kAKsg3PTB_VGT9-0iT","name":"reset","brief":"

              reset the container, removing all childrens, and reseting transforms.

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"W17NyYHpZJuuwmhFFoUfa","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":"5tR_PliXr7XXJqNS9LZVd","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":"xDV73li__0kBY4srHCulm","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":"gG7W0hV_3DtKJ5tMOM2qX","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":"OAIGWKII0jL9BRsfaNDMm","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":"5N0fzgS049ftpqz6eQfea","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":"F256pN84cuKgI1KObV1BU","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":"bqEAnlP2-cAtDgFXoSG5I","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":"O7y_FMoPKMq-kZS1lKM3L","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":"mifJioDnm8QmOFXCyCaMQ","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":"25pGHQG2v2QH4t0LieyRz","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":"PEr7Yehm2IjTXJjv6JjSo","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":"fIywklR7mfHs7YqeNpnSQ","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":"7whbZTxVceGMeJnXka6Yb","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":"yHknXqYIF14NmmkFwHsjV","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":"wlrbCapzDeJRCtHGxK4NU","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":"MWAoeIbewsKi0F8r5w53j","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":"5wHlpMhII-HchIT46hVWO","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":"cdnhfPymgIqHBPdWDwkuP","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":"6cbBtvVyaRC37raDOEOvR","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":"k6Ml1wLVP03TIwgbkMOYm","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":"Kb0fojDbaBJAISDMFJhMp","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":"ldAhdeMF6mO9Op9NlWlU6","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":"04FLLA1aItlNGJW1irsYC","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":"4VtmskfqhVO9TXZ_JyKdU","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":"3-sIafSjo4R4NJVJhkC3K","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":"-YrSKdUHmmLVut7mc7wvv","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FAi9CtqInL_bNT5z5fMYT","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

              animation cycling speed (delay between frame in ms)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bNyQmQmOhy1iJQ5f4F2IK","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":"AWRH3CLtxv0ADMXqbEILO","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":"NfcCy9BMmflbGDI5C5oge","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":"Z8whE3Mc9pNONCVoBJlno","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Sl6d4YWeBB3hfZx2cXgvi","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fHU-ri8KPdONZh1BjfLQ4","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"icdbYWhx6yxKVAfDEG1vK","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G0tFX3JJNlwIkhjZNGcGw","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZsWzTHJlg3q527cLxooZZ","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":"_Bfqxak7tr8t3NRjPGOL_","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":"WhL5MvE3eeruIPyo9a8jd","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-POZNjSJimLGYyo7NkCZf","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

              Tap and hold threshold timeout in ms

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Uthya_8JHkkssOmL8T3AD","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if the pointer is over the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B8x2VmviHNikPgWomJT4G","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":"zspTw6u4yFtTIaWt1ua5G","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cxac0n9cBhIAPNr9EElgA","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":"vrUVqytbTNJXIKy2btyny","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":"S9PZzXY8UgLvNO5ldWl8U","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":"EfyllMcj9bD5RfVTLlsLL","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":"BOxJzgFQ3GDUzuayxDgWa","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be tap and hold

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JUlWAFyE2rfvubAv2BdVn","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":"2ty9T9-GjucaK61pCxFaj","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XzKzfFQrWzI73yEzrldqb","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":"cGEpJHz9ChTnIvb8e2UxZ","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DBoz82x_oPpk6UcBkOKuz","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":"uOFpBjfCbFHkUgBSAVsW2","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J0w3eWIGLIX96aN3xeNEH","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":"RWgxGlvxNfmSBRsFialej","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":"LyUCq60SmfnXNTqBXZNws","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":"8gElSzNpNIZy7ngL5QnfF","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":"5MlnXd11Oh7lRfL2nTUmV","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uTl6u_OgVtfECiablGRLF","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rHywl8RgeR1a2XERZvbJq","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":"mPzt9gMzIBMr9dWEag-P8","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

              The source texture object this sprite object is using

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dql1n1lnobg_r1urU2vN5","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":"6A5xyRkFVoIk-aUlhko1J","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CwI1UVt2sEclT5vh2JsD-","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gJR_QFRCuHw37840yNpxl","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":"QMXgSLbiunpnG2w6fDe9R","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eklKwEoPdd6oDj4tfWTQO","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":"IEiGDQ5penS6CC2bdVURD","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":"Z9MExgED_gYqCESfcveWr","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":"FYT_xGeppULUANg1sp0H4","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":"UZofM3xKhfO6gWPziclnC","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":"Bt26Vwuv24BG008pcCM07","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":"A0lzOIEJZcrdRnkx88oxv","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":"BqJes0ULS1b_upEfsJ6hY","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":"AhcwLz_1oK5ZDc076l-nU","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":"b4lY0Gxr92glyANnJ6S23","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":"PXudVHD_IVUY8mAkU9QPL","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":"RkpkCIeyyvY0_g7PqN_9n","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":"upq7aDF1qQWBHpZGfN-Qb","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":"3DEBECJbHLwQwRmfaNEBS","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":"6pRalmatS1VQSXT3NiDFQ","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":"rldQq0Hw98XSx2an10Eng","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":"dxf35gAPDa_TI4RklgNYi","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":"V1h7IGG8NGQkn5NMRWnWm","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":"SNcFDN9PCT2O9WncNVJOS","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":"Qe4IwzCtEtVccJg2s9z1z","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":"W8Syaau1UKgVu7pMwz-aY","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":"C9n6bDCbE87FHHkxrDihu","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":"QPepjP4Dpifxn5CWt6gXl","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":"D-XbpZGSBHb77wQv9SmG2","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":"_p-j5QG_ArMbMJuNoYQIO","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WdJ_c7ObI0J4Mc6rmWgGo","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":"S4KGXkum7HYifmnpLzrGW","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":"oGlaq88Ws0DaNlT-8isDv","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":"7uBCTs_w_jS_NJUryyEFn","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":"inBmSh8qriJYI_ECJCMqK","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":"5Kfq65PLS2JTk30HIh3vW","name":"pause","brief":"

              play or resume the current animation or video

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yabKQZtKL4XFp34G0kWJ2","name":"play","brief":"

              play or resume the current animation or video

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aJdbRtVKAUIEZTZn_lb5G","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":"vdkjrxwKTRcjes0hP9N0A","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":"0trBbkHMfwYg2h3N72KmD","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":"wiVYmi-REb43oaf2QKZGe","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":"mBGN_SrDqGIdAKc8WSjCW","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":"A7NJOv8RiD4_rs-h6dT0u","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":"ADhDp3EHGv5qlSrgUhjDP","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":"RvWUBzinvf--RkugCZGeI","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":"6-5oikqW0LoC60nZS-m6i","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":"F35jfkyEaACyIEoi1ik-D","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":"JMHe8A6Z2_MTvirWAdV0b","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":"FYtvbG3dH2UiKrYVh-gLA","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":"VYVL7BDJVIxaYdgEvKAas","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":"rqx2rilNo1-fm6ehnq489","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":"5as0T0656vZT0YriRjsv-","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":"GVTY4KebhtBDSPaYwSjgt","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":"N8v4KtydVn0JZ4eqe7e-k","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":"FCXglMJPlc12v_qux-74y","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":"H40pZNjZ65O83OmvywMhZ","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":"nkpuZLzuvg2hTvHGFPpw0","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":"nIy0nYFtzKCQg0rINhg3V","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":"vDfHebrKFdlGTi0bOhlWH","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":"NHT9ZGwVs-3RD5Mv_Fudq","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":"099tVFm_pcLbZkx528MiI","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":"y9OzVFbyreTDamwRVvBRe","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":"OAPGky1O6Ku3jWenKinAq","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":"nOohZ1F0gt1c4C1ARBHeZ","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":"IBIAuOLhCTAaqYasSaHWn","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":"Gu-0epEg0eZmoz1zmqHd1","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":"Jfp5T3fnX6M6Ds3gVOk0w","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":"sKYGo9LXgL8hmEqcX8hoF","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":"79d5CLpY2KZKdFuvp2RV2","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":"dqIfcTrJstq_7rPIYwwBW","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":"mxEDW3IuJKZtEmAQPhJ8O","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":"2J9QndPTXL2CBJvklZAFD","name":"bindKey","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The key to bind the action to

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L3yUwwnIh14vYt5Lt8m0r","name":"bitmapText","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the bitmapText used by the UITextButton class

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jXkEbRN1T1i1xE9RWWVH2","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":"XTpaLyKB9dSy2y7Qq-LvC","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":"z4sr7GRJi-Mz1bpEr3bna","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":"dFp93Djb0BlY0sLrKajQX","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

              bottom coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ynrOdLpt6YUuv6vtZqCnm","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the horizontal axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5wjb8UAoh0VXcXaoq_ZqD","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

              absolute center of this rectangle on the vertical axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U5TDRfvsu0jzdPsTBJG31","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":"qyLVamAP0t_4N5KtO5SvJ","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the renderable default transformation matrix

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aRYG3ONaVBONIAwAYfdsN","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the depth of this renderable on the z axis

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"znQLfqSRp1FNK4MRuhthW","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":"8DuStmR5_y1qY3Raed4rC","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":"1xaRtzIcH_2rFOdAPsQy0","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":"yf9o_gAXPXJGSo_-gSSOH","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

              height of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BGzMHCtgp8RUtD11zXSau","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

              Tap and hold threshold timeout in ms

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l0C09XGG4mQTk9gyWFZSj","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              true if the pointer is over the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5UfbhaoX4XAnxpyom4-xO","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":"baCFElhjFs6KccM6Tr7wB","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":"WBz50C9DnHX8pBY-7VQiy","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":"Lcyypz6b-hlND7Tt_a711","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BUSQq84h08l6566Ba8EUu","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":"XWa4M_Y82FpHsFjMWA4qs","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be clicked or not

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I3voreIPQT9VzgbDctgqi","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":"NAOXkHAa3_xeGCDpXWnj8","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":"bnxMkru0zC2hhlYUNUHMo","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":"0xNa7Zfia3BCN30gScUqw","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              object can be tap and hold

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9Aidm3c32XnSQaQb2wxfK","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":"Li5-lDf3yYYCrZ4bGiwFl","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              make the renderable object persistent over level changes

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jcx2QUX3JEQyI3n9H_Z2b","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

              left coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5CLIURt9inCS3ktHVvcdW","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":"B76CapJ7STeuBZN72hUwA","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

              The name of the renderable

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qxymYBd5PD46SUJGf7rp5","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":"GetQA40u_9Go2ssf2Fv-j","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":"Eh9rICfMjSopciba3s20j","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":"gsTOWnwh6P_H-A6Qh99of","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              Position of the Renderable relative to its parent container

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6tiZgrcUZ-Y04J41ebGPk","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":"LRKhMQYZW5JxL8BKgNpID","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

              right coordinate of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7s53KJolNudpAcYtF0L9Y","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

              whether the container is the root of the scene

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4xsFO_V1wPVt5k9cF4yxA","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":"0wQ3mt9YcPUab1sOydEBr","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":"qVnwEt0MyPYrQSMsq_EBJ","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":"TOXK3o6hTg5sLghEiadV7","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":"EgIeJ8-2TlyFyZp1CA7r6","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":"LSBtSgisqdwotGFRRDZv1","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

              top coordinate of the Rectangle

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

              the shape type (used internally)

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t0VGhi2Vsv-VBOp913xVj","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":"9EJxtenRa-PpyfwOIlwQ0","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

              width of the Rectangle

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KFOY1PTmG64xdFMbhoQRL","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":"XI4upCQoziKqLFGXRhTWS","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":"AiijUc23YIPiUl_Za-8RD","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":"gDNOX-vQxYwrkvfcTX6oO","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":"EC-UQIn25SQcbhMLtZcgr","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":"QWhH8MgIP-3iZEowdUAVf","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":"kERGvA9W4F5ZuoGv5R7wF","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":"v5qFYYCTBh13hIceGJf9M","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":"WMxXSjlwAKZKBH0OWBU3e","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":"6b_YFrxbkMnRlU45cKyBU","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":"e2hXrLhM-OH4KeMNQ2MeU","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":"J5zKu4QBJulN19AFu7Ofk","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":"nPKq3G16onqAQnBI5gLqV","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":"So_802rzxUJ7USdqKllXn","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":"3stfd6G_xpU0JujoF4rPZ","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":"HsjUqNEoWzI3K3ZknMIZa","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":"YqQ_vrczcGCtZY__sLg77","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":"QGNvbOwVhrb9M-R_keqaD","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":"Pvxx9-o3sY_4clstIUGON","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":"z-UBrZK7NhVMAPQGBZBYX","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":"j_Pf8Y3FFOe8xHC2kNAzd","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":"7sBQhGMuB7zJ8ijPFn6NX","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":"7xO4bdKIV0thqistXBw9q","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":"vU1lLZ47MWgeA-E026b_m","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":"YuwEH7xZ9Um2YawxQn8OG","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":"H4yE-dU2mt37N55crnlM0","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":"1LyFjVI_5VeB3Rpcl4j7G","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":"hfdHGMqGZ7dykxXz7639e","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":"sKwfawEjuntcFMmZN1BHD","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":"XhXy1aRgKKbuIAIJzoCSO","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":"HirPtedatllpW7W_yH8Vy","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":"hiHeCAVKrss5F7o7nPRaw","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":"ret5FrbVyy56WTn_TrxK1","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":"_3IatvNyIU68cX-NIb54V","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":"Wam1zaOM7onOpks5BJYqx","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":"GSQQCsQ7fBHjG4aPMcWfE","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":"8oqPbeAQyh2WhoTZdwMbZ","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":"sQxRWyaXEoPOlQ6_UX3Xb","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":"xOT_s0vv7ilx-60QwF13K","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

              OnDestroy Notification function
              \nCalled by engine before deleting the object

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FECFl32hAl8kcSTTFZWUT","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":"tLsLSXErTtKqU8R8kqyL4","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":"c13YQFYV_6WHoBorES-2i","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":"jEs7JFkNnjB2eHCi-ShD_","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":"-bvRYsuCSvi4wjg6YRwVi","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":"n0qT3QhwpTL97cWnSj0KR","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":"XGWYnGJb1yeT-JBtWAUq4","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":"yHrj44mlEWeCf7Fh71WON","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":"6l8Wabn_tXMlLj0giyeIQ","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":"IUO4kijjjr7iXv7QZCxKc","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":"ZTECPhSHDw00bUgk-C51W","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":"5p8xp48vnYd4kF19H36nd","name":"reset","brief":"

              reset the container, removing all childrens, and reseting transforms.

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ftFQbNOr5rOg9NW-a8m_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":"X0p96DTXkOuur8UDworqO","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":"u-hUPVWCB7i9cUS4fM7vt","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":"QQMFnVrzgBxGicCQvhKd_","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":"xqRNg4roypuMS1FQcR5ZJ","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":"wiIlqcCr75L14HF0M-XQr","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":"c06PnzGDQklVHAldW7dfU","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":"2Flbc8_X2fi_Sz8JBrXth","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":"lkZ3Bo7_re00AOMWt8eST","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":"gVyklHAWvpL7PhWwgr6Xk","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":"cc2ClGi3kaoWme1SVarWW","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":"NObWXSM3bvmZMHYpmDwox","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":"PvTJRP0DPJBbWKLkJapCK","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":"DzmcDeFDNM9W5KdRu6lva","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":"f1319k8ZJW0BlrGJdk8UW","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":"3EHbaSrZVKgUmDAucf6Sq","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":"WLh68RuoaOTb-50iNJIaE","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":"DRoIU8pfzigp_UeldTRO8","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":"Ugz159DLWwrPS1M5fvFSW","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":"JGWFi2qhY-NDHWzIxrpMX","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":"CIumTfYDdA6dx6iCalkjw","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":"f9JBGO30xixzMjk34bfVs","name":"Vector2d","brief":"","type":"ClassDoc","description":"

              a generic 2D Vector Object

              ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"2uwOI8-nIhOjC6ibN4Zya","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

              x value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3eZf4-Ti8zgKmfp9TsW0d","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

              y value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4fVyi2txZ3ABBncdTCRR5","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":"B7mL5vRZ6zTb_dlLpiyur","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":"SBoOwO2sLesQ4l2d9K-JT","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":"q2_Q5Xa1_jafc4a1FGMMs","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":"Cxsgrdsl-WvQ3b8WV1UDq","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":"iDSlTRKQtsH-PVUmNeqUv","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":"ODKR8wKIlTLG98MS0tNnp","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":"1Qp19CY4Eg2pbaA3sRe5m","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":"0q4RXI98I8FCJk8kQ5sUH","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":"ZfPsMqEgp3IUtK2O6u4pc","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":"8bw6KxPg-FmIiR3gPqUIN","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":"w6YN40G4FgSbWxdB-xPC-","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":"IciPlXS1Na4Ne1ygeWUpO","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":"GGdqagRnRawaKJmnM1wcS","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":"1T620jtOFnGRpin3BecxW","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":"pmeWgFaqE9sgyrtSEUp-t","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":"FkPuL-YW913sHNpo8rmGK","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":"XDEhSEjc9SX88IzIUi0Bq","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":"ZgXyI2o7HY9zWf246bAC7","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":"LP0FtmOG6F1QXqCOj6v2c","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":"hx_HSgC0EBDrM3b9s71GT","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":"2izgEJqKRk7DPMAL5AuuY","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":"MobJ5XDZWMkZi7XjbU_rT","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":"4RvcZYkPhU-vhR6kMM9Oz","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":"ekHuSp4iwwpHxFO14O3VX","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":"3a6E-AkUFTngwsSaMOsNO","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":"2ZFsJUYXmkLeExvmt5XEf","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":"EmlqCMIxJSN9pJWVpy0pE","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":"8XpgxLEjWt1dPuFd3oYXE","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":"T7xhsC04mHmqkGqV_Lyj-","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":"IkkEVoA88eNYSdN7xRWVu","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":"RwR1UDUeecHUk1KYKUVvz","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":"zFypDSzsv_rCTxj8gOMso","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":"J5rORdXZ0uEjSyMQ02Ynw","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":"dA6livde2r1P3fFiiDHFK","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":"rzLNvmR7AX0fzdpkIqC_H","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":"P0pJRX65vyOyde-e-GwlG","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":"6q-2fwFve2YqlxBAm4O13","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":"FJ02KAMitSAlYpGkUJJpD","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":"3YUJW83qINGjpbIOoh5AO","name":"Vector3d","brief":"","type":"ClassDoc","description":"

              a generic 3D Vector Object

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

              x value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tPPDcx8IhbHZQ0wFtTJpR","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

              y value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_xvdJ0aHBCeojI-CjKAPX","name":"z","brief":"","scope":"instance","type":"PropertyDoc","description":"

              z value of the vector

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0hqVzGA5Oi3pOWSCNKC8B","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":"9w_WG04wsiQNaH6IunFcG","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":"7FVt2TeUt5sDIjJScQ1EN","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":"zqrcUj9NRtLv34qpj3Pmg","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":"PbU4IBn6UpZIEFoPqArvA","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":"5QxnpJXVk8hg_4SkhXa2K","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":"QrtRhCCtaHuaEKLewgv3J","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":"z5Uib4lxQbJDmNDvyUdR7","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":"CrV7Glu78v58B-L6Z3Sgy","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":"vkEa8lDkYO-BWqUulmyF2","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":"Ae5DSPA5qIdXmlutT1o8V","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":"c4obbNZ5zzMOZAMFSZhir","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":"eFXKJBZrNmnbl0LI16qmj","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":"bQZ0-OUp27xZr1KsQ0UE4","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":"PrRtvUiuev3JpEGbotWMh","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":"8S7PBv_bN5raFidQxqTJY","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":"B5bcqN8aqCnBjjiOTC0rw","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":"75D6WxWNSxU-AdG5f44_l","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":"E-hxcx5lQASlfs2YdgqpI","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":"jYbfWTgcQ8qYC4WedqoyY","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":"PMTAgiIQTFAKqhUng7UOq","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":"3Rs4oBmCzhpGP5PVuMpUY","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":"x0--ApEPNnOStRHE_MD59","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":"IyNlaTtr62Bt1A_Y2eCAg","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":"YR8qbd-aP_kb7CJtlMoUw","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":"6rXXR4pgqDPdi0RRY2EZr","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":"T9mVZn37nT240bLAYzJpe","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":"z9OLIwqgXlr-wr2qvN99b","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":"8GrXJcWw64GUQJB06P5Mk","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":"9MQd6-qBMeEbB8Q5KMm6L","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":"UX5HXn_coL9pbtipJ9oJF","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":"t_lu-ar_4kBdnQlKHtCg2","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":"kGFMsk4rUmsCMdDNYE2Ok","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":"rVdTCXHhu8o8PQLZf2RB1","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":"aBqGqtzjeFntbCSpHf4Z1","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":"-1eMHIxbnffW9pcGxcUQa","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":"WIAledEkPyK3yIHC3qrLS","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":"bhT8Cg09ZTuKBlWr51_RY","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":"0g3teg21neJ9KjrK2XiPO","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":"ZtxOHfKRydE1xoTH7tgaH","name":"WebGLRenderer","brief":"","type":"ClassDoc","description":"

              a WebGL renderer object

              ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"bTWOrGgiJ1hySOi776Mo5","name":"compositors","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The list of active compositors

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-TSVomlce_Wgrd-iOWX80","name":"currentCompositor","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The current compositor used by the renderer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v9__i-pSDepviwxWWEu7-","name":"currentProgram","brief":"","scope":"instance","type":"PropertyDoc","description":"

              a reference to the current shader program used by the renderer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tJC10HgSaBOVdPKD-D79t","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The current transformation matrix used for transformations on the overall scene

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YkjdzLsX7ApSA1uA3OslK","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

              the default method to sort object ("sorting", "z-buffer")

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tva2m-PqUDBGebx1Tb-O2","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              the requested video size ratio

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BlzBX7e_Iq2Zc3RqWX6dl","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The WebGL context

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4ahkNrytgzy2WXYfbEeCO","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":"LUwEKlcdvCW4ZmRaZYCpC","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":"9Qe3y9oeyOWtdfS0EgnM8","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":"3v6_LnsL7te3jVVfuVtuP","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

              true if the current rendering context is valid

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IApjgWGBqUdiA1L2DVAjJ","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":"IA_HRf_04FGIVLnrJvYES","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

              The Path2D instance used by the renderer to draw primitives

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OnpNcg-5fqfngpjxiV1fR","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":"9ZnaTwVMYOH3jeutP6TmD","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

              The given constructor options

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ocojKAY0H5XriQ4YExg0C","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":"mRU4lmdtWSnXQqJJL6y5u","name":"vertexBuffer","brief":"","scope":"instance","type":"PropertyDoc","description":"

              the vertex buffer used by this WebGL Renderer

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QldEdQ2FhizzpnOcgJM71","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":"FJIRjEnb-tcRsGS8lruAr","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":"LiCEOT6AwnzATZfF5ywOj","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":"7j9wzNdIZktmMZ4OjEFhX","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":"UIGHCSTiABBmPX8hP253W","name":"clear","brief":"

              Clear the frame buffer

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lZwkCtLErWCLhFpBt3sLv","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":"It2nhfOBtmnyMw2OhfHbS","name":"clearMask","brief":"","scope":"instance","see":["WebGLRenderer#setMask"],"type":"MethodDoc","description":"

              disable (remove) the rendering mask set through setMask.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r0eIYjDwnRC-Lim7inhfC","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":"QftmqCIU4WDeYoIwDxPwF","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

              clear the rendering tint set through setTint.

              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6eabbJQrXDgkNlJ1wfNM6","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":"_fRyYk1esGp4rM_Ja4H2-","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":"Klb-EbWqRW_Vl9hekaRfI","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":"awxzXQ6IHRq1y1AvECUSN","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":"qlzBm1TnIc3waNV-tu8qN","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":"-moJsnMkMfWiUtT1Vy8an","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":"Al1UFX4BrObnBwHv9Uho_","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":"ChPksEXm7U6npw8QvWFT1","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":"LqS_vxU0BdPqTKJ_iz3jm","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":"a-tmVSPhkpn9yRT7Eymkp","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":"XCB_bLqiv1c8Cvo1Fpj31","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":"Hk1YSM9Jc4eRAcXDDttMP","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":"j6CmwkN8ewb-070cQQj99","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":"Q7_1vHb-CeFKhdnjKiagl","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":"AbiXcBat9z65BfltgaByf","name":"flush","brief":"

              Flush the compositor to the frame buffer

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_rETdcQ5yC2aFIfC9ViaG","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":"ta2xm1Ia-_7MRve_T3IgW","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":"u9_cAiKowGSWVM2dSd_jJ","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":"HHwNmZsRr88s_IhcV61mk","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":"cFhNflBv68VFq7OCbqtNv","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":"EegkGR8tGDMNn6JBIAAaD","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":"JUJb6eFMpNeJwsiUzdEhv","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":"tB9pmIysXz_44EGjsy4ua","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":"RUTjp8xg2LT6mzYITzuKN","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":"KquD2agupoCBQPddgRgtD","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":"QCGHscFMcXenBCtRnYvrY","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":"UFBzhVoKTECxgVKqPR2vd","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":"nz4j9KQVfkgzihLMZpnfa","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":"e7jNkuVkbk22ST9UXYcgU","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":"GO5ldEC2IrcwBrAw41IAh","name":"reset","brief":"

              Reset context state

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-Wjam54424D7Qj28OTp-F","name":"resetTransform","brief":"

              Reset the gl transform to identity

              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_EI2mlMf0jkfNZFxwuBVO","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":"x0AAG78migi7T08bYSoRl","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":"tkfbjqIvScjhvWyRx6bwD","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":"egKKBcibfQqlZV8XDCb3C","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":"qGC49UI0z8T1pnHb3bGVX","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":"fvMeHhC3RoOskeVuEOviP","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":"t7drj8xOIeaZdQG6qmjx8","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":"S2zeSfuQshSqPfrlIhV1f","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":"8NsjcVUetPcW5JEORet-N","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":"q667NUZQSA6IXE_R5GF__","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":"ZKMqG_9eaO68QgzP1wGwf","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":"rqvQco-OeKcLN-rzOzEqK","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":"SYrhuaaovn2EvsWXQrvLj","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":"oIENnxnggYs7313T-Ydok","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":"8xyDmX3U5WSmm-QtDHby7","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":"kENCSqcklx02iR_Q8uop_","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":"bjjihOyI0KETAuqJaNELF","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":"ZZMQWoUsu4Xn8i9XFB0gA","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":"9i2JwSRH8JVW-8esnp0AU","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":"FRW9MCPU37ea3lmj1TUdC","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":"h82BtkPJYqUd1qoB_XeQq","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":"SHIw-JKKrHp3x0IP-7OBT","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":"_kcPoJdOXaCYBmZqvtPuB","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":"ZTzv2-0XLBT75PGylJS9p","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":"FN37zsFzCnlnAdgVYyOR7","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":"HTtZ6KvO0YlSqd9IYGR1U","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":"zuZywr-khEGdQNjm4NFpU","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":"56kMBhJJKaE3uYAMWdepq","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":"D_wp7R5waQx1EOjoV_4s5","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":"CdFwz4ZEhAmpvzTfQp3NB","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":"VGt_4F7zzAn8KjdWsA5Rv","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":"PRqOqtwQpRjcG4iOfyTIQ","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":"E1GGjeDj9koLTjwUWxswy","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":"0DGQMRz0bCYUroIOG3Xh9","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":"Jlbxc4N3rqL-3hvyDEACj","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":"Figud8dq8oyp1I06c3BkG","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":"wYks1o4mG-vZ1-jMAsy_z","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the application (game) this physic world belong to

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lUVXzhJDMp7VJafSrZ2j7","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":"5_zQ5-K-uPV68hMyt-Aa5","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":"t6kFutLePG3-uBIQ0RgxM","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":"cSSlHylTwJ6cP9X6GMPK2","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":"JbgXITQe2v-3LTi3qmsjn","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":"_1UpYpZ6qdQjsUmSL8-TW","name":"bodies","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the active physic bodies in this simulation

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x7R6ys3G--n0fVQYKCyLp","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":"BtSRu94V1nxNeE08m4x6S","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                bottom coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kCV48I9rC9ix_E30AWzFy","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":"G_chOH-U-H7v8UXm7cAVG","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                absolute center of this rectangle on the horizontal axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k031rpQpFMvpUFCa5kbB6","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                absolute center of this rectangle on the vertical axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dkP5_ZTp5_MXMEL2FLSqh","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":"bKBM6V6AP4RLP0Ohqm7YE","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the renderable default transformation matrix

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P3zP1h_qWSudwjWb_fVk3","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the depth of this renderable on the z axis

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C8VsVDPG-IPb-zxyDp3f9","name":"detector","brief":"","scope":"instance","type":"PropertyDoc","description":"

                the collision detector instance used by this world instance

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q_Gb9QAofhmH2hd98aqNz","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":"S8aGUYU3aiMFI00_WOBEE","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":"tYygOlJZNPQc6GE6LxGsd","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":"3ztwmiuPx788XTUjaacZv","name":"gravity","brief":"","defaultValue":"<0,0.98>","scope":"instance","type":"PropertyDoc","description":"

                world gravity

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6czociF7jZu2DccwF89M1","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":"ZWLzwdnFSUpJXHgDiCXkp","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                height of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZxEgJmO1IhX2zNzg5hVED","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":"9yOpjhvTCsYCQTv0sY6nY","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":"DWmIvTLXvMeyeHJvKBFXd","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":"wQPRXj9jomT-IRh8mEioV","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":"eboTK2JAqFtTG9hmu-jyl","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":"ebx99VySY9H64gu4tvaqz","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":"4g7Be0bIUrH9AkWDGwjC-","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                make the renderable object persistent over level changes

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JBO935moVVWaPlU0KNKos","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                left coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xmEmUTD58hrlCS2VdzmnL","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":"1YxBxCGvq4FIpDJGmoHQN","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                The name of the renderable

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c-C_MXeeA6vcd3zL0XrAV","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":"EAXA89-NgurH_4i9ca-jK","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":"g0Q8nYzEbBPq5pqijB1-E","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":"EHi4WuUsC5oIb851synL1","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":"AbXEv7W1_YJ4izJFQBcU5","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                Position of the Renderable relative to its parent container

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f8hFiOfBt7eqJAeVLU_Du","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":"P_8tL3QD98plra6IV1KoM","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                right coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YTXwmbZdguPt864lYqIPm","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                whether the container is the root of the scene

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vuUuxAD8Gj-ypDsoifvS3","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":"U52aFhZ7hWoQ7WDbnMwi9","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":"zFTfzOLKLP_6p0FaCBDU9","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":"rUgqxxhAalk6x7I_9fV7T","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                top coordinate of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7EJuG45G65ehhNQ_VUzcc","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                the shape type (used internally)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"33IcTQVAGaZpY_6e7RSab","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":"MP9HQ8XZEKVZTl_c_TOd2","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                width of the Rectangle

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vgLkwunye5UI79GOUHRoj","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":"dwEitVZV1prahMhHaz541","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":"FzNSKmvRYBxMQfiQrZy-1","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":"6EgI_1OSHy_v-4UJnj7HM","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":"ln4R2iAMhAKijo57yExmx","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":"bwR6J7Ep3BzOOjFqS6HoS","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":"nDu-rFtwmRI8YDjzl8xtk","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":"UkDUuZlNk85c4UxhCKOVv","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":"-udcRKOPqXOtS1k1acKDU","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":"s2l5Ryxpf98ngXReBa2H8","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":"Ls-nqYfjM0xZFJDgvsYgQ","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":"1IFRbbx74aYKhWG2Umm7H","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":"T4rztKcRJLDrWqASpNT-P","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":"ZiNSLZKcXwtx0rwkqFMhN","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":"acARSaztGR5sXWfOdh-AU","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":"hYfQQter0o6I7ryumJlxe","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":"CZE9apVW839KTR5aO1-wr","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":"8zwG96VZ-UdbzdxV7VDU2","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":"KN5BUmPfhG325xvhm8OvN","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":"PTWkXX48kND7FmYKIjIpk","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":"RHy4L1NAAowxb_1LEY9AL","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":"ghfBzBLNTrINDn9J1ml1J","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":"M4IMqvlWwRJWmc8kiaG4Z","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":"VygzvGe1qxZ951WAsQUXV","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":"tJixxof0TrQOS3UuDHY8g","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":"KISWNr1gqaWrgzVRUMsxP","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":"GQz0BoPftz2RZvzTYzPMj","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":"NKJqhXC-zrLMrdjGDSLdn","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":"xqnRJgVSDGHSI46gw6OWC","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":"-YzXfEW-PwnbFMRbEMWoP","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":"1ge6RcjY8FL2TpsAkq0xB","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":"9ZcXmwia4JvCLuWRd6iVj","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":"t-SOlU8mwQccf8DNeMsNR","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":"MhI6NFMYfp9fP4EzPuQ4F","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":"wLc-xdYPFFX455r1jgANM","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":"m_PlmrUGEtCnUdG33-q3a","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":"AFizUP3bCNb7r89yWqZ5l","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":"u4Z9rzndz5ei3MtHYYU95","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":"cHS51M0Guv9dyWdmEvDQr","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                OnDestroy Notification function
                \nCalled by engine before deleting the object

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RLjClii821X7FjSqXd_sy","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":"sfXBcD7Lf84cQHM5zvmpj","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":"v1N7A2Nqs4wp8RHgG3olp","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":"cX36pUVK9fkUyb_LYaPpV","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":"fKdLloH9gLmlDjLADHGA3","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":"kzPQq5WAfetCm4wAb9z7Z","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":"jubNw9t2dPcyDplHTEKie","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":"sWdQbmXTQx0GhF6gAVgUT","name":"reset","brief":"

                reset the game world

                ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZXRPQ0ccz_Ey3JHELI3v2","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":"BBmm6u9oH90SW39SbM5Jk","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":"lCOFMjRf2swBFCnrSj_FD","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":"qmcJoCsrd1y0tkdrLl0Bb","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":"k_ZBSEYIF9fFuwchbJcYU","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":"-I6JPKoO2kDr1BXSbqPBH","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":"kOvDc1yTpiRGIqxlvrGii","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":"Z84Xo4tApzRJlEp5OzO1q","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":"-D5FA5gHSEZDP7ckIoTfc","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":"xayXtBR4rkDjwOFyA599d","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":"1IJVc0aYg96H_Qq3BM3-O","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":"RAKH8qn-GH4CER_3KNnD4","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":"FNEkxZnYTo523kt6dB0r0","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":"SwxPSazuN_IjvOp5vA_J9","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":"ro0h3sqMzf2dWMOTi_wOq","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":"bIAZGMwKZRCPiWID276mN","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":"icuXzIuNZQjgIvooSQHJm","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":"UTUzPwA1UfpzqviTu8Vij","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":"5rAMYxNp_J1R9uQlCa1ln","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":"CE_MdOEKd8lyJgOP-TGg2","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":"D0U1eWLQKbuWSqPvYr6En","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":"Q1BpiC0m-j2I0FkzobnAO","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":"U6nDO6GypcPQFS117_KEL","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":"JIGGiUEDFP3qvY2X_yXCY","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":"s5Q2tvlb0irRIqbOqXSZB","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":"mlAOj36R9NfTYPBNA7MiY","name":"version","brief":"","defaultValue":"\"__VERSION__\"","readonly":true,"scope":"static","type":"PropertyDoc","description":"

                current melonJS version

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HSm4eSBZvdYHsuy71NN6_","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":"EKauWblct8I0ovymT9pnC","name":"failureLoadedAssets","brief":"

                Assets uploaded with an error

                ","readonly":true,"type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MYbFod_c5B4NIVCdu_qjL","name":"imgList","brief":"

                where all preloaded content is cached

                ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ylBggsk3XIuQMrFvJxvDb","name":"initialized","brief":"","defaultValue":"false","readonly":true,"type":"PropertyDoc","description":"

                a flag indicating that melonJS is fully initialized

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0lqS6SfSLSd9GOwSlHvaV","name":"parserInitialized","brief":"

                keep track if parsers were registered

                ","defaultValue":"false","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GMuhAC58bqxUetLOpZMI7","name":"parsers","brief":"

                list of parser function for supported format type

                ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ervl5T6Y3e3_ixZ1PY742","name":"skipAutoInit","brief":"","defaultValue":"false","see":["boot"],"type":"PropertyDoc","description":"

                disable melonJS auto-initialization

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4vWwrUj5Csw4cGyvFYef8","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":"-0EJB390tg-nowyp6M1zY","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":"m3WajUF0X6U12jUN0kMLP","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":"rtW3YpXzcGogbOuIebTBT","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":"plrgqqPCwBOFCoVisZ1eV","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-yEmwo2KsS53nHdE0QwGan":{"uri":"/melonJS/docs/melonjs.html"},"nxGofoQzm9-JycnTKn3Ta":{"uri":"/melonJS/docs/melonjs/audio.html"},"IY23GrTlfJ0zt5s37yjbk":{"uri":"/melonJS/docs/melonjs/audio.html#stopOnAudioError"},"j0O7-64sPJRSgxpjaRHaD":{"uri":"/melonJS/docs/melonjs/audio/disable.html"},"VB-moTAxnKRy8WbSEZD4Z":{"uri":"/melonJS/docs/melonjs/audio/enable.html"},"o36Ks8xGwTGlE9NknvOWE":{"uri":"/melonJS/docs/melonjs/audio/fade.html"},"3Z8Xjt3VJiDS23WGSsy9n":{"uri":"/melonJS/docs/melonjs/audio/getCurrentTrack.html"},"bwbnMBP-qDPfqRKv4Lx4Q":{"uri":"/melonJS/docs/melonjs/audio/getVolume.html"},"vXVAOzn-iUKfT0TEEEUzw":{"uri":"/melonJS/docs/melonjs/audio/hasAudio.html"},"wVWq0Xxtj2USE6GfYR4Hf":{"uri":"/melonJS/docs/melonjs/audio/hasFormat.html"},"HltwCgGj87PojPZ-87KNp":{"uri":"/melonJS/docs/melonjs/audio/init.html"},"ntbMk505loEvLoiQxwaj4":{"uri":"/melonJS/docs/melonjs/audio/load.html"},"8kLclba0NcXc_e7fk8M0H":{"uri":"/melonJS/docs/melonjs/audio/mute.html"},"6Ry-haQfNdMWvUaeXwNLj":{"uri":"/melonJS/docs/melonjs/audio/muteAll.html"},"uAh92V3HZmXi8w9KDFhYU":{"uri":"/melonJS/docs/melonjs/audio/muted.html"},"W3Eg-akfu3NZbqsEJ5BEk":{"uri":"/melonJS/docs/melonjs/audio/pause.html"},"wEHbh0RiWsQAMDGH3QmvF":{"uri":"/melonJS/docs/melonjs/audio/pauseTrack.html"},"7wBsfCfM1RPDjniRol8v7":{"uri":"/melonJS/docs/melonjs/audio/play.html"},"e53quipXx5ugqaFCaf5LW":{"uri":"/melonJS/docs/melonjs/audio/playTrack.html"},"ePLZW6Pyj05Bt62yqyh3x":{"uri":"/melonJS/docs/melonjs/audio/rate.html"},"Um0JRVUWzGw0FbBvt5GYL":{"uri":"/melonJS/docs/melonjs/audio/resume.html"},"lG5I3RJNPA9SenXxC9mM6":{"uri":"/melonJS/docs/melonjs/audio/resumeTrack.html"},"qDUNbzromMR-zwaokyKyt":{"uri":"/melonJS/docs/melonjs/audio/seek.html"},"fr_zseHr1OWYgVZXO_e0O":{"uri":"/melonJS/docs/melonjs/audio/setVolume.html"},"ICdUfLhE7VjCdYZ3zHn_P":{"uri":"/melonJS/docs/melonjs/audio/stop.html"},"SI5GXYtPD3y3TFsaFGzjO":{"uri":"/melonJS/docs/melonjs/audio/stopTrack.html"},"RTO7lEe2D5ZbIijtobMaG":{"uri":"/melonJS/docs/melonjs/audio/unload.html"},"zBkG_HQDOm1pILBxfpHdx":{"uri":"/melonJS/docs/melonjs/audio/unloadAll.html"},"Ze1u4NuI75IwtwhLksHq_":{"uri":"/melonJS/docs/melonjs/audio/unmute.html"},"4pXVmmRpecjf6j19vuTIb":{"uri":"/melonJS/docs/melonjs/audio/unmuteAll.html"},"PwR-ct35Di5OJO55z4Dvk":{"uri":"/melonJS/docs/melonjs/collision.html"},"2KRCb3ypHQee7MjG4yEVb":{"uri":"/melonJS/docs/melonjs/collision/types.html"},"5-LWVEfihxOkMoC1777Lv":{"uri":"/melonJS/docs/melonjs/collision/types.html#ACTION_OBJECT"},"-C52iHYZkl3qV8yhIkPvf":{"uri":"/melonJS/docs/melonjs/collision/types.html#ALL_OBJECT"},"fybjbyr7TMu_ZEJv6K8qP":{"uri":"/melonJS/docs/melonjs/collision/types.html#COLLECTABLE_OBJECT"},"NxL8VE32neTjsLWMe36d7":{"uri":"/melonJS/docs/melonjs/collision/types.html#ENEMY_OBJECT"},"FWeFJ1Yc5TnweiqG6Ao9l":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT"},"aGndski8zXXF7ffZ5xOfL":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT_"},"RKIbpeZ1_GPF_no8QgbD-":{"uri":"/melonJS/docs/melonjs/collision/types.html#NPC_OBJECT"},"a-FNV57HWSuhhG6bokGXX":{"uri":"/melonJS/docs/melonjs/collision/types.html#PLAYER_OBJECT"},"VwMmQc_jvSSXAo82Ov3Y-":{"uri":"/melonJS/docs/melonjs/collision/types.html#PROJECTILE_OBJECT"},"2V9zLWGsIPqO8H62s58ub":{"uri":"/melonJS/docs/melonjs/collision/types.html#USER"},"IlXPP3UJVOi1krVh4UCf7":{"uri":"/melonJS/docs/melonjs/collision/types.html#WORLD_SHAPE"},"C4Qohi8pojmSJaP9tqKrC":{"uri":"/melonJS/docs/melonjs/collision.html#maxChildren"},"vApDpdLYoHpWG5AS3QU6r":{"uri":"/melonJS/docs/melonjs/collision.html#maxDepth"},"OatUR9UxAeaDmke_nnIwm":{"uri":"/melonJS/docs/melonjs/collision.html#rayCast"},"c-KiqX9_nVw6kaDtFAsCA":{"uri":"/melonJS/docs/melonjs/device.html"},"odGenD8RqukisSOmvU_IJ":{"uri":"/melonJS/docs/melonjs/device/platform.html"},"g07MA8UYtCjS9Oi1CBYUv":{"uri":"/melonJS/docs/melonjs/device/platform.html#android"},"LO_y9mAG_kJTTwalvuaA2":{"uri":"/melonJS/docs/melonjs/device/platform.html#android2"},"W6PcZbDmxpI5Zs4q4FvMt":{"uri":"/melonJS/docs/melonjs/device/platform.html#BlackBerry"},"-Og6YC2CyVcvY9CNWTHV3":{"uri":"/melonJS/docs/melonjs/device/platform.html#chromeOS"},"HVLpTRLVslKwokR7PfNpd":{"uri":"/melonJS/docs/melonjs/device/platform.html#ejecta"},"r6FLzDEjjadiEv4W1j4uR":{"uri":"/melonJS/docs/melonjs/device/platform.html#iOS"},"_7FFqJJd3DsZYKWtTlMTY":{"uri":"/melonJS/docs/melonjs/device/platform.html#isMobile"},"wYbctWPU8jsJMzvrGCxM3":{"uri":"/melonJS/docs/melonjs/device/platform.html#isWeixin"},"pOOMzH5nOTFg741g6P_2H":{"uri":"/melonJS/docs/melonjs/device/platform.html#Kindle"},"rCHd729BzJfDlcBJOc99g":{"uri":"/melonJS/docs/melonjs/device/platform.html#linux"},"1kyCX9X-bBeP7RmN-V2d0":{"uri":"/melonJS/docs/melonjs/device/platform.html#nodeJS"},"IOCBlQrvESiAFT6GpPKyj":{"uri":"/melonJS/docs/melonjs/device/platform.html#ua"},"RJ-1XdN0VF093i5DGZ-2y":{"uri":"/melonJS/docs/melonjs/device/platform.html#wp"},"tnIIMwIwf8kXQTTKjiusK":{"uri":"/melonJS/docs/melonjs/device.html#accelerationX"},"oUu_wa67aQhr4Y1H3KxdL":{"uri":"/melonJS/docs/melonjs/device.html#accelerationY"},"AJLFVtwdnjng-rxogYk2W":{"uri":"/melonJS/docs/melonjs/device.html#accelerationZ"},"O8oTu1DpDxvGR25vOGGCB":{"uri":"/melonJS/docs/melonjs/device.html#alpha"},"S-aEWIl4srNTKvaxAs4Q7":{"uri":"/melonJS/docs/melonjs/device.html#autoFocus"},"roh5J6wZ1VS8MGNb3hs_u":{"uri":"/melonJS/docs/melonjs/device.html#beta"},"Ltad9oDqlPSX9gtmjVS1g":{"uri":"/melonJS/docs/melonjs/device.html#devicePixelRatio"},"YfUxDDflkTl-qfhqQQ3WZ":{"uri":"/melonJS/docs/melonjs/device.html#gamma"},"xOMC0gMQzLK8rBlR6aOAG":{"uri":"/melonJS/docs/melonjs/device.html#hasAccelerometer"},"N6Pd6AVX-dCcNx-JiAeR5":{"uri":"/melonJS/docs/melonjs/device.html#hasDeviceOrientation"},"Z1QQluSdozFJnMcyx5X1K":{"uri":"/melonJS/docs/melonjs/device.html#hasFullscreenSupport"},"p7HnZyrfd2UfDF-Dzsxlo":{"uri":"/melonJS/docs/melonjs/device.html#hasHTML5Audio"},"Fqjxo-m8TUGRFl1l_Y04K":{"uri":"/melonJS/docs/melonjs/device.html#hasPointerLockSupport"},"9lsPIhA5tTdqp-5zAMnwQ":{"uri":"/melonJS/docs/melonjs/device.html#hasVideo"},"u0nVHrTwvwBRuyTypyCnC":{"uri":"/melonJS/docs/melonjs/device.html#hasWebAudio"},"gees3720Eudg_8D1clOjH":{"uri":"/melonJS/docs/melonjs/device.html#isMobile"},"ld-CUdDLyf27kDud4DEmY":{"uri":"/melonJS/docs/melonjs/device.html#language"},"rBAIZINxwE2HDu-wOZe3A":{"uri":"/melonJS/docs/melonjs/device.html#localStorage"},"4-S4a7QiefMsT3Skobna9":{"uri":"/melonJS/docs/melonjs/device.html#maxTouchPoints"},"7YwHB8wmqdJdxf91wmZKb":{"uri":"/melonJS/docs/melonjs/device.html#nativeBase64"},"9L5b_kVFBXO4OnmtQFfxw":{"uri":"/melonJS/docs/melonjs/device.html#offscreenCanvas"},"nUBRnZljBHTn_Dapf9l4P":{"uri":"/melonJS/docs/melonjs/device.html#pauseOnBlur"},"TzYYEbgEqmcfq7y7zAYCj":{"uri":"/melonJS/docs/melonjs/device.html#platform"},"h-PahzOBs1lHaluMU-vMD":{"uri":"/melonJS/docs/melonjs/device.html#pointerEvent"},"I4BOFAn3kFXTGso-dR2Ra":{"uri":"/melonJS/docs/melonjs/device.html#resumeOnFocus"},"yMdsNfYYYX5J62qcMqt8A":{"uri":"/melonJS/docs/melonjs/device.html#screenOrientation"},"wizGRjej24eId-H75lJnl":{"uri":"/melonJS/docs/melonjs/device.html#sound"},"ZpFDgqxxH4vux6XgWxxyx":{"uri":"/melonJS/docs/melonjs/device.html#stopOnBlur"},"-nXbD1dRE_eqL3-XIGEv0":{"uri":"/melonJS/docs/melonjs/device.html#touch"},"Hm8tFOh0K9kMy5p0TF0Ux":{"uri":"/melonJS/docs/melonjs/device.html#touchEvent"},"PFXFCwKuyS9bqDLavLhcc":{"uri":"/melonJS/docs/melonjs/device.html#wheel"},"k41O19AvcIER_PBhpjpW3":{"uri":"/melonJS/docs/melonjs/device/enableSwipe.html"},"-potl95KNTm7BgXpPC02P":{"uri":"/melonJS/docs/melonjs/device/exitFullscreen.html"},"KumPgKd_dkw87zAOGP0CB":{"uri":"/melonJS/docs/melonjs/device/focus.html"},"qtvyEIEf56ScwLxnAHLCa":{"uri":"/melonJS/docs/melonjs/device/getElement.html"},"IDj9X2z-f7EROsKLIrdoH":{"uri":"/melonJS/docs/melonjs/device/getElementBounds.html"},"O5dYMEenYyT5qZDOeo40m":{"uri":"/melonJS/docs/melonjs/device/getParentBounds.html"},"fx_nSE80odq5xxYzXjW7l":{"uri":"/melonJS/docs/melonjs/device/getParentElement.html"},"loJNpbzAcvEhxZXHUhJk6":{"uri":"/melonJS/docs/melonjs/device/getScreenOrientation.html"},"Nl9SNSwFm_d6R72gCttRA":{"uri":"/melonJS/docs/melonjs/device/getStorage.html"},"oHM4PIgqHw_kZfWGo7VGm":{"uri":"/melonJS/docs/melonjs/device/hasVideoFormat.html"},"Y1IjhRi2sLi9XC8urcGdD":{"uri":"/melonJS/docs/melonjs/device/isFullscreen.html"},"c9T5Pe9zEJdyS56L8MnAZ":{"uri":"/melonJS/docs/melonjs/device/isLandscape.html"},"BNSq2qNwITj-T2QM1Ix5T":{"uri":"/melonJS/docs/melonjs/device/isPortrait.html"},"KtbUqEoDh_7fkPwD2O2HH":{"uri":"/melonJS/docs/melonjs/device/isWebGLSupported.html"},"o9A7sdOyB_KZvqG6dGM5o":{"uri":"/melonJS/docs/melonjs/device/lockOrientation.html"},"DKOjIA1uEq8m46iUPvI9L":{"uri":"/melonJS/docs/melonjs/device/onReady.html"},"hjh-5jDGOLi-RlI2sXV7W":{"uri":"/melonJS/docs/melonjs/device/requestFullscreen.html"},"U4PTFA31CtMdlWTmzlBXk":{"uri":"/melonJS/docs/melonjs/device/unlockOrientation.html"},"zU8YPcMd33NpCX1LWtYD7":{"uri":"/melonJS/docs/melonjs/device/unwatchAccelerometer.html"},"v1QHpB5WGV_iC4yx6rOzZ":{"uri":"/melonJS/docs/melonjs/device/unwatchDeviceOrientation.html"},"lSOW9Is940qwUqBqUcf6g":{"uri":"/melonJS/docs/melonjs/device/vibrate.html"},"CkNjvORRtcRc0ZVrec5Yc":{"uri":"/melonJS/docs/melonjs/device/watchAccelerometer.html"},"zavqnD28gWLnOQccbWC1r":{"uri":"/melonJS/docs/melonjs/device/watchDeviceOrientation.html"},"COpFR7hLkSqmIdTxY7fXa":{"uri":"/melonJS/docs/melonjs/event.html"},"lo-56mIQ8c-cpkrj85G7L":{"uri":"/melonJS/docs/melonjs/event.html#BLUR"},"CfIWtyOdkoWC3w_3KBSrn":{"uri":"/melonJS/docs/melonjs/event.html#BOOT"},"VJbTo8fCOMzwIdCKPU0Ux":{"uri":"/melonJS/docs/melonjs/event.html#CANVAS_ONRESIZE"},"VxMU8HXaWqNGiO0cj8Jk8":{"uri":"/melonJS/docs/melonjs/event.html#DOM_READY"},"SlEZ4ul1RKyke6hjIsGWC":{"uri":"/melonJS/docs/melonjs/event.html#DRAGEND"},"kurR5-1pg0-sbmjwP3n4B":{"uri":"/melonJS/docs/melonjs/event.html#DRAGSTART"},"FtGfW_b1jA7KOcOHMK300":{"uri":"/melonJS/docs/melonjs/event.html#FOCUS"},"nPlkPakoJbBdhnJcQhYN8":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_DRAW"},"D5udnJNkNKzgky_UiABTm":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_UPDATE"},"UggRl8VrhVnDfFGo4VzqF":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_DRAW"},"30l1sHOYJ0qqN6q653IWJ":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_UPDATE"},"E8TlgZuq8859d30_FjOJO":{"uri":"/melonJS/docs/melonjs/event.html#GAME_INIT"},"E7-araW6TV44sZL6R0zuu":{"uri":"/melonJS/docs/melonjs/event.html#GAME_RESET"},"zsZve3RPA-gv9M2cOWM1b":{"uri":"/melonJS/docs/melonjs/event.html#GAME_UPDATE"},"Yl4iL45nVT-MWyNxP-YD1":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_CONNECTED"},"2Mhiim2iNO0PozC3roklw":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_DISCONNECTED"},"LQTDLJJlV88kI9jrH7yDu":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_UPDATE"},"JNFoqL5GpI-wSXiXXtPh9":{"uri":"/melonJS/docs/melonjs/event.html#KEYDOWN"},"uU9OtjFXNGffnHhVDrcqA":{"uri":"/melonJS/docs/melonjs/event.html#KEYUP"},"puUUchouln-e-gokwi7d7":{"uri":"/melonJS/docs/melonjs/event.html#LEVEL_LOADED"},"17Y8MIJAijTiJ2UuKZNxR":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_COMPLETE"},"KthGANDsCO98zf_b2on9C":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_ERROR"},"ZWYekhWs57gY1mn0N0GSQ":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_PROGRESS"},"Y7nubQtcfL-ClH6te5YEY":{"uri":"/melonJS/docs/melonjs/event.html#ONCONTEXT_RESTORED"},"RZfDq9GNVWJXIb1Tl_gWq":{"uri":"/melonJS/docs/melonjs/event.html#POINTERLOCKCHANGE"},"CWSDHl8GwQjyRISw_RBVm":{"uri":"/melonJS/docs/melonjs/event.html#POINTERMOVE"},"WQwNOKAHKLdNGJqLKSQcC":{"uri":"/melonJS/docs/melonjs/event.html#STAGE_RESET"},"_qrCpCj0rZAJi1B78OqNq":{"uri":"/melonJS/docs/melonjs/event.html#STATE_CHANGE"},"dlMykZizV0p_P_m8NU2pm":{"uri":"/melonJS/docs/melonjs/event.html#STATE_PAUSE"},"HY45G-TieU6fWwvMZ8Xbi":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESTART"},"68c-FsBDYmXoAosFm0H6s":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESUME"},"3avZj3HozW4V59M3QL6UF":{"uri":"/melonJS/docs/melonjs/event.html#STATE_STOP"},"NugMcFF4Ty6D9vRwR5C5V":{"uri":"/melonJS/docs/melonjs/event.html#TICK"},"cuAGC1fg3hT-0MA84ID5C":{"uri":"/melonJS/docs/melonjs/event.html#VIDEO_INIT"},"LX_VkS3zxgOlPaTwOnRyt":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONCHANGE"},"A_NfgXHJtTVb_52qVd-3q":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONRESIZE"},"cL6pXrjUOW9XUaur64Dg-":{"uri":"/melonJS/docs/melonjs/event.html#WEBGL_ONCONTEXT_LOST"},"IazlVduUzqH3_bgP58TPk":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONORIENTATION_CHANGE"},"sXaixZaGod35AFOnByMjO":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONRESIZE"},"5WgjM7beUAr6d3gFIrt5P":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONSCROLL"},"HaoH_nZMdtQ9jTIVBuU1_":{"uri":"/melonJS/docs/melonjs/event.html#WORLD_STEP"},"m7L_uQd7x0ejvieC0rKWG":{"uri":"/melonJS/docs/melonjs/event/emit.html"},"mONFthIEyJlnBQ6MOLzf8":{"uri":"/melonJS/docs/melonjs/event/off.html"},"YZ4F4eNDOBegyy2ZDRExr":{"uri":"/melonJS/docs/melonjs/event/on.html"},"3vFGxjXB1mDRniNL3qHG9":{"uri":"/melonJS/docs/melonjs/event/once.html"},"YAitptm7p6BFYu3SFvNP7":{"uri":"/melonJS/docs/melonjs/game.html"},"SV-FZnTaolDuW77SRyN57":{"uri":"/melonJS/docs/melonjs/input.html"},"-M20NEY25FJJT9LfsVVrH":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD.html"},"6s1_wmnHsahi2Gx049iZ1":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/AXES.html"},"d7VeqqOL5aGJjiJ_-8nNH":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/BUTTONS.html"},"aI4eAegE-6rO4INMMOTAd":{"uri":"/melonJS/docs/melonjs/input/KEY.html"},"i5MDVwwrbCchqxFoAQ0rA":{"uri":"/melonJS/docs/melonjs/input/KEY.html#A"},"PsXr4krW9bf6gbm2yMzP1":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ADD"},"tYq3hbOtXgjhtcopTUCgR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ALT"},"3VTJQ5cOBpNpUZsivdsIK":{"uri":"/melonJS/docs/melonjs/input/KEY.html#B"},"74BYOFtQg3fyvY6bXYoR1":{"uri":"/melonJS/docs/melonjs/input/KEY.html#BACK_SLASH"},"myaplc1QeNuNyDrj9Q5iy":{"uri":"/melonJS/docs/melonjs/input/KEY.html#C"},"FWbLwmDdZFZp2TIvLAmaF":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CAPS_LOCK"},"vEdA8E8_LIpIK96B5pPq8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CLOSE_BRACKET"},"bVjrGcRosBtL3wXqduZTw":{"uri":"/melonJS/docs/melonjs/input/KEY.html#COMMA"},"EvyOZwGukD-jwp0peWhvR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CTRL"},"Jt5e6F-7Q_rUFy-ZVlgAH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#D"},"ImIgEyWx8YQ1Vp7XoD1TR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DECIMAL"},"gqraGME5szbFg7ADatnqV":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DELETE"},"Sw_jvorO0810E4CtBLU8K":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DIVIDE"},"ZmZ-bfJbSjKkahwm-4dxe":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DOWN"},"xSB11DQ5e8H7Os4-XTNdN":{"uri":"/melonJS/docs/melonjs/input/KEY.html#E"},"th9xBdYZvgWrGDFQhkrY8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#END"},"CRKn4wkiOb5es2Q0_NVcG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ENTER"},"uS6_aLduHNVDpgp8rqtnJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ESC"},"4Q4nDgcAFg0yKT4Em2Ro7":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F"},"4oclKnMdNfb1Qde_cwyj5":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F1"},"6haKwsgrTpWpkW0lCXkJ5":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F10"},"4jKQ0j5yehDIOrJA-m_hB":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F11"},"aLyOsY2JqMBbzvVjSf99U":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F12"},"7qWkhCgT_0ejzKvjBKiCQ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F2"},"i8WDYR4mPWP1L8zgCgLfq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F3"},"eCbdCXpMqJAw2F7lXJ0t5":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F4"},"xoyfYLymJ20rRQIHdZVU6":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F5"},"VYHjQqFK_H5xjDA-O_WRb":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F6"},"F-QiRsFiuJ2_Be1guuxtG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F7"},"Dhdswmi_wqNeCD6m0oNih":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F8"},"0SxiPRHPHccd-eEb-W1pq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F9"},"IFAY_z5km26UdJ7xWUn3u":{"uri":"/melonJS/docs/melonjs/input/KEY.html#FORWAND_SLASH"},"awgHEcp2-C5GdKn7UahVs":{"uri":"/melonJS/docs/melonjs/input/KEY.html#G"},"L0Io8nJ02lMm27fEOoACa":{"uri":"/melonJS/docs/melonjs/input/KEY.html#GRAVE_ACCENT"},"lJQ6RwJ8bMH2wMBCREhiM":{"uri":"/melonJS/docs/melonjs/input/KEY.html#H"},"XQKGc7vaAkSVeTSBMEcM3":{"uri":"/melonJS/docs/melonjs/input/KEY.html#HOME"},"egtSSYVo4-SsgiqtBmWFR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#I"},"PCJDa0gX0ElcPA-ORDC4n":{"uri":"/melonJS/docs/melonjs/input/KEY.html#INSERT"},"aQvzJ7zRivK_Z5LzUEqYB":{"uri":"/melonJS/docs/melonjs/input/KEY.html#J"},"1l2sXrBjESrNi2GYTzeDt":{"uri":"/melonJS/docs/melonjs/input/KEY.html#K"},"ZQT4Qz42tKSbf9wYR8WWh":{"uri":"/melonJS/docs/melonjs/input/KEY.html#L"},"Uo9IFkbe9yrGG81d53PAp":{"uri":"/melonJS/docs/melonjs/input/KEY.html#LEFT"},"4TVlfxQtFaWj5NPAolewb":{"uri":"/melonJS/docs/melonjs/input/KEY.html#M"},"Y3rIKk1LGC6o3rwKBA5oq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MINUS"},"4Xrm1EggkDTyZ1vfv-i53":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MULTIPLY"},"IcOntPCC54p-nIP4D8rlm":{"uri":"/melonJS/docs/melonjs/input/KEY.html#N"},"VxzHClvs5pcJM-7aptv8n":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM_LOCK"},"4VMPkJMfz0wayNmSnQfZl":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM0"},"HFGhmZtS8t-uzSyuJSgMJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM1"},"dVPjoyLDFFAZtMNmfrEOC":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM2"},"22_y_Amr1wiKrTTt7fIx-":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM3"},"P8FiI0MGBEt1YxLlGknF6":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM4"},"AH8ntvWdd9XfZXMiMLn82":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM5"},"_HQpZE8hUjhlWJ6hNBsLb":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM6"},"LfVq4jGcerNxcYiVCgPZd":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM7"},"MkHd2JCY8DcbqlZbVqYjZ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM8"},"VHVcnYGona8TQfURF5bQN":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM9"},"HDVsZDQATW-nsuRkzbqZn":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD0"},"xROjV2Qg2ftQ4_Jf8_Aac":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD1"},"Tl3SrXPZuxQzvclOuYIdl":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD2"},"Pc8rA-e-0dPmQpNePPMRX":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD3"},"yYYeH3jz7FzcG13lD20Yb":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD4"},"HdPtH-9fG58NLHfTjs2JW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD5"},"sL0kac9aZn0zczLlJiLTJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD6"},"SOEABssIC8lWCUUFbqK92":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD7"},"nPXtX7eE529DDOa3j5qyW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD8"},"aYWxuFbMLqon8jfm-O87X":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD9"},"wu1qxnpq_6TFtjMGbUOBY":{"uri":"/melonJS/docs/melonjs/input/KEY.html#O"},"1T0PkaOliuUA80VDkcB83":{"uri":"/melonJS/docs/melonjs/input/KEY.html#OPEN_BRACKET"},"kDc2hUct3kVOh7lWVyk_C":{"uri":"/melonJS/docs/melonjs/input/KEY.html#P"},"8-AbbSwPCoXm06OzwRFXq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_DOWN"},"l3O0cP0eYvkTE1kxiWfcj":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_UP"},"epT3D1t9I94_ZipHI1_yX":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAUSE"},"j7QUQcuc0_hQMug7Lnl4f":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PERIOD"},"2PA7FpOWxoqtaRxOp50Bd":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PLUS"},"hnrfaLp8tHbzz4FkP4RI1":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PRINT_SCREEN"},"suFcGhWlyF9kpSXfyqeFq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Q"},"O-_prFpuJar65GxsMRO1s":{"uri":"/melonJS/docs/melonjs/input/KEY.html#R"},"NH_f5BHFcP99YaO6CUon9":{"uri":"/melonJS/docs/melonjs/input/KEY.html#RIGHT"},"z2Lv8qsjiwdKIOrX2Cy8D":{"uri":"/melonJS/docs/melonjs/input/KEY.html#S"},"Z1J6G6VKMRpfZEfeEpuP4":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SCROLL_LOCK"},"3-lQ3xvFOFG8qZ-yMlNMF":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SEMICOLON"},"0tNFa4eirW72yV_H4zZsL":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SHIFT"},"sTRqr3Szr45HKQ48c1WMn":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SINGLE_QUOTE"},"rWSVaIJJG_I1Me3wFd797":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SPACE"},"tdHsIKJLava7XgJfoHa-w":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SUBSTRACT"},"_bPwzGLyDpxHagCUiY8YB":{"uri":"/melonJS/docs/melonjs/input/KEY.html#T"},"ttTZhj3lIRGg-4cpER8mg":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TAB"},"3Mhwpk7WEeN3p-XEdw847":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TILDE"},"4RoEPcuXSiS9MIW89iO-N":{"uri":"/melonJS/docs/melonjs/input/KEY.html#U"},"_p3D1c_5aaTik0u6LQ3MJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#UP"},"BEgw0w3QXze69ThN4Hhho":{"uri":"/melonJS/docs/melonjs/input/KEY.html#V"},"lhdGOCXxz07uOgh_D8aP1":{"uri":"/melonJS/docs/melonjs/input/KEY.html#W"},"-NlMr7eSsp6plx0P6S95a":{"uri":"/melonJS/docs/melonjs/input/KEY.html#WINDOW_KEY"},"xUm9VG3tkk5SLmm59Odiq":{"uri":"/melonJS/docs/melonjs/input/KEY.html#X"},"ZOSQbvgLleVw0WMZBpnhg":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Y"},"kvkzHKaZKrPvQokn5pAc_":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Z"},"LXWLiDxBQxKjbtw71WvFs":{"uri":"/melonJS/docs/melonjs/input.html#keyBoardEventTarget"},"OayWVkExoLAqc9u_504xS":{"uri":"/melonJS/docs/melonjs/input.html#locked"},"AwYAZz1jQPtQ72iU0UqOl":{"uri":"/melonJS/docs/melonjs/input.html#pointer"},"KkhBqmQRGY1J6hqe9URpM":{"uri":"/melonJS/docs/melonjs/input.html#pointerEventTarget"},"WBHjmgUjMnT0xlpQtHC7c":{"uri":"/melonJS/docs/melonjs/input.html#preventDefault"},"Gm5jIn5l30HHhIyV4zK6s":{"uri":"/melonJS/docs/melonjs/input.html#setGamepadMapping"},"OwYB0rF-bcLw2pI6mcnJb":{"uri":"/melonJS/docs/melonjs/input.html#throttlingInterval"},"BGJ-qomOVgB4jgwsPb8QT":{"uri":"/melonJS/docs/melonjs/input/bindGamepad.html"},"4pT2FYuBlrgxpXz4AeAqC":{"uri":"/melonJS/docs/melonjs/input/bindKey.html"},"jqO8W6aQJPiggGHZGkh1L":{"uri":"/melonJS/docs/melonjs/input/bindPointer.html"},"7tpklwXpI-WTetYYZ_2Gr":{"uri":"/melonJS/docs/melonjs/input/exitPointerLock.html"},"k6V8f7DN4ni1jTQFSuPlv":{"uri":"/melonJS/docs/melonjs/input/getBindingKey.html"},"KfYDdHE91Wb8rkXm5_f92":{"uri":"/melonJS/docs/melonjs/input/globalToLocal.html"},"94wCahweGQ1aKMzdoh8-I":{"uri":"/melonJS/docs/melonjs/input/hasActiveEvents.html"},"6Bbx5bQQ0tFiRZ39xqcD7":{"uri":"/melonJS/docs/melonjs/input/hasRegisteredEvents.html"},"MGoI_5Wuqs3jWkkxJdbZo":{"uri":"/melonJS/docs/melonjs/input/isKeyPressed.html"},"Qc3CT3r8iTg77c_484fuK":{"uri":"/melonJS/docs/melonjs/input/keyStatus.html"},"MpmcfVwhv9ZOomc0wWlmY":{"uri":"/melonJS/docs/melonjs/input/registerPointerEvent.html"},"Ztw7YkW-xeBRtCls6Ym6b":{"uri":"/melonJS/docs/melonjs/input/releaseAllPointerEvents.html"},"IDyunqpg0uM7lPDGMUMbv":{"uri":"/melonJS/docs/melonjs/input/releasePointerEvent.html"},"b398TojxHVztRNSEoanOf":{"uri":"/melonJS/docs/melonjs/input/requestPointerLock.html"},"y0gJ5Q_28ofNLCvmyvWzm":{"uri":"/melonJS/docs/melonjs/input/setGamepadDeadzone.html"},"5IoJZxnaUjGRPznfKeIAt":{"uri":"/melonJS/docs/melonjs/input/setTouchAction.html"},"Jc4GLwvc8n83J5hAxW8mS":{"uri":"/melonJS/docs/melonjs/input/triggerKeyEvent.html"},"kLA-usCTApSxJfiajqz6n":{"uri":"/melonJS/docs/melonjs/input/unbindGamepad.html"},"neBC_QzrR45hzpuv3Y52w":{"uri":"/melonJS/docs/melonjs/input/unbindKey.html"},"HhP_B553Mv7wVZaLe3OKo":{"uri":"/melonJS/docs/melonjs/input/unbindPointer.html"},"suLC1ApYE6vNO9MynofJK":{"uri":"/melonJS/docs/melonjs/input/unlockKey.html"},"j6YCQV4uUXPijwiDREvtU":{"uri":"/melonJS/docs/melonjs/level.html"},"V-MrW62QhZYLKr654OcLT":{"uri":"/melonJS/docs/melonjs/level.html#add"},"QWnG7fdxqsYRggDEywcD8":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevel"},"yT0vlA9m35mulxyc0a_gi":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevelId"},"VSy2-iugUpWrq-4J6lldB":{"uri":"/melonJS/docs/melonjs/level.html#levelCount"},"Wc5Z3djK0oCusx35KN1Tn":{"uri":"/melonJS/docs/melonjs/level.html#load"},"1ZcBbixYNki7vyen5pJke":{"uri":"/melonJS/docs/melonjs/level.html#next"},"QgmhPaWonVyT-ydcpgt5b":{"uri":"/melonJS/docs/melonjs/level.html#previous"},"PsgG_HUiabEcLJxN2N4_X":{"uri":"/melonJS/docs/melonjs/level.html#reload"},"FEWmR77BqYn15FrjxY5cR":{"uri":"/melonJS/docs/melonjs/loader.html"},"jSrVShHPJ8p6536iUcc8d":{"uri":"/melonJS/docs/melonjs/loader/Asset.html"},"vdQDek3TCHCpNGnYHYXYx":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#autoplay"},"qWzlJSslD8qcoklFGx70B":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#data"},"gbcsLJxrtNdBQpJ7OFXaK":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#loop"},"PdX5cbRv2-QTMRN7Er9Bu":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#name"},"lFQP9WoZT99OxVJGzAjha":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#src"},"V959mFni403W61TWcTBww":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#stream"},"hBAAcjbx3TqBtHiGmELSs":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#type"},"fg2waW-S1ocupqKQsRCAN":{"uri":"/melonJS/docs/melonjs/loader.html#crossOrigin"},"PChxgF795t6YFCUb7eNa-":{"uri":"/melonJS/docs/melonjs/loader.html#onError"},"eqWooe6iqiuGkVGUQpgiZ":{"uri":"/melonJS/docs/melonjs/loader.html#onload"},"-iIgO2VuYQ3eBve_ae4se":{"uri":"/melonJS/docs/melonjs/loader.html#onProgress"},"pVl4bLr4qxljt3bkrWQ2b":{"uri":"/melonJS/docs/melonjs/loader.html#withCredentials"},"uycSPKRhkhNLl2Y-yhJKE":{"uri":"/melonJS/docs/melonjs/loader/getBinary.html"},"fddn_Xve8UW96HUD_8nq2":{"uri":"/melonJS/docs/melonjs/loader/getImage.html"},"uHzQh0Md_td3MyDoIjANL":{"uri":"/melonJS/docs/melonjs/loader/getJSON.html"},"anm0jZPyjQCRXXLg9jToY":{"uri":"/melonJS/docs/melonjs/loader/getTMX.html"},"1GlKQsfS2zGcyTpqne-NT":{"uri":"/melonJS/docs/melonjs/loader/getVideo.html"},"4ktfMrP0MvLv_W7yFi62L":{"uri":"/melonJS/docs/melonjs/loader/load.html"},"dG86prnP7qWYI5hxtAfH1":{"uri":"/melonJS/docs/melonjs/loader/preload.html"},"Nj8wrbrjZzckJu0JMRLlN":{"uri":"/melonJS/docs/melonjs/loader/reload.html"},"e9S2Hnh3eOpH8otlK3p2Q":{"uri":"/melonJS/docs/melonjs/loader/setBaseURL.html"},"7wa75nW8XFQSBfRrd6d6k":{"uri":"/melonJS/docs/melonjs/loader/setOptions.html"},"STh6tlOWpjq6vdjoCISuc":{"uri":"/melonJS/docs/melonjs/loader/setParser.html"},"Xsr7A8_P5umkKwQNGtgJU":{"uri":"/melonJS/docs/melonjs/loader/unload.html"},"0fAOVzMyLu-TQZC73U8we":{"uri":"/melonJS/docs/melonjs/loader/unloadAll.html"},"Mag5W-qPgLh4-DbiEwvHs":{"uri":"/melonJS/docs/melonjs/Math.html"},"fTpi_rDilPlk1W-WhWoON":{"uri":"/melonJS/docs/melonjs/Math.html#DEG_TO_RAD"},"RDf7e6HjLA9d10G8leJXJ":{"uri":"/melonJS/docs/melonjs/Math.html#EPSILON"},"Q3Qtk8QplRTds84RL5QzC":{"uri":"/melonJS/docs/melonjs/Math.html#ETA"},"7zA248iH7GnVc94w0yecn":{"uri":"/melonJS/docs/melonjs/Math.html#RAD_TO_DEG"},"XEdY3bRHnr9CvkN6f_yho":{"uri":"/melonJS/docs/melonjs/Math.html#TAU"},"eu8fsrgtOqY3RSC5gOV8n":{"uri":"/melonJS/docs/melonjs/Math/clamp.html"},"tr9oe6R_xTjnkulrC84zL":{"uri":"/melonJS/docs/melonjs/Math/degToRad.html"},"BoKIPtBEj8Lyn-AyhWPwR":{"uri":"/melonJS/docs/melonjs/Math/isPowerOfTwo.html"},"A2Nb4X4-X-DWP_Kqlxjjf":{"uri":"/melonJS/docs/melonjs/Math/nextPowerOfTwo.html"},"9gmQJmfSME97NtV7LpWXE":{"uri":"/melonJS/docs/melonjs/Math/pow.html"},"ziLjo4rwzhZJuFmL1LyP_":{"uri":"/melonJS/docs/melonjs/Math/radToDeg.html"},"YtBslLd0Po4K21qJQSZfT":{"uri":"/melonJS/docs/melonjs/Math/random.html"},"jycB5BQGXgIBwtwML9gc3":{"uri":"/melonJS/docs/melonjs/Math/randomFloat.html"},"VcIpKDUA_45Tc44EIIVxW":{"uri":"/melonJS/docs/melonjs/Math/round.html"},"_-05mUqKEEuIaSYi5Q0Fu":{"uri":"/melonJS/docs/melonjs/Math/toBeCloseTo.html"},"DpF7oflEadfnVRaGBZ1cH":{"uri":"/melonJS/docs/melonjs/Math/weightedRandom.html"},"D22XGn8JEmOX2ADI7l6SZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html"},"iZpsNKJXNWDEe3kgSNwKs":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angle"},"HgJyDgRW7LDsglYb9s7V7":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angleVariation"},"Mul_7YenSzUO-K9U3bCo8":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#blendMode"},"Gui4c2zQs0GzXhMSDK0lM":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#duration"},"8-Sp4-X9T-rVxM6ieV-rE":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#floating"},"S82UiVGAsLuC9I5-He8wR":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#followTrajectory"},"nxJMu4REMde_JtkHVhR-g":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#framesToSkip"},"sWvarhg3r-gWTJUhJnvgz":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#frequency"},"uFKIBkTwbK0DKamV66N6i":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#gravity"},"rz0T4p9RJyUR0PgbEgeE1":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#height"},"F3S3kxCP4-HzcdxJnOhMm":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#image"},"Rf7fNmjkV_h8YQNcLn4es":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxEndScale"},"hnZSHpsgL65MkRIeq_TpO":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxLife"},"3IANx3UI9G1KvFwxAQj_X":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxParticles"},"jpKqTkZWCmUa5DMwpnuOO":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxRotation"},"v7RBJDCBFluFmagV5AoJA":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxStartScale"},"BpT-p-tpO8HlihNwg5oRw":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minEndScale"},"KFCc31o7OFr2L1RtUSuf5":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minLife"},"KYQDc8Tw_qWK04JxyEwYN":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minRotation"},"RuUcheAXubXmp-YK2svNq":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minStartScale"},"ZioCgsc8s92a9yV7BgJaQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#onlyInViewport"},"6B4yGFzxG6o6bAY9s8Q0z":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speed"},"LKecuJIvjYf7zi1pWve7z":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speedVariation"},"Iy4dXG1LMgjKpv1JjZasz":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureAdditive"},"jYtuF2_rMGSXegPp81tRN":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureSize"},"8cObFys2ps5vaZiQZqzLj":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#tint"},"Yg2A3A7JElosn2RZ7JJPL":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#totalParticles"},"8I6HryMYa4bDYNJwxDagd":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#width"},"zbh_uQ1xTT3BvFtbpu_qk":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#wind"},"slnco59lyGw7_B-dYwHi5":{"uri":"/melonJS/docs/melonjs/plugin.html"},"t5RAF0IealUfPttHMgigs":{"uri":"/melonJS/docs/melonjs/plugin/Base.html"},"xZEPZTjqGPcpgNyM5oWYL":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#app"},"1BsQjBAz0er3jvu1mQEJq":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#version"},"cPrvLoHBzmvEXTYYLKg9R":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html"},"aBIlM-0T7QzbxNzN_d89J":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#app"},"0t4LdysbuDgEu1gxv4vqy":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#version"},"ricKjEHtq8Wqs6NM8YXC1":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#constructor"},"QCr94DsMN1O54LaEe2K-A":{"uri":"/melonJS/docs/melonjs/plugin.html#cache"},"6dmitkoa6VMDKcpk0VkF-":{"uri":"/melonJS/docs/melonjs/plugin/get.html"},"qHbQdkDW-mEAsrbwXal_z":{"uri":"/melonJS/docs/melonjs/plugin/patch.html"},"Lb9FILvck4iW2dSLAAzYY":{"uri":"/melonJS/docs/melonjs/plugin/register.html"},"W5iR9lXyc-DYnA_xVFkpG":{"uri":"/melonJS/docs/melonjs/pool.html"},"QrrPWHIdr8eF9eG2ME9GJ":{"uri":"/melonJS/docs/melonjs/save.html"},"p8a4w_gdr6VUC4KrvnDsF":{"uri":"/melonJS/docs/melonjs/save.html#add"},"ghWK4YxiKJBRqfbtid8OB":{"uri":"/melonJS/docs/melonjs/save.html#remove"},"bC5EcJeEbObMYZeyjkK_s":{"uri":"/melonJS/docs/melonjs/state.html"},"IX0MCdG5leYuiDv6YUjbq":{"uri":"/melonJS/docs/melonjs/state.html#CREDITS"},"ct3vh7a-qbEs3nqKKTyuA":{"uri":"/melonJS/docs/melonjs/state.html#DEFAULT"},"OJj65WBEkbXA0soHLQGf7":{"uri":"/melonJS/docs/melonjs/state.html#GAME_END"},"lSf4MHrWsrhuRpOzoKeRp":{"uri":"/melonJS/docs/melonjs/state.html#GAMEOVER"},"nnh20In4Q7a-lcgfz3JqJ":{"uri":"/melonJS/docs/melonjs/state.html#LOADING"},"dokhm8Cv-tf84AE_g6bZq":{"uri":"/melonJS/docs/melonjs/state.html#MENU"},"iEiHmvtzfmuzvHzvtzHhd":{"uri":"/melonJS/docs/melonjs/state.html#PLAY"},"Ih3XZ1o9Hjn5dIpxEo9-X":{"uri":"/melonJS/docs/melonjs/state.html#READY"},"Gk3cedzRP2jDeWqSj5TsA":{"uri":"/melonJS/docs/melonjs/state.html#SCORE"},"lDz091c8KvOANTbakLeQo":{"uri":"/melonJS/docs/melonjs/state.html#SETTINGS"},"Etk6uLKOfZI5m4qAZ3Wnl":{"uri":"/melonJS/docs/melonjs/state.html#USER"},"5avjFpu4mkrfLFsAF3t4Z":{"uri":"/melonJS/docs/melonjs/state.html#change"},"O7ACCyeCQ_p0VyN5VrKIc":{"uri":"/melonJS/docs/melonjs/state.html#current"},"WLRnKZUq5nUAfk9kKuG6P":{"uri":"/melonJS/docs/melonjs/state.html#isCurrent"},"uMm5TS2uGIYPb67Ce4ZbL":{"uri":"/melonJS/docs/melonjs/state.html#isPaused"},"8yHv20mc1AQcZX1xw2bRL":{"uri":"/melonJS/docs/melonjs/state.html#isRunning"},"qKs-GmSO73Mlpsq-ykyd1":{"uri":"/melonJS/docs/melonjs/state.html#pause"},"ACKjM1aFfiCE91Xyilsbp":{"uri":"/melonJS/docs/melonjs/state.html#restart"},"UGymxW2nik2L0eAk_hgKI":{"uri":"/melonJS/docs/melonjs/state.html#resume"},"EQlm_B48n4--gw7Ja9IPW":{"uri":"/melonJS/docs/melonjs/state.html#set"},"LykjlERGNv9sfJvbzfsro":{"uri":"/melonJS/docs/melonjs/state.html#set_"},"Jn9j0EG8hTQwDiQEUpeRX":{"uri":"/melonJS/docs/melonjs/state.html#setTransition"},"ZJFRA9LZVyLB-mjPmtdP6":{"uri":"/melonJS/docs/melonjs/state.html#stop"},"22KMZCoxIvKoVrOWftUQS":{"uri":"/melonJS/docs/melonjs/state.html#transition"},"_fv0Q5iCJpQzWUD3TwCoY":{"uri":"/melonJS/docs/melonjs/timer.html"},"iAy5LCr7GkkfCHZMEHHfk":{"uri":"/melonJS/docs/melonjs/TMXUtils.html"},"i9KNuu5JMWn5IkMizxuuh":{"uri":"/melonJS/docs/melonjs/TMXUtils/applyTMXProperties.html"},"r_ZGVUjzBxSF3B5YsD0xr":{"uri":"/melonJS/docs/melonjs/TMXUtils/decode.html"},"ZIOzyxDGbW1AZnwHDPjfG":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeBase64AsArray.html"},"-qksTTFAkXbFR9MM0EC2J":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeCSV.html"},"oK6xoVBUKDny5e8O1xq7K":{"uri":"/melonJS/docs/melonjs/TMXUtils/decompress.html"},"nvFZ3R2AuZPOJkY0BPUGF":{"uri":"/melonJS/docs/melonjs/TMXUtils/parse.html"},"AMhJ-3CZOcKn6xJ-UZOMB":{"uri":"/melonJS/docs/melonjs/TMXUtils/setInflateFunction.html"},"i6bThU_Nra1R4BKIEZOye":{"uri":"/melonJS/docs/melonjs/utils.html"},"63tYRhJ7dlYBLo1GmJOWP":{"uri":"/melonJS/docs/melonjs/utils/agent.html"},"DLoHMoXeOX_CA6FfWKT5B":{"uri":"/melonJS/docs/melonjs/utils/agent/prefixed.html"},"9TbL0-7BrhXg3TzK_cWcF":{"uri":"/melonJS/docs/melonjs/utils/agent/setPrefixed.html"},"oJytxazRF4lyb_xoD3aA0":{"uri":"/melonJS/docs/melonjs/utils/array.html"},"8JEzTHUHmWRPUeoKJVRL3":{"uri":"/melonJS/docs/melonjs/utils/array/random.html"},"AwcC95XgkG4SPRt9oQCc2":{"uri":"/melonJS/docs/melonjs/utils/array/remove.html"},"5skFvI1d_bZ9VdZZCBg86":{"uri":"/melonJS/docs/melonjs/utils/array/weightedRandom.html"},"Cl1GTFxNDA-9DD6vbwPra":{"uri":"/melonJS/docs/melonjs/utils/file.html"},"Ot7EQvj8y2nyfcTQdD_no":{"uri":"/melonJS/docs/melonjs/utils/file/getBasename.html"},"ZZAo1c1nE5na2AVktwHR1":{"uri":"/melonJS/docs/melonjs/utils/file/getExtension.html"},"0GhbWF4eWmTNGkrJzYip3":{"uri":"/melonJS/docs/melonjs/utils/file/getPath.html"},"x9uKW5wQXaFt516HFUJ-P":{"uri":"/melonJS/docs/melonjs/utils/function.html"},"RVSfslF1t01NGjec7-hjf":{"uri":"/melonJS/docs/melonjs/utils/function/defer.html"},"WbAIf2GZCoZy_oL8la1QA":{"uri":"/melonJS/docs/melonjs/utils/function/throttle.html"},"NrChZyezNbAEIFhifdJ-m":{"uri":"/melonJS/docs/melonjs/utils/string.html"},"5RvMp-qPASW8EhUf5Wt66":{"uri":"/melonJS/docs/melonjs/utils/string/capitalize.html"},"uASCkT2TNKVM0KJdmc6BQ":{"uri":"/melonJS/docs/melonjs/utils/string/isBoolean.html"},"MA-b1b_0phCJnIF7S1S-o":{"uri":"/melonJS/docs/melonjs/utils/string/isDataUrl.html"},"n_y9iWDIbMKZjoX5ALrqY":{"uri":"/melonJS/docs/melonjs/utils/string/isNumeric.html"},"ZBwEm8xXi98Kz7pAcMr4Z":{"uri":"/melonJS/docs/melonjs/utils/string/toHex.html"},"neY3RlcqVO0zGxSkIEimm":{"uri":"/melonJS/docs/melonjs/utils/checkVersion.html"},"wWO8AzuXqzv17O9Lo1oGX":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html"},"RLzGUtQ42cm9jo3SqSuNA":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debug"},"u67ttxTKzIc3fqOShOZkq":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debugToggleKey"},"C61g1J4dEYVVRfn8Kk0fN":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#hitbox"},"04J3dMeKplx5rP5SV2QRT":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#quadtree"},"Pa9zmYWXVRNqs4AxB6GGj":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#velocity"},"m9qk1r4zIJfsS5Zkt6oy9":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#webgl"},"ANvAoUWN6dI9bAI030y_W":{"uri":"/melonJS/docs/melonjs/video.html"},"2YTGqFpvoqiM4huX-Zbvo":{"uri":"/melonJS/docs/melonjs/video.html#renderer"},"6jfWHg4FpSkt-OlK3iFWB":{"uri":"/melonJS/docs/melonjs/video/createCanvas.html"},"wfJEMU6uOEZNaE2MuntvO":{"uri":"/melonJS/docs/melonjs/video/getParent.html"},"YF1el6rTMlsc0yIVn5jTM":{"uri":"/melonJS/docs/melonjs/video/init.html"},"YUhnTuVGLrMTjRMpl3QpA":{"uri":"/melonJS/docs/melonjs/Application.html"},"1Se6ilYEDH3xHjmHjGTvn":{"uri":"/melonJS/docs/melonjs/Application/Settings.html"},"hNGDfRKvCiJw9WctWSx8q":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#antiAlias"},"5Un_LokzA_j_5GVOb9koL":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#canvas"},"vDQLLtyR2LLNmkRi0KuTO":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#consoleHeader"},"S4GFBJSNIb8JHV035NznH":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#depthTest"},"0SyGG675cdmX6d8wxWpQI":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#parent"},"DoFCZOdx6me658esNH6uf":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#powerPreference"},"T0d_n5yUYxx7tHKn3Is_Q":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#preferWebGL1"},"in2Cc6eRDGPGsPlDLu5l-":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#renderer"},"4Q12swzb9DIf-Gt8wX2n_":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scale"},"avcHBHKZh_Ds_w2ns45JV":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleMethod"},"85sMbBW5mSYMo9VHSQ348":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleTarget"},"9My7MPD6RFz2kKEmd77f_":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#transparent"},"Q-4b4ns1jHm_cvEm88jpo":{"uri":"/melonJS/docs/melonjs/Application.html#isInitialized"},"64ddTRox-IcnY1s7x76Ft":{"uri":"/melonJS/docs/melonjs/Application.html#lastUpdate"},"wIPa_Mdgm1KTHkV6Haas0":{"uri":"/melonJS/docs/melonjs/Application.html#mergeGroup"},"z92J17t7JX5Ps89W2q60X":{"uri":"/melonJS/docs/melonjs/Application.html#parentElement"},"jTPaorU_hWE5nk_bpYlHB":{"uri":"/melonJS/docs/melonjs/Application.html#pauseOnBlur"},"2J8KI6EXmPtpYO6xh9OqN":{"uri":"/melonJS/docs/melonjs/Application.html#renderer"},"bwAqKXF1ao7rZxw0s80Os":{"uri":"/melonJS/docs/melonjs/Application.html#resumeOnFocus"},"8ksC8YdS-HfwToaB8VWV-":{"uri":"/melonJS/docs/melonjs/Application.html#settings"},"S_NQe4RjKV3JLUq2uke91":{"uri":"/melonJS/docs/melonjs/Application.html#sortOn"},"RMKyCKtEPTTWMS5G4BDia":{"uri":"/melonJS/docs/melonjs/Application.html#stopOnBlur"},"SlpFgokpsLMoSzvP860mQ":{"uri":"/melonJS/docs/melonjs/Application.html#viewport"},"hf678Hcq9MXJipNjNhu00":{"uri":"/melonJS/docs/melonjs/Application.html#world"},"yRLzOt1U_c1R504aPHZZQ":{"uri":"/melonJS/docs/melonjs/Application.html#constructor"},"omMO5FIiV-mD9WtVred_C":{"uri":"/melonJS/docs/melonjs/Application.html#draw"},"ES7KxCC3e_VeUH8Cwz8jD":{"uri":"/melonJS/docs/melonjs/Application.html#getParentElement"},"2urL46aEku-CnTgE8en-Q":{"uri":"/melonJS/docs/melonjs/Application.html#init"},"v9B0eym38RddhXd58i_jW":{"uri":"/melonJS/docs/melonjs/Application.html#onLevelLoaded"},"ntLDFjSIUtmxbe5AFpF1S":{"uri":"/melonJS/docs/melonjs/Application.html#repaint"},"-ZDcVCbKiA7zUvxtLljkJ":{"uri":"/melonJS/docs/melonjs/Application.html#reset"},"NqscKmMoNxMef4ZWz1QWw":{"uri":"/melonJS/docs/melonjs/Application.html#update"},"khoucMmsHi7HU9ZZEDp_C":{"uri":"/melonJS/docs/melonjs/Application.html#updateFrameRate"},"fr4p2RjxmOGSN3j95n7Mi":{"uri":"/melonJS/docs/melonjs/BitmapText.html"},"a9mW0iRUAq5gqUFBRfiIl":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alpha"},"V4fkDmbdu2naGYDsVHyAF":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alwaysUpdate"},"iQ6rAygvgKhQWujnVJHly":{"uri":"/melonJS/docs/melonjs/BitmapText.html#ancestor"},"SAcv7gKw3PF386UDEF3yO":{"uri":"/melonJS/docs/melonjs/BitmapText.html#anchorPoint"},"lSpWB1-igY1bQozhSFJNB":{"uri":"/melonJS/docs/melonjs/BitmapText.html#autoTransform"},"25kIeKYHUOmqqxWGbQYBS":{"uri":"/melonJS/docs/melonjs/BitmapText.html#blendMode"},"CmELXgAwVlUkHl8Dzjfvm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#body"},"RBPeL3y4jKa7M1DMR6_TC":{"uri":"/melonJS/docs/melonjs/BitmapText.html#bottom"},"n_dU8RSWNc5O6itSUBRW_":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerX"},"l57mqKt_s1BcXYhdjApfb":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerY"},"fwIkltPi1SsR-WGYpNxw_":{"uri":"/melonJS/docs/melonjs/BitmapText.html#currentTransform"},"s5X0SRCw4oZMxNH9nQPJt":{"uri":"/melonJS/docs/melonjs/BitmapText.html#depth"},"37gPf9ipLv1atyuaoocnZ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fillStyle"},"6cqra71MM1z6V185KytTd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#floating"},"M3X7KpHuMLF029b77XLyZ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#GUID"},"tCQyRSo34bXOGA7X5Vd2l":{"uri":"/melonJS/docs/melonjs/BitmapText.html#height"},"_8HyNYXnmQ2JLgNdr6P7A":{"uri":"/melonJS/docs/melonjs/BitmapText.html#inViewport"},"rVxUCS1qjxovFSxWr74w3":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isDirty"},"jO3sRLzK_q7UqNUkijnKL":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedX"},"GO-LsmGbBhDwlVSk1016A":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedY"},"S0Muf0miLjS3UBEfrSG57":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFloating"},"NsBhbdCLF5VTBOwoAmzyR":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isKinematic"},"Xw9LBFd-rjYkHu75uRNMz":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isPersistent"},"vJyHK6utVnO6Ezf072SlM":{"uri":"/melonJS/docs/melonjs/BitmapText.html#left"},"5imppCxqsPkkkJIh9iiVr":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lineHeight"},"yMz623o9NgXBSQEo5DQhe":{"uri":"/melonJS/docs/melonjs/BitmapText.html#mask"},"XOkNHY9bBrMbv1rkzu2CQ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#name"},"R-3kLqoihCyYw8BPmbu_Q":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onVisibilityChange"},"6Fng6BKpqHCmJUg8pYset":{"uri":"/melonJS/docs/melonjs/BitmapText.html#parentApp"},"MJpphcK6O_lZZb2AmcNMO":{"uri":"/melonJS/docs/melonjs/BitmapText.html#points"},"su8Yr7a6AoOwQfFF3cXSn":{"uri":"/melonJS/docs/melonjs/BitmapText.html#pos"},"U0QguEVpe-uO5dPckavqG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#right"},"t55784rLrX-m-BN_4UcNt":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shader"},"7Ks8a3Qt50RtkDiDzOFfu":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textAlign"},"eaxlXcfoonGGJ8xDDS4nS":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textBaseline"},"hCX8O2XPrkc4kWsQdmxVH":{"uri":"/melonJS/docs/melonjs/BitmapText.html#tint"},"36mnHVHJDqx55UEHeHiLl":{"uri":"/melonJS/docs/melonjs/BitmapText.html#top"},"QpAaVLIGhGkEbb8roirKk":{"uri":"/melonJS/docs/melonjs/BitmapText.html#type"},"AXwS3oSrGbb-38vzHEMCH":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateWhenPaused"},"4ydLzM6XfWGqFA-9rBsq1":{"uri":"/melonJS/docs/melonjs/BitmapText.html#width"},"-QVk0Dh_WSYklwFGTqorG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#wordWrapWidth"},"m5Pa40tDDsoxvMOsEs_Zx":{"uri":"/melonJS/docs/melonjs/BitmapText.html#_text"},"QOjtDpSX3iaDUU0kYFE_U":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontData"},"CNE546usykuBdIVmnFlfq":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontImage"},"vWY9aq-ev0jr6PGz87cja":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontScale"},"ef0D3GeU3l1FGQwyWLqoY":{"uri":"/melonJS/docs/melonjs/BitmapText.html#angleTo"},"fW50wWfWdrcTsPt62-rC6":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerOn"},"7rOeY_gsTrg_2t9K1BW8s":{"uri":"/melonJS/docs/melonjs/BitmapText.html#clone"},"m6tTATNeD3BeyDMIoe4Sh":{"uri":"/melonJS/docs/melonjs/BitmapText.html#constructor"},"qfKLcNjZGdBdshjmWCscT":{"uri":"/melonJS/docs/melonjs/BitmapText.html#contains"},"9UYYQ4JhLWfdzJ3zlSod4":{"uri":"/melonJS/docs/melonjs/BitmapText.html#copy"},"jtgGFHhblTA3Bln0BXSx7":{"uri":"/melonJS/docs/melonjs/BitmapText.html#distanceTo"},"kZs4CX1XQFBQPM0yhUI6G":{"uri":"/melonJS/docs/melonjs/BitmapText.html#draw"},"HCFQPyaGONBT6ezk4PKAv":{"uri":"/melonJS/docs/melonjs/BitmapText.html#equals"},"A5H6WnrWn4Enyb9ZxlheZ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipX"},"RIu-qeLrGC4Wb-tS5zHHz":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipY"},"wcVCSBzF3wJ4eYzHB66vm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getAbsolutePosition"},"uZ0VcVuSoXCj9Qr2J77vo":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getBounds"},"Ov_955IgHFZgttHK2Bc39":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getIndices"},"TCO98E_1sms4tKx7JHEF6":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getOpacity"},"NLiUdHGAAg0nvsq5FaNXJ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isConvex"},"raryKhSe17ElDXIeyG9DO":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFinite"},"SqnIMVeNYzUji-TOLu5Mz":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lookAt"},"h4SNus35u7AAdDAhs_0N3":{"uri":"/melonJS/docs/melonjs/BitmapText.html#measureText"},"TcZ8tfud9OedAvMfgvtqI":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onCollision"},"HCnUZuOu_fsXAABk95Ptv":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onDestroyEvent"},"1IWft5b0Mo88aXXa6f9bG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#overlaps"},"Oj9bHKjauQmU4GsWM2lUw":{"uri":"/melonJS/docs/melonjs/BitmapText.html#postDraw"},"L2Yea6gmE0wxzzRuFEVUH":{"uri":"/melonJS/docs/melonjs/BitmapText.html#preDraw"},"SdwxbIqWn90Zbe3jNhASK":{"uri":"/melonJS/docs/melonjs/BitmapText.html#recalc"},"9irsk6uEtyiOEC6X-R_9L":{"uri":"/melonJS/docs/melonjs/BitmapText.html#resize"},"PJQAbpvQ4sCwRnJjSEHS7":{"uri":"/melonJS/docs/melonjs/BitmapText.html#rotate"},"uwVhlJVX9jDs3HEd0mMQm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scale"},"q2Bpty-GQpEz3jNfdoZgh":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scaleV"},"mv3-x4AfyVKHzXcBIhziE":{"uri":"/melonJS/docs/melonjs/BitmapText.html#set"},"oKCE-nlXadzAJNGBg0UsU":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setOpacity"},"-9Dfy2y4bCkn3hkgyRy6m":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setShape"},"cokmlm2cTNN5rjSdBWH8n":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setText"},"XLrMUAbaoZPHeAsaeQu-c":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setVertices"},"rNQwQ3ahwAwHSSMn7bFae":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shift"},"a6_X2-31CMP8gwmLT07Kf":{"uri":"/melonJS/docs/melonjs/BitmapText.html#to2d"},"27xESInXSPG83UNlcKjFv":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toIso"},"QSP747E3UCA4Vp-1Yrr2z":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toPolygon"},"HlLu9nhLU-cq4CD4mizqo":{"uri":"/melonJS/docs/melonjs/BitmapText.html#transform"},"C_259ldAcKTFF8W-DQwov":{"uri":"/melonJS/docs/melonjs/BitmapText.html#translate"},"i7U8h1uI7FJuQZYEsSpC_":{"uri":"/melonJS/docs/melonjs/BitmapText.html#union"},"yS9LSKPnstN9UcNm2RXJX":{"uri":"/melonJS/docs/melonjs/BitmapText.html#update"},"zrQU3Og0jK5Ju-VCrqlEP":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateBounds"},"m57OeRCKWSXzm00NoAcyd":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onAnchorUpdate"},"HhkjV2lFV0s8LQdp0Pn6B":{"uri":"/melonJS/docs/melonjs/Body.html"},"03u6-4Fp-8ULv_ZIBabWG":{"uri":"/melonJS/docs/melonjs/Body.html#ancestor"},"kelgWc2zUKm8JjjjVPRjq":{"uri":"/melonJS/docs/melonjs/Body.html#bounce"},"NQ18_wrwrHo2-WTHkaJZf":{"uri":"/melonJS/docs/melonjs/Body.html#bounds"},"dbckisZUCFJZ3dgG5XWRZ":{"uri":"/melonJS/docs/melonjs/Body.html#collisionType"},"WFkzt4-3Wz60mdkSD5Z7S":{"uri":"/melonJS/docs/melonjs/Body.html#falling"},"4aPMyJgDrBrl93J1UVfDV":{"uri":"/melonJS/docs/melonjs/Body.html#force"},"Q2UBQSGnCNgd5mRyTwD4I":{"uri":"/melonJS/docs/melonjs/Body.html#friction"},"-yevFTVZT-kOgaADLo6fr":{"uri":"/melonJS/docs/melonjs/Body.html#gravityScale"},"N9XmhUN0xog2sILjvg06K":{"uri":"/melonJS/docs/melonjs/Body.html#ignoreGravity"},"C-jZI-IzyA-1WnFqWskL1":{"uri":"/melonJS/docs/melonjs/Body.html#isStatic"},"MY0qaBsZ6EcsAEpfguB75":{"uri":"/melonJS/docs/melonjs/Body.html#jumping"},"CPRFYKDPcKJG0b3UIS4VE":{"uri":"/melonJS/docs/melonjs/Body.html#mass"},"SgZNPX8T0-OHy2UMNpdtb":{"uri":"/melonJS/docs/melonjs/Body.html#maxVel"},"3i6YKHyPMLcqu-QgnC0FC":{"uri":"/melonJS/docs/melonjs/Body.html#vel"},"o2tEj6EI8f7LVmf-8uUYU":{"uri":"/melonJS/docs/melonjs/Body.html#addShape"},"z71tDEHbHQSxh-PWacLiy":{"uri":"/melonJS/docs/melonjs/Body.html#addVertices"},"c00J_DxlQvebDXw37nArG":{"uri":"/melonJS/docs/melonjs/Body.html#constructor"},"hUAugVh6gRF3K7P6rlIHJ":{"uri":"/melonJS/docs/melonjs/Body.html#contains"},"376TnK-CslSAclnnF-SVT":{"uri":"/melonJS/docs/melonjs/Body.html#forEach"},"MSmTS5WBm0x_UlYhSUXMl":{"uri":"/melonJS/docs/melonjs/Body.html#fromJSON"},"eK88yRgUjmb0ZiqKgbA9i":{"uri":"/melonJS/docs/melonjs/Body.html#getBounds"},"liIcWj5E3A7MOfkn_dovt":{"uri":"/melonJS/docs/melonjs/Body.html#getShape"},"PXJpkBp1Jvz3ST_88HoR5":{"uri":"/melonJS/docs/melonjs/Body.html#removeShape"},"apHnvGsGAiH1rqGvZgBh0":{"uri":"/melonJS/docs/melonjs/Body.html#removeShapeAt"},"_uLvARIK1eBWf6EOBX8mk":{"uri":"/melonJS/docs/melonjs/Body.html#respondToCollision"},"CCLoOv3ggNM3D_GBUv26E":{"uri":"/melonJS/docs/melonjs/Body.html#rotate"},"q5IFdacU1Z6R5_NtPXiBJ":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionMask"},"80S_3uw16WgoEfwr5uT2j":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionType"},"CNifkn_0ymsYyVAX219OF":{"uri":"/melonJS/docs/melonjs/Body.html#setFriction"},"4OPPTf_MDdtsSJwsMbhab":{"uri":"/melonJS/docs/melonjs/Body.html#setMaxVelocity"},"m2xcWHgn8PvQKpMuFrQMf":{"uri":"/melonJS/docs/melonjs/Body.html#setStatic"},"39yVe-XldqU3AZRpecxai":{"uri":"/melonJS/docs/melonjs/Body.html#setVertices"},"G34YOwPQd1Wxl_JQIQnxq":{"uri":"/melonJS/docs/melonjs/Body.html#update"},"9fnPERrlesEHXqZ_rrOWp":{"uri":"/melonJS/docs/melonjs/Bounds.html"},"CHT43yJkYANOR86ONimBR":{"uri":"/melonJS/docs/melonjs/Bounds.html#bottom"},"iN1IE26sYhmzwl73nvpSL":{"uri":"/melonJS/docs/melonjs/Bounds.html#center"},"jiKJ3x1LopVYIB7evemj6":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerX"},"m4BLZ4VZg8ZB0Y0HLsvkb":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerY"},"p4qv8MQbe7iJXbV8O-gNz":{"uri":"/melonJS/docs/melonjs/Bounds.html#height"},"OWCY3rbbAPTbRfdXvnkij":{"uri":"/melonJS/docs/melonjs/Bounds.html#left"},"rKFqoOZ2qIrFhjWoRqwyC":{"uri":"/melonJS/docs/melonjs/Bounds.html#right"},"H28vEpEJ0E8h8SEv3fdBd":{"uri":"/melonJS/docs/melonjs/Bounds.html#top"},"m-JFo5mXl2S8VgHx5VzMt":{"uri":"/melonJS/docs/melonjs/Bounds.html#type"},"tie8F7nyWS48Cx8MkpoZ_":{"uri":"/melonJS/docs/melonjs/Bounds.html#width"},"MpuaGcPfyAgkjzd2RJnxz":{"uri":"/melonJS/docs/melonjs/Bounds.html#x"},"PhuHKq01BKV7DwsSj1zum":{"uri":"/melonJS/docs/melonjs/Bounds.html#y"},"yVAl0-FR9QAiuZe6wBlQV":{"uri":"/melonJS/docs/melonjs/Bounds.html#add"},"TLokXiChQDt_kOgzUsPZI":{"uri":"/melonJS/docs/melonjs/Bounds.html#addBounds"},"Zzfl3p6CpQbnxvs4iu7ZY":{"uri":"/melonJS/docs/melonjs/Bounds.html#addFrame"},"cfLUmF7riZN3FpwBAf17x":{"uri":"/melonJS/docs/melonjs/Bounds.html#addPoint"},"7clqjiThrR5N0XeMGZSpr":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerOn"},"gY4bAEWqxLA3YZfgMtv59":{"uri":"/melonJS/docs/melonjs/Bounds.html#clear"},"SNi-D9_2ik8M3JuwE6JBg":{"uri":"/melonJS/docs/melonjs/Bounds.html#clone"},"Zq_gxG4tJRUZPrVrT30E3":{"uri":"/melonJS/docs/melonjs/Bounds.html#constructor"},"FdoE3vqSLR0zptANw-PQ6":{"uri":"/melonJS/docs/melonjs/Bounds.html#contains"},"Hpkb_P_3ThqiteJgWoaC0":{"uri":"/melonJS/docs/melonjs/Bounds.html#isFinite"},"4axwJSapsx0mrMSOhhTwM":{"uri":"/melonJS/docs/melonjs/Bounds.html#overlaps"},"mYIdOQ0edCbHYZzuScdFW":{"uri":"/melonJS/docs/melonjs/Bounds.html#setMinMax"},"IX22DaaF8UL1kGUsalAPR":{"uri":"/melonJS/docs/melonjs/Bounds.html#shift"},"UyEpaIiQU_f6rmutVQEvt":{"uri":"/melonJS/docs/melonjs/Bounds.html#toPolygon"},"p7IeLR4Vmruoui77UsX-N":{"uri":"/melonJS/docs/melonjs/Bounds.html#translate"},"O1SY7x-YO2PzaRxu2SetN":{"uri":"/melonJS/docs/melonjs/Bounds.html#update"},"3NYQ2Tpr4OPMHkERzHR2Y":{"uri":"/melonJS/docs/melonjs/Camera2d.html"},"pfwSbpKQTejm6a5kQ1NEg":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html"},"W3raeFx1emG676FN3ep7r":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#BOTH"},"x0h4q2yKQwjlu55RI9SQ7":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#HORIZONTAL"},"XisXvUdnDB4OXE8xxq_TS":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#NONE"},"4qWc1YVUR_WnrOv5h8sBm":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#VERTICAL"},"hiLa5FzUMAx382gd_Sp6K":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alpha"},"CGt5xB0dIF9n9ty3rFts5":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alwaysUpdate"},"PZOg16_0S3tzHpLC4hhKv":{"uri":"/melonJS/docs/melonjs/Camera2d.html#ancestor"},"-CnZDfnuqHq1NQr3F8AvE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#anchorPoint"},"HM5zur6KbWzy9eLj4FGRG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#autoTransform"},"S3kcDWKfzWPPfza4ZTcY0":{"uri":"/melonJS/docs/melonjs/Camera2d.html#blendMode"},"w6qPZJa3SftYaGsFyBArr":{"uri":"/melonJS/docs/melonjs/Camera2d.html#body"},"znEYeX8iJouIYyvdV5MFz":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bottom"},"I971rAC4w3LmRpZgU_LEU":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bounds"},"8ITOGyO2XD_yOQiCHWmnO":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerX"},"qaUgCuwnVX6paQiami_lZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerY"},"sCD_sUSi8AffDt4KkK7TX":{"uri":"/melonJS/docs/melonjs/Camera2d.html#currentTransform"},"paJmDDVVZGSKCyyf8uY5I":{"uri":"/melonJS/docs/melonjs/Camera2d.html#damping"},"uxevmEe1iiCoOG4w5PiX_":{"uri":"/melonJS/docs/melonjs/Camera2d.html#depth"},"Ec4kW5qjXpQPeuiAsyTKB":{"uri":"/melonJS/docs/melonjs/Camera2d.html#far"},"zArhfunNvAYnhxTwCy7VD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#floating"},"2SUwDDqr60GiyotfoIOGk":{"uri":"/melonJS/docs/melonjs/Camera2d.html#GUID"},"-32dDaO8eyZn6xrKfasLh":{"uri":"/melonJS/docs/melonjs/Camera2d.html#height"},"Md7YETsFcfBfhOvXDHQnb":{"uri":"/melonJS/docs/melonjs/Camera2d.html#inViewport"},"p6SF5es-IF0G30pK9RinN":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isDirty"},"9Y56Zyc6tiwgcTB-UsJFY":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedX"},"jAlC4aG3SW-BKP8ZJ4hnm":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedY"},"L4Y-QpUP55T_3LSdwUlHn":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFloating"},"Y5MaRJ-RXTLxE2i0aoGdv":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isKinematic"},"-hLl7uyFnp9gWIYSJA6yd":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isPersistent"},"pprb6jMQ1mqMXjRwdHRaD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#left"},"1EyUgdBa9Tff1kIuXyjO7":{"uri":"/melonJS/docs/melonjs/Camera2d.html#mask"},"6lfxYXOJbVpO3ghn0f9lJ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#name"},"zLq0h6_4H5_T04d1mOFrE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#near"},"yqB8dqqiCp1UMbr7vVS_7":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onVisibilityChange"},"CO1ubxeiYLL9eq5oOpnND":{"uri":"/melonJS/docs/melonjs/Camera2d.html#parentApp"},"I32QE8q57HvKN3DvCBJcZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#points"},"rsO5o-bCJrYS4oNzj0VXA":{"uri":"/melonJS/docs/melonjs/Camera2d.html#pos"},"X1pQ-8PjrHClUmscazslf":{"uri":"/melonJS/docs/melonjs/Camera2d.html#projectionMatrix"},"uS-4SNF-_MSJInsVDL8tj":{"uri":"/melonJS/docs/melonjs/Camera2d.html#right"},"iQfc1PVMCu8aHmR6xjeB8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shader"},"oviECWz00btm1HZnL8d5-":{"uri":"/melonJS/docs/melonjs/Camera2d.html#tint"},"p517q4N41TLDldvXGR0wJ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#top"},"PVoRbZY00dVB8B3oS9aqw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#type"},"WZ2jg5kXh0HUm_Emf1nRm":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateWhenPaused"},"jlTcxUnV0NGobxW2qoEwF":{"uri":"/melonJS/docs/melonjs/Camera2d.html#width"},"fIa7iFdBc6jYXTHHUOCuB":{"uri":"/melonJS/docs/melonjs/Camera2d.html#smoothFollow"},"m5E21sQXMKCHi1nYWzk8T":{"uri":"/melonJS/docs/melonjs/Camera2d.html#angleTo"},"NYLtxd6tGpPl6SD36kDT4":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerOn"},"lLN2obuxunAn-yCkRc1rc":{"uri":"/melonJS/docs/melonjs/Camera2d.html#clone"},"9rl-akVr6XdqzcMBRsiH0":{"uri":"/melonJS/docs/melonjs/Camera2d.html#constructor"},"BwLqmMuEZAjMHMcjh5usk":{"uri":"/melonJS/docs/melonjs/Camera2d.html#contains"},"dPybNq3Q_t9RHs1XQQz4q":{"uri":"/melonJS/docs/melonjs/Camera2d.html#copy"},"PvGwIQ9Ujvf-S6o-KUivI":{"uri":"/melonJS/docs/melonjs/Camera2d.html#distanceTo"},"8ShAiikoERzDhlM5x554-":{"uri":"/melonJS/docs/melonjs/Camera2d.html#draw"},"D05gRo3rzO5RL8p6KSwJO":{"uri":"/melonJS/docs/melonjs/Camera2d.html#equals"},"VccUbgXMHDRypj5AX5u4l":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeIn"},"a5cRs4D2ECJXtMRneI6Ii":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeOut"},"yOO2R5OkFqusmgVSQmQDw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipX"},"tdcGFBlF_OSPjWSLxzA1L":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipY"},"XBcyvFuftbcbMVN4keiHV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#focusOn"},"RgCZr3QTOpW6HeXHHfLwV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#follow"},"QVq9OefJJGs4ls0GdCbFp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getAbsolutePosition"},"rRDgieupcWF6hBfUFUhJL":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getBounds"},"8WM-FSuOoxL-m7ErT8C28":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getIndices"},"W2hhALvTVVlFpM2az-E5D":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getOpacity"},"vzP4DOVkAaP2SFds7jg5o":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isConvex"},"RxzB4CmslRO_aEiyGsQa4":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFinite"},"wuZVh3cjyQqfB0wtyFsQx":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isVisible"},"sIO8CtYnjIofUcPQm7WLH":{"uri":"/melonJS/docs/melonjs/Camera2d.html#localToWorld"},"DtLPvkMOBhAomym1Nz-AG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#lookAt"},"BzyrpY_JPmF5kkANX-0jp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#move"},"fnpFiP0EZoJ5OPXNE5Lek":{"uri":"/melonJS/docs/melonjs/Camera2d.html#moveTo"},"yhEmwsvJg8-BJk1PxLjjs":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onCollision"},"gIY_0uUT70D8pkTHAKuBI":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onDestroyEvent"},"2SFKI2fyOWinAhb_Pxq8y":{"uri":"/melonJS/docs/melonjs/Camera2d.html#overlaps"},"-cvxfMNtnvtqh2cF2sztV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#postDraw"},"4pVru5JUJm4k8ibkxv6IS":{"uri":"/melonJS/docs/melonjs/Camera2d.html#preDraw"},"XWzBdPKKGJgA8GYIkX1IZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#recalc"},"WQ74oy-ipvnIvYW_ucb7H":{"uri":"/melonJS/docs/melonjs/Camera2d.html#reset"},"LbUFpYSe3agI2J5lAoIwm":{"uri":"/melonJS/docs/melonjs/Camera2d.html#resize"},"TEf4yMKtA7P_URZ2IO4N0":{"uri":"/melonJS/docs/melonjs/Camera2d.html#rotate"},"J3jcIPMAp0f4Arqsph8_i":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scale"},"rk3QpMfgNXMXenrMfSXhb":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scaleV"},"Y9b4h6jsUDJMaZEUJSoZT":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setBounds"},"Pn3DuDnSbzrqqWDctu7jf":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setDeadzone"},"_1LTRi5xGHzp5fBPqU8ib":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setOpacity"},"LvJjmbH6cTOHB134M420n":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setShape"},"5tuFWdlSd_KSu2hViFKBD":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setVertices"},"ZqV7gAJLo2A0HAkLrd4Xg":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shake"},"7uCRxShI25uvb1PAuLnTW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shift"},"jACWSx765koJzVWtxb1HG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#to2d"},"xrjcKrGPSKepUuFAbcwM8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toIso"},"qO7rf3zBRQL7RDzVuFdUo":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toPolygon"},"a4QSLykAiHaRdOPU3rsWy":{"uri":"/melonJS/docs/melonjs/Camera2d.html#transform"},"7WKSBuSWuBveBz2TT4izq":{"uri":"/melonJS/docs/melonjs/Camera2d.html#translate"},"g7Tb4HozyFegOV3eWfhnV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#unfollow"},"Ek68vfsV9DvyaXrzufLNW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#union"},"nh-s6nDIkvQQrnn6faiFx":{"uri":"/melonJS/docs/melonjs/Camera2d.html#update"},"21lpPNTfXK6fUyy1RVqsw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateBounds"},"GFnDAuhFb0SKKQPuOIT0n":{"uri":"/melonJS/docs/melonjs/Camera2d.html#worldToLocal"},"CqDPt3s3rLgi8Z_izaHLy":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onAnchorUpdate"},"8DeyrtpDmfXwvJSLGa96A":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html"},"jpmP29Mui3BL1khIZe8Gh":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#depthTest"},"ZCcehtJnIRM3APfneMV18":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#designRatio"},"aAPpyvHg2WCTNWv-cvA_F":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#height"},"QjdFagi4mcY--xGeTf5eN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#isContextValid"},"pHVvFmRDpzctt1anjpuzj":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#path2D"},"-IfFM_A1-HZtMErFY1JMz":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scaleRatio"},"JH48eLJUQLBXU8toGbT_W":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#settings"},"TLttITdOOwk_BpRiU4L9H":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#type"},"5oobV0Y4eSQ97TxRuZwke":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#width"},"iO7Mt4SwoptF49OtAsdq7":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#beginPath"},"GhnhEkyiMqGcCJK_i8lBK":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clear"},"E7d7ba5mjpceNz7xLHPXn":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearColor"},"EFwRFT1eIar_DGtqwDseW":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearMask"},"pM5qvt1pU-IvAn-ZI242_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearRect"},"psAg3hJye0fsiKfaja3J2":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearTint"},"VANjriJnnbEgATGxzloLz":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clipRect"},"ZNluRbyrYy15of_K9B8jN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#closePath"},"pv65ZBlMVv6ZWH9siebRP":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#constructor"},"_-EiQ-dJIpYVPV2AwlpTi":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#createPattern"},"9vDaY_Z5sIuqQyxtLsF43":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawImage"},"AgBqfSGMZHCXI1tTZ9M3d":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawPattern"},"k3cZ05w3PkGsUTiyr3YIz":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fill"},"FipivdHuMgYUo90s86vMw":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillArc"},"HgUuFTMZiSzdOhe7iwSpU":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillEllipse"},"9plYU95hODacuAEpMPxgO":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillLine"},"tlNSfavXhjJ8JFSTOHrZj":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPoint"},"1Gwa5qRIUJR7bNZO6uYyj":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPolygon"},"cjRSpXuFTFa26GYRlOCvH":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRect"},"m_wz10fLjiVtDPEtrwctX":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRoundRect"},"bBIsqODrP0jL9W__BkB4G":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#flush"},"X9rI9RUwDk04_tGq8TN7Q":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getBlendMode"},"NsMBUXexE-5dhi41eLsFp":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getCanvas"},"MT1ldxOW6onjMauU0Zob_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getColor"},"zrczk_ROKe8yDu3zACGIu":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext"},"1VrAUyFqTtILf3AxHe8Nt":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext2d"},"ShEDu-RhJ8EJUMXkrP63W":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getGlobalAlpha"},"F_-vFmmTNqD3AGHmtpJcD":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenCanvas"},"EWPr3rgokib2R710_bO8s":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenContext"},"yzoq7cgw_uZOqQIRvv7dY":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#globalAlpha"},"gvNxbt_VUZY6u8ZuN4S-F":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#lineTo"},"ygma7u3f9Trj827fv6Ee_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#moveTo"},"NjEPk9ckCMb75LKx6oXhW":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#overlaps"},"zcveWw8T5izFyuFAWYmqf":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rect"},"Rg4czfaP_z7ME7rWl2XI2":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#reset"},"s8mLz1M6CJ6sRE67_OFCL":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resetTransform"},"K9zEcXP-6TRt6dyJ2kuVF":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resize"},"ayUTUrqrVpis62XIE92uY":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#restore"},"ue45mzfbXCD_NaAw4V5nd":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rotate"},"gl6q1UjdZtSF_o_8uWf4_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#roundRect"},"Wqgp7sDBFMuRpNOHJr2Pt":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#save"},"rOB9o8S_QTiU_NWrI40h5":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scale"},"JGJNGmXjgRLs_zB6qmJKl":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setAntiAlias"},"JTsmUfalO7nefxOoW2mym":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setBlendMode"},"iwOyl4dRCon8lyq-ETb6_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setColor"},"BtbeJ3A3CYAvo41QmZk5y":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setGlobalAlpha"},"DwW9PhWAoaOlNubUu64-Q":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setLineWidth"},"ws3LYUP6L-BmMaWr_VSv8":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setMask"},"I0kQN9t5vRarZ4W9RxWe6":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setProjection"},"GfX488EELIumDI8N9BUmY":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTint"},"8SZ3E3Gg7S8_IzptmInc5":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTransform"},"Hmo61sslqR8x29kCyuiEm":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#stroke"},"KYhzeyBwwOmZ2yJ2YGqJx":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeArc"},"l9XVqj5ZaHO0gU7K5Re-L":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeEllipse"},"FLVxYGgNuz1wsq8GXO4sH":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeLine"},"F08tEABLNujkE39BG1nNC":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePoint"},"aqUZt6vo3dkEwDIAhvjeg":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePolygon"},"WXUN6llzG3F2SKbP9KkTA":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRect"},"WFAsacHdNSn7G8V1PPW_e":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRoundRect"},"Ma4tkFAg1qq_NdARi8f_9":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#tint"},"gsBZhTsIkDQ38bdyXJ_LO":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toBlob"},"meP2-uExAv1Z2MYLuT2MG":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toDataURL"},"x0cj5rbatRcJQ77q3LQjW":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toImageBitmap"},"Lhi-lCk9KTdi8ItuhYBNs":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#transform"},"Jz6N6PSJXTsJYNIuPRZOd":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#translate"},"8Yfr8xW-L4_h_VuwjXw4E":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html"},"f8aqavqmfXDzgdLrzmDp5":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#canvas"},"0WYxXasZkkJxUVLOys8UV":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#context"},"zTTSw_o9KnoHfbJ4KyDl-":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#height"},"mWizJ1wV0Q8QO8ATrEEy1":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#width"},"-KOJhOG5wo7sMNRIETJPC":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#clear"},"M7YWQ1SB7lVxFnx8t0CLg":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#constructor"},"uSRySmM1Asows5Y3LIxaG":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#getImageData"},"ipnAjC-Z_hxGJQtov6q2N":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#invalidate"},"-FgdHQM7lwspL4EckoWzj":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#resize"},"GDoyOt19Nukc1_3VXEM8H":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#setAntiAlias"},"-meMadiMb6_zSlYMP4zYN":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toBlob"},"5_uBZVpvTBpTkUmF1vhpC":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toDataURL"},"JIaVysvqlehA3Z81pGeCE":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toImageBitmap"},"fdoX6L76qCvMnn5WteoIc":{"uri":"/melonJS/docs/melonjs/Collectable.html"},"6WUUgLuVcq4JDA7csrY69":{"uri":"/melonJS/docs/melonjs/Collectable.html#alpha"},"hWc_AE_aIRtvzKiowMW0h":{"uri":"/melonJS/docs/melonjs/Collectable.html#alwaysUpdate"},"i_rDmA7fto5e9cYSoZ8E0":{"uri":"/melonJS/docs/melonjs/Collectable.html#ancestor"},"TL4AMobfR8NS_0v7FvMQH":{"uri":"/melonJS/docs/melonjs/Collectable.html#anchorPoint"},"AQ-vcpSLVY0SbguaEHOsX":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationpause"},"vZuj7FixWB3h11tH_wdqS":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationspeed"},"3a4e1OK758UQnyg4YtKyV":{"uri":"/melonJS/docs/melonjs/Collectable.html#autoTransform"},"gmJrVTnewx2-UQbWLZMX_":{"uri":"/melonJS/docs/melonjs/Collectable.html#blendMode"},"6R_qegitJu5z3AX7aXanI":{"uri":"/melonJS/docs/melonjs/Collectable.html#body"},"C1CgbpLhb_aJrgxKWflv2":{"uri":"/melonJS/docs/melonjs/Collectable.html#bottom"},"aTA8p3OGsSuLVzu_D-18H":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerX"},"_yqD7bIlBGdRcI9c_pwth":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerY"},"Snk8xlBnepWQSL88PNLlk":{"uri":"/melonJS/docs/melonjs/Collectable.html#currentTransform"},"K0Jy203B6XCZ8Z5gmQKhU":{"uri":"/melonJS/docs/melonjs/Collectable.html#depth"},"GWGFrNHrkLRQq7_ohn7IA":{"uri":"/melonJS/docs/melonjs/Collectable.html#floating"},"BP-Bwq8-m1e2JSkJJsHn3":{"uri":"/melonJS/docs/melonjs/Collectable.html#GUID"},"_v4Rzr4c41Yps8uqA2m6W":{"uri":"/melonJS/docs/melonjs/Collectable.html#height"},"WKxQz1Y3nmkT2ShtzUqhX":{"uri":"/melonJS/docs/melonjs/Collectable.html#inViewport"},"wyEONBaNYV9QKxRF1U8FK":{"uri":"/melonJS/docs/melonjs/Collectable.html#isDirty"},"nutr1_k71Qu5J4GX853pY":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedX"},"bnld498qATaUCuXjxfu72":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedY"},"mjb_cua73BW7XVRoNkHdQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFloating"},"gh03rurcmJ1KRt-dbQSgs":{"uri":"/melonJS/docs/melonjs/Collectable.html#isKinematic"},"TS_-U6ynVj4yNs4k__l2T":{"uri":"/melonJS/docs/melonjs/Collectable.html#isPersistent"},"f59OP7mQjbpasF-3ZQgrp":{"uri":"/melonJS/docs/melonjs/Collectable.html#isVideo"},"mzBG-y_fKwIGDXBLxI8NL":{"uri":"/melonJS/docs/melonjs/Collectable.html#left"},"lXWKddbosFPmmPX7Q2qUE":{"uri":"/melonJS/docs/melonjs/Collectable.html#mask"},"DHe2asnTrwfeCTjaozMzf":{"uri":"/melonJS/docs/melonjs/Collectable.html#name"},"tmpyiP4oe0-6Juajyx7st":{"uri":"/melonJS/docs/melonjs/Collectable.html#offset"},"guhbddy34f9gG4w2T1jVg":{"uri":"/melonJS/docs/melonjs/Collectable.html#onVisibilityChange"},"ZP-taDLiy8Nc4NbtbktoP":{"uri":"/melonJS/docs/melonjs/Collectable.html#parentApp"},"8gaH3QSsK0b_SoP66uY7A":{"uri":"/melonJS/docs/melonjs/Collectable.html#points"},"Yzk2GVTK3YhTh_Ch2rNg1":{"uri":"/melonJS/docs/melonjs/Collectable.html#pos"},"1IxE5kc-J45-HOSaUJGZD":{"uri":"/melonJS/docs/melonjs/Collectable.html#right"},"Mvctgy4Hzpzm_7RDrt-Vk":{"uri":"/melonJS/docs/melonjs/Collectable.html#shader"},"RPel8ELNVNPf16ACcG0Kf":{"uri":"/melonJS/docs/melonjs/Collectable.html#source"},"5X1MHn14Q-ZtZTCR4A_kt":{"uri":"/melonJS/docs/melonjs/Collectable.html#tint"},"pOKHxRghIzsAHoccaeegX":{"uri":"/melonJS/docs/melonjs/Collectable.html#top"},"nPNBBRJANcQ_Vxe9p_luH":{"uri":"/melonJS/docs/melonjs/Collectable.html#type"},"R7fEUBv4XvTaLLdVXpy0h":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateWhenPaused"},"tq9rJnVh9zgkD8_SsB25W":{"uri":"/melonJS/docs/melonjs/Collectable.html#width"},"1ylCG-leZDYqfr67uQJHF":{"uri":"/melonJS/docs/melonjs/Collectable.html#addAnimation"},"5ovYgzMh1cGZglrEr99Sz":{"uri":"/melonJS/docs/melonjs/Collectable.html#angleTo"},"tB2olMmF-urTMPT3U_nbt":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerOn"},"IIH3i0_vGTWqq0ha711O0":{"uri":"/melonJS/docs/melonjs/Collectable.html#clone"},"nnRj_LDVesri37Oc3Gp4Y":{"uri":"/melonJS/docs/melonjs/Collectable.html#constructor"},"m6pSMU-pPFbDjmYofNUQq":{"uri":"/melonJS/docs/melonjs/Collectable.html#contains"},"zmI8g5VhO1jI-aAgeFWzf":{"uri":"/melonJS/docs/melonjs/Collectable.html#copy"},"zLN3GU-SRMo0TbKkSya7V":{"uri":"/melonJS/docs/melonjs/Collectable.html#distanceTo"},"aage22VSxQ9QlW0iOhQ0H":{"uri":"/melonJS/docs/melonjs/Collectable.html#equals"},"aPLwqACPe8Yow9J5LonU5":{"uri":"/melonJS/docs/melonjs/Collectable.html#flicker"},"M8BVzl1Lgl295Z4PWiQAR":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipX"},"YxjYuz_3S5UgrIaiHE3yj":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipY"},"2vhRa0_cO5EnERoZDbzCo":{"uri":"/melonJS/docs/melonjs/Collectable.html#getAbsolutePosition"},"A-9iWIL8bbAbfe3IPR0wH":{"uri":"/melonJS/docs/melonjs/Collectable.html#getBounds"},"4XCl2SiT6xk2xkA0FY_y-":{"uri":"/melonJS/docs/melonjs/Collectable.html#getCurrentAnimationFrame"},"Wvb1Md_lu35WiFN35RIDO":{"uri":"/melonJS/docs/melonjs/Collectable.html#getIndices"},"O_EDzQExMOF6TMM8UeJ_p":{"uri":"/melonJS/docs/melonjs/Collectable.html#getOpacity"},"9JZk4Rs3qh6b3l0wLMoZz":{"uri":"/melonJS/docs/melonjs/Collectable.html#isConvex"},"rrrdpWkdGlun41JRLsBAh":{"uri":"/melonJS/docs/melonjs/Collectable.html#isCurrentAnimation"},"bRTrJlh9I8LslJP1SxEEl":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFinite"},"7cMKd1VLEREHbBNXd6kWG":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlickering"},"V6IMu2fWOsKjRD4hjZ6Mw":{"uri":"/melonJS/docs/melonjs/Collectable.html#lookAt"},"9WQMcG_9vik5vQO06slVL":{"uri":"/melonJS/docs/melonjs/Collectable.html#onCollision"},"TsvCePDqvyQ-ztSY9LLCv":{"uri":"/melonJS/docs/melonjs/Collectable.html#onDestroyEvent"},"XcKZEQXA0AeR7grFK9ltC":{"uri":"/melonJS/docs/melonjs/Collectable.html#overlaps"},"mLJCtkiHNNenlcMsiA0Yl":{"uri":"/melonJS/docs/melonjs/Collectable.html#pause"},"-2foxM4g-T41heHuvNpAZ":{"uri":"/melonJS/docs/melonjs/Collectable.html#play"},"M1CVhCbJZkMkNorBDf_Jq":{"uri":"/melonJS/docs/melonjs/Collectable.html#postDraw"},"ccgJvh9qC5YsTyvPTYbYL":{"uri":"/melonJS/docs/melonjs/Collectable.html#preDraw"},"OEIDNbuh_b4qHISSCR1U3":{"uri":"/melonJS/docs/melonjs/Collectable.html#recalc"},"w6wKrZ-38TlFyhPy64hT5":{"uri":"/melonJS/docs/melonjs/Collectable.html#resize"},"g7xUJVjnnssClIYlesbLq":{"uri":"/melonJS/docs/melonjs/Collectable.html#reverseAnimation"},"UGOLaMjsBP0MQMiKap32P":{"uri":"/melonJS/docs/melonjs/Collectable.html#rotate"},"o60IBvJkJc2l2gNohvN3y":{"uri":"/melonJS/docs/melonjs/Collectable.html#scale"},"rgi8r7zB4Jj8rAXHfhFoA":{"uri":"/melonJS/docs/melonjs/Collectable.html#scaleV"},"ZCLKNzFhv83ZoY6fFjK_L":{"uri":"/melonJS/docs/melonjs/Collectable.html#setAnimationFrame"},"FGOISGi2LtvtQo2hI7VN5":{"uri":"/melonJS/docs/melonjs/Collectable.html#setCurrentAnimation"},"UZMcYIjL2R51ZjuEzbDWQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#setOpacity"},"t5SToQtPFFCuAE3fjs2lB":{"uri":"/melonJS/docs/melonjs/Collectable.html#setRegion"},"49bkIfE8bEXfDSwS3ucOk":{"uri":"/melonJS/docs/melonjs/Collectable.html#setShape"},"zN-hH7MBcXGDWh077O1wx":{"uri":"/melonJS/docs/melonjs/Collectable.html#setVertices"},"6mc23_uW7s7Jc5MMozS7N":{"uri":"/melonJS/docs/melonjs/Collectable.html#shift"},"HTNmQyzNJTad7QIO3kpCK":{"uri":"/melonJS/docs/melonjs/Collectable.html#to2d"},"5pmPOPsGRSOox7idB3U8a":{"uri":"/melonJS/docs/melonjs/Collectable.html#toIso"},"Fhe6fdTvs8JLZrWrUTkSm":{"uri":"/melonJS/docs/melonjs/Collectable.html#toPolygon"},"l_4C-hJ_I-S5ppez4qqiw":{"uri":"/melonJS/docs/melonjs/Collectable.html#transform"},"gnbz6hKMMwbDv5UiSa705":{"uri":"/melonJS/docs/melonjs/Collectable.html#translate"},"-NrKfAcPk4P_ABCoesgG2":{"uri":"/melonJS/docs/melonjs/Collectable.html#union"},"8gPVU4BDMKHdDfp0cbY5H":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateBounds"},"krPXw_iU8d6z_sML5ucOc":{"uri":"/melonJS/docs/melonjs/Collectable.html#draw"},"vHx2qygBgbQPW-cto63DM":{"uri":"/melonJS/docs/melonjs/Collectable.html#update"},"A8C7nn49tZNy3wxK--72b":{"uri":"/melonJS/docs/melonjs/Collectable.html#onAnchorUpdate"},"SYPJ21j6CA4rGxy4PqvqC":{"uri":"/melonJS/docs/melonjs/Color.html"},"3sxZLmkrZ9HA9CSQR0fB9":{"uri":"/melonJS/docs/melonjs/Color.html#alpha"},"Y9u3euMKp3am9j7s_fykz":{"uri":"/melonJS/docs/melonjs/Color.html#b"},"MVivMrH0EVcXkgy27yasd":{"uri":"/melonJS/docs/melonjs/Color.html#g"},"aURe35zvWYLGEzMalHPye":{"uri":"/melonJS/docs/melonjs/Color.html#r"},"8zuGWB7utSSm_qPuogILa":{"uri":"/melonJS/docs/melonjs/Color.html#add"},"GyUQBXHPBlE5KQMNHTHSg":{"uri":"/melonJS/docs/melonjs/Color.html#clone"},"bt-ryYd2E8YVSE60jBlN7":{"uri":"/melonJS/docs/melonjs/Color.html#constructor"},"dcfh5KXUhndu7NcBG1D_8":{"uri":"/melonJS/docs/melonjs/Color.html#copy"},"Gw46qyi6Z7CgKNdpPToq6":{"uri":"/melonJS/docs/melonjs/Color.html#darken"},"r36WAl9sfUoxXTo--Kd93":{"uri":"/melonJS/docs/melonjs/Color.html#equals"},"YnfPQEuKYklHvUxVlz5x8":{"uri":"/melonJS/docs/melonjs/Color.html#lerp"},"8JanD_iqeZKJzl7J_1qtb":{"uri":"/melonJS/docs/melonjs/Color.html#lighten"},"zIIxk2VI8_s2MMlkLTcAy":{"uri":"/melonJS/docs/melonjs/Color.html#parseCSS"},"qdPx1rHH1MVJJMof6JPoE":{"uri":"/melonJS/docs/melonjs/Color.html#parseHex"},"46Yh_VbOa9hgwNHvcDSfR":{"uri":"/melonJS/docs/melonjs/Color.html#parseRGB"},"7KZzsaU6bM1YEyRgrktZS":{"uri":"/melonJS/docs/melonjs/Color.html#random"},"8wR_IQL4z9qgUsajk5PCH":{"uri":"/melonJS/docs/melonjs/Color.html#setColor"},"0d2bo0qG7AP29tpClQfLA":{"uri":"/melonJS/docs/melonjs/Color.html#setFloat"},"zByZoAwL-0Nq4L-bl_6t_":{"uri":"/melonJS/docs/melonjs/Color.html#setHSL"},"hLcTcHfogZqwjVlt0K_2l":{"uri":"/melonJS/docs/melonjs/Color.html#setHSV"},"nRe6F8rhijNF1A8PSkTpQ":{"uri":"/melonJS/docs/melonjs/Color.html#toArray"},"ywUJWxdR9J0aRhetywsHG":{"uri":"/melonJS/docs/melonjs/Color.html#toHex"},"b2btwRVPWXViVNjLDwnJ9":{"uri":"/melonJS/docs/melonjs/Color.html#toHex8"},"O_OMUma0c1hF6AsJYiJD3":{"uri":"/melonJS/docs/melonjs/Color.html#toRGB"},"fudGkUzscTZdYgxBIHcHk":{"uri":"/melonJS/docs/melonjs/Color.html#toRGBA"},"inBolfXsSq4vyVGs73miQ":{"uri":"/melonJS/docs/melonjs/Color.html#toUint32"},"nmOv3jbpZ70DKKcwmxhOq":{"uri":"/melonJS/docs/melonjs/ColorLayer.html"},"hX308vMB7nadTGQ2mU1LC":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alpha"},"GL_2ystjf2PblVPnO9DQ9":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alwaysUpdate"},"0FU756A6ULxbiG7VnxCY3":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#ancestor"},"lDCCjKE5x2sfgXNgQY9pD":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#anchorPoint"},"kCmvJ-C-zIdIifNl4yXjj":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#autoTransform"},"H6EA7dcdF07MJNM9Eov4V":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#blendMode"},"ApRThrUAvl_UHS2LVIm9Q":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#body"},"sAFJ3kzdy6wpopWRtouGn":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#bottom"},"s5Q51f3nZLHtbroFBerOf":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerX"},"OMlugg6uB07tmYyPYl9cM":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerY"},"YbM_fmJDO1hxUJiNTmxN8":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#color"},"frhKGMTOyyziXqOfIqcp2":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#currentTransform"},"b7mNTXjWhABIQfDJm0uQW":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#depth"},"tqMhIk30429gag_f5QNVs":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#floating"},"RXq2tqshQwaa5la-K2kM8":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#GUID"},"ERhn5K-6Plu5S6o2QsGpX":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#height"},"6dHW6oz_XCIgufhdubVxq":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#inViewport"},"Fbb2YXFHqdlDtZmu28EKe":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isDirty"},"xQV0b6RgljHd9NI06OlGE":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedX"},"jncMTegugPheFv8c7qjsL":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedY"},"sCGQbgPEqAwBQom1huZFS":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFloating"},"E3px_AAr7RMsXmK19p_4c":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isKinematic"},"Kii1DPcICX0NsW_iJhBW4":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isPersistent"},"1oau-Fs2shhMoaXLRfpOp":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#left"},"UxXWVN0NDpJyq8GT6r4AP":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#mask"},"KO2Oh0rFesE9ewy_wJQTM":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#name"},"5gdwNqQc1BmWbmHTlwYEZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onVisibilityChange"},"G9tU1nYGomywJflhuy16o":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#parentApp"},"WBsoCCh-tYUsnTsqfE_bx":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#points"},"FOivwvmRqy1ubNP18T0Il":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#pos"},"SHG2BkGU3HRlmVIKDvpwp":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#right"},"seQgG6yLZnHSNhCXshSfc":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shader"},"VmQjXTLtd3U-47WRnLyEQ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#tint"},"wCJxEntmdExzaF-bNXBRi":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#top"},"5fJqg34Ks4AfvHrKYOBSI":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#type"},"Q7Mb48F6WEuptJc8PjCxE":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateWhenPaused"},"i91Rl-_V9gw-odnTaZdwD":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#width"},"9P8geMzHjtT6eZ93Qrg1V":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#angleTo"},"49XOah0ah0v5Jp4U03xVM":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerOn"},"JLbhAR15xEt_i-M7WHyun":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#clone"},"yp0GUhCnLz-ooLsgOQtlR":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#constructor"},"do9dZot_nLjC8mttywO2r":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#contains"},"6MuKT-hIUz8StO_eQZSfZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#copy"},"Wqc-Shk7WeeiyAu686OmT":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#distanceTo"},"0q-zrIlj-hGLZIJ6HfPLU":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#equals"},"TRr3paIe5oBqifXC0Fgxh":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipX"},"uQM3utRy92kbKYV2lDyzN":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipY"},"42Wdc6TDAZWSgYSI77oYy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getAbsolutePosition"},"qScIunKtAe1-E2MCdexBR":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getBounds"},"X-OMCSiD3rIKp03cKJUin":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getIndices"},"6bYFxm_t9oBXlvwYVaieZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getOpacity"},"H6o14S-fy2qb9_xw0b1WQ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isConvex"},"Bhsf2F3TmfT0wHd6uk2Mo":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFinite"},"cvgtssjYMeXcZf3VegfBc":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#lookAt"},"EKr9NWc8h94O7bDqRWIEh":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onCollision"},"l-7ZgOSmRzIskdVwZYDxA":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onDestroyEvent"},"_Jm68he40jzpp_TFq_VzD":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#overlaps"},"yFe5rGao7Oji88Fbu3CmM":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#postDraw"},"WWNU4ooDeoh0RwRRJ1fXM":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#preDraw"},"4YGsWlyyBjbnYWWrKDFnU":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#recalc"},"dhQUwg6_VcxpHTz1L5syr":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#resize"},"fHGf4PJP_xvbH53E6qX5y":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#rotate"},"Yx6SpeJ6beHrmlueh5Vlq":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scale"},"5L6CSWMzahERJ6sl_cnqL":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scaleV"},"RgLgRZBIx7qlHRDNTL4th":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setOpacity"},"qCICYttpLBoMcReKeSRxy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setShape"},"CW6rNJ6AWSjT54HsitxeC":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setVertices"},"5UV80ski9z4YV2ZFTRLmO":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shift"},"farI9uZcPhcv4K92t_HbI":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#to2d"},"hqtP3argEljCcsYTM05ye":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toIso"},"WDG12A2Zynjyo2d4pqXDr":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toPolygon"},"jcXQA39CtgtD5J-tlJG5D":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#transform"},"P1mDOI0qq6fiZ5EHP0eVW":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#translate"},"O2zdR-uh0jz9YB3m0KURK":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#union"},"oH-V4pcdBDzXapmuc0nis":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#update"},"LgW7GCtAJ6-ufs0ITR9M9":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateBounds"},"oUtV2RnbPm76TFVMslx4y":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#draw"},"0nysdo3R2Kr1QL3PDXD4R":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onAnchorUpdate"},"u10rfT_KF93Aufg5lLj1-":{"uri":"/melonJS/docs/melonjs/Compositor.html"},"J-CFJsUQONhtUyU2P5rJf":{"uri":"/melonJS/docs/melonjs/Compositor.html#attributes"},"G3lnDRjJUVUPkDWTfNbcA":{"uri":"/melonJS/docs/melonjs/Compositor.html#currentShader"},"sGr8yzkPGR6JO3_TV98lu":{"uri":"/melonJS/docs/melonjs/Compositor.html#defaultShader"},"zTzTR5CVsQD6uUOYQDZcX":{"uri":"/melonJS/docs/melonjs/Compositor.html#mode"},"WFXbERgm6A-52__ML6MSG":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexByteSize"},"4BH4Yx_-MMNuxi4MBNFuW":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexData"},"CUFzxX7pCsGq_YidBXjdj":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexSize"},"_gZaKDxe21Wafieb8o10L":{"uri":"/melonJS/docs/melonjs/Compositor.html#addAttribute"},"0-C9Kl0hAyfZ-JXpnTxuL":{"uri":"/melonJS/docs/melonjs/Compositor.html#bind"},"AhK8Tgvu43UbZPK5au4kd":{"uri":"/melonJS/docs/melonjs/Compositor.html#constructor"},"W2WCE8x9eZiHBnhFU9zhU":{"uri":"/melonJS/docs/melonjs/Compositor.html#flush"},"zMYVwOPsQ12bbSmQEUAtf":{"uri":"/melonJS/docs/melonjs/Compositor.html#setProjection"},"YI5k3yj2E-UKhQYKfbq95":{"uri":"/melonJS/docs/melonjs/Compositor.html#useShader"},"M9gkIW1Ez9mL42ZdbouRs":{"uri":"/melonJS/docs/melonjs/Container.html"},"kf0BleS9Hqgn5YQR2Sf49":{"uri":"/melonJS/docs/melonjs/Container.html#alpha"},"lHxWNugBB3XRZVn6mn0UM":{"uri":"/melonJS/docs/melonjs/Container.html#alwaysUpdate"},"CCakI3JM13rYWzJGf9sPe":{"uri":"/melonJS/docs/melonjs/Container.html#ancestor"},"qhJMIWF5Xjx-ueCS-whoy":{"uri":"/melonJS/docs/melonjs/Container.html#anchorPoint"},"DKBpv4STwZkMxn1iWzE6m":{"uri":"/melonJS/docs/melonjs/Container.html#autoDepth"},"PYJSWWbCe4t6yap57fPLI":{"uri":"/melonJS/docs/melonjs/Container.html#autoSort"},"TCCUmU4pVRGwdinG3TIRI":{"uri":"/melonJS/docs/melonjs/Container.html#autoTransform"},"l0mGOqFCIZp54L93Vo3u1":{"uri":"/melonJS/docs/melonjs/Container.html#backgroundColor"},"O4_up5kQ8DY6Wu9jWMke2":{"uri":"/melonJS/docs/melonjs/Container.html#blendMode"},"ke3zJsJBDoym2hjhSj3Dw":{"uri":"/melonJS/docs/melonjs/Container.html#body"},"4pZhQ7iDTkb1B2X9_44eq":{"uri":"/melonJS/docs/melonjs/Container.html#bottom"},"UAcrZ2sl52ClGFJ0DVouS":{"uri":"/melonJS/docs/melonjs/Container.html#centerX"},"0M5lLlUR0XqRElk_TrNZV":{"uri":"/melonJS/docs/melonjs/Container.html#centerY"},"WsmDlQfo5tLpIQLp279B6":{"uri":"/melonJS/docs/melonjs/Container.html#clipping"},"ce3a8oFAoRChIHQwNSqy2":{"uri":"/melonJS/docs/melonjs/Container.html#currentTransform"},"O3HK_rVuiiQYdoG2E37bP":{"uri":"/melonJS/docs/melonjs/Container.html#depth"},"NEGQ7wASuU03J5n5GCXC0":{"uri":"/melonJS/docs/melonjs/Container.html#enableChildBoundsUpdate"},"viuwzkQf2JgRlGnzqR7gU":{"uri":"/melonJS/docs/melonjs/Container.html#floating"},"1uJJ5KKyb33HwE_uLowq6":{"uri":"/melonJS/docs/melonjs/Container.html#GUID"},"YkuCex7Tb2ugRGvEG6SXt":{"uri":"/melonJS/docs/melonjs/Container.html#height"},"vgsTa2d4Bt203gDuFfoME":{"uri":"/melonJS/docs/melonjs/Container.html#inViewport"},"7cKb3tHSxQYp6W1ZB23m9":{"uri":"/melonJS/docs/melonjs/Container.html#isDirty"},"d6eKu89a4Y3aUvn6jnYMb":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedX"},"FM6hcX3xbuALEf2P14zko":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedY"},"YAFyIrMepcOeGYo-lTml3":{"uri":"/melonJS/docs/melonjs/Container.html#isFloating"},"URaQcLZmSoJ85x0t7ZITz":{"uri":"/melonJS/docs/melonjs/Container.html#isKinematic"},"RoU6pTGJHZZ_qnECBU8_0":{"uri":"/melonJS/docs/melonjs/Container.html#isPersistent"},"91mQkoi9P95FoY0PElAEV":{"uri":"/melonJS/docs/melonjs/Container.html#left"},"U9qoTD9xu3sJyZBo1Y3ZK":{"uri":"/melonJS/docs/melonjs/Container.html#mask"},"W_ikCg14M8y7N5MvLT4_S":{"uri":"/melonJS/docs/melonjs/Container.html#name"},"1UeV2zdHwmzsHWWBT5MNC":{"uri":"/melonJS/docs/melonjs/Container.html#onVisibilityChange"},"08dwqtclNWk6B0w8p_L6R":{"uri":"/melonJS/docs/melonjs/Container.html#parentApp"},"ulVPWwvfwYScfpO15v9kw":{"uri":"/melonJS/docs/melonjs/Container.html#points"},"wkdrxKZe_UNT8ZQZQ0c9s":{"uri":"/melonJS/docs/melonjs/Container.html#pos"},"bBKJQKZOxL9hF5JZpSsH7":{"uri":"/melonJS/docs/melonjs/Container.html#right"},"b3tehoWOVnLgmvvG5Ikc8":{"uri":"/melonJS/docs/melonjs/Container.html#root"},"8dqfxhjDDTr1o_YaIJWGS":{"uri":"/melonJS/docs/melonjs/Container.html#shader"},"GRjGdn1pmF4tNU4ffISNQ":{"uri":"/melonJS/docs/melonjs/Container.html#sortOn"},"eAjdJP2Wr1K6j_CewVqh4":{"uri":"/melonJS/docs/melonjs/Container.html#tint"},"H3IX9kHUeR0JYVpwvY5ve":{"uri":"/melonJS/docs/melonjs/Container.html#top"},"u9icLXvDwHkwoqD_EFmwZ":{"uri":"/melonJS/docs/melonjs/Container.html#type"},"b_qLeYMhd0H-GTH7dtvpl":{"uri":"/melonJS/docs/melonjs/Container.html#updateWhenPaused"},"On7KZS7UP6zyLVbLyURBq":{"uri":"/melonJS/docs/melonjs/Container.html#width"},"uTmjb27DHJfTz5OBaOf9V":{"uri":"/melonJS/docs/melonjs/Container.html#addChild"},"aTPl-HoJPNHocLdRG6YZ3":{"uri":"/melonJS/docs/melonjs/Container.html#addChildAt"},"qYP4yXQDW804YPiyPIxaS":{"uri":"/melonJS/docs/melonjs/Container.html#angleTo"},"HD-M-CCOw0uAM5AeGTdw5":{"uri":"/melonJS/docs/melonjs/Container.html#centerOn"},"jCNsVLdlB9HDjlBimbPeP":{"uri":"/melonJS/docs/melonjs/Container.html#clone"},"IOfBexPjp1lhSO5z90aEa":{"uri":"/melonJS/docs/melonjs/Container.html#constructor"},"Gb3cSOeoWmJ9FkT8itynM":{"uri":"/melonJS/docs/melonjs/Container.html#contains"},"WDWUh9_AzOIngp7TfqWZS":{"uri":"/melonJS/docs/melonjs/Container.html#copy"},"6aMbCcl-GYRQiTMfS3QWw":{"uri":"/melonJS/docs/melonjs/Container.html#distanceTo"},"p6rw9GOrBmVMo-gCwCSC1":{"uri":"/melonJS/docs/melonjs/Container.html#equals"},"YlsezT5ioA_wdUeG2qil6":{"uri":"/melonJS/docs/melonjs/Container.html#flipX"},"ExPhSXXmZaEL3AuS2P-kD":{"uri":"/melonJS/docs/melonjs/Container.html#flipY"},"gZbY3pxpENY1gkFkKnyQN":{"uri":"/melonJS/docs/melonjs/Container.html#forEach"},"kTsYMgLZq9qKrRfap1RWG":{"uri":"/melonJS/docs/melonjs/Container.html#getAbsolutePosition"},"ENTCnF_S6uOpxEwjDYIb7":{"uri":"/melonJS/docs/melonjs/Container.html#getBounds"},"o8UZocUjMTdAVIgrQLz40":{"uri":"/melonJS/docs/melonjs/Container.html#getChildAt"},"6qZhLvrAngftSNAcWa_sM":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByGUID"},"d51F-9zprb0Xyd9ZPS3dB":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByName"},"nJEkDqakW5w8VILihiD-A":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByProp"},"OjiwSSYL6CeQZmA8aJF3f":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByType"},"qlEsvSy9cXQak11cr5qpr":{"uri":"/melonJS/docs/melonjs/Container.html#getChildIndex"},"D6sah8fCmYx7e3AtLPsLr":{"uri":"/melonJS/docs/melonjs/Container.html#getChildren"},"xJorGCNnw7yC2zsVpeKa7":{"uri":"/melonJS/docs/melonjs/Container.html#getIndices"},"RaaTVRrsinWEelDDdY7-N":{"uri":"/melonJS/docs/melonjs/Container.html#getNextChild"},"ERu0G0aSjAXZ0OAblsXpu":{"uri":"/melonJS/docs/melonjs/Container.html#getOpacity"},"vmXlP820GYAX60YSJ8nbS":{"uri":"/melonJS/docs/melonjs/Container.html#getRootAncestor"},"_SflWnKc-VCD8DRbNhMM-":{"uri":"/melonJS/docs/melonjs/Container.html#hasChild"},"76etIF3WWDhT2uNNZEHQ5":{"uri":"/melonJS/docs/melonjs/Container.html#isAttachedToRoot"},"U4Vi9Eiwx1KMt6Cx8Yqy1":{"uri":"/melonJS/docs/melonjs/Container.html#isConvex"},"MpZM-xnvA1nPT6FqcszPM":{"uri":"/melonJS/docs/melonjs/Container.html#isFinite"},"lom-OzbyaISItwrVR__s8":{"uri":"/melonJS/docs/melonjs/Container.html#lookAt"},"iPb-N2OSLXLX0Bsw-G5yr":{"uri":"/melonJS/docs/melonjs/Container.html#moveDown"},"LTRULFlTbFN29LWeco6AR":{"uri":"/melonJS/docs/melonjs/Container.html#moveToBottom"},"ny_TvIChmGW2LgqXl7KuB":{"uri":"/melonJS/docs/melonjs/Container.html#moveToTop"},"BychH4kLAcRX1Stoy9CJI":{"uri":"/melonJS/docs/melonjs/Container.html#moveUp"},"DyC-NRK07dWX2r9s4Tzjj":{"uri":"/melonJS/docs/melonjs/Container.html#onChildChange"},"Icc-1L0iW6bmCkC2mhno8":{"uri":"/melonJS/docs/melonjs/Container.html#onCollision"},"1APqTBCks1f0-qOhEcp_h":{"uri":"/melonJS/docs/melonjs/Container.html#onDestroyEvent"},"t7e4cNkgDg3IA4hc4E5nV":{"uri":"/melonJS/docs/melonjs/Container.html#overlaps"},"l8XiILa0eOEkHdZMMmem3":{"uri":"/melonJS/docs/melonjs/Container.html#postDraw"},"ud0ikwFqsz6n9C6kET1vL":{"uri":"/melonJS/docs/melonjs/Container.html#preDraw"},"_yH-nn8zOVi_z9BekQW96":{"uri":"/melonJS/docs/melonjs/Container.html#recalc"},"QRmZuJJ6Ulu0s26q0INu8":{"uri":"/melonJS/docs/melonjs/Container.html#removeChild"},"A9uMyn3n0oy3nBHM4UmG1":{"uri":"/melonJS/docs/melonjs/Container.html#removeChildNow"},"yC5Cz5SC2yXrAx4gTRw4X":{"uri":"/melonJS/docs/melonjs/Container.html#reset"},"r5jlP86ekzMrOuXSb362l":{"uri":"/melonJS/docs/melonjs/Container.html#resize"},"ulHRqxanWexvC0uygagXl":{"uri":"/melonJS/docs/melonjs/Container.html#rotate"},"tlkHJIgxam4Ik5_H3xapU":{"uri":"/melonJS/docs/melonjs/Container.html#scale"},"lmP9pXxI03H7ovtkba5Ny":{"uri":"/melonJS/docs/melonjs/Container.html#scaleV"},"mvxbvxE1Ej9fmWTh8XvGg":{"uri":"/melonJS/docs/melonjs/Container.html#setChildsProperty"},"1IhK8w0rsnbdOYYKwjF_J":{"uri":"/melonJS/docs/melonjs/Container.html#setOpacity"},"T0Lh2Kt0zop5-JH22Wsfj":{"uri":"/melonJS/docs/melonjs/Container.html#setShape"},"PUi125rsw5KgOFX39OpMR":{"uri":"/melonJS/docs/melonjs/Container.html#setVertices"},"Sn-pWslNUhGRpas6-KMn4":{"uri":"/melonJS/docs/melonjs/Container.html#shift"},"JXTbE51CqOLK5Vp6HZCt9":{"uri":"/melonJS/docs/melonjs/Container.html#sort"},"xR578mHNEWCGEybNtgodm":{"uri":"/melonJS/docs/melonjs/Container.html#swapChildren"},"hwiK72H3B-sV9sxDy28Bh":{"uri":"/melonJS/docs/melonjs/Container.html#to2d"},"3qrzLpc2q_aFBMLv9wVqk":{"uri":"/melonJS/docs/melonjs/Container.html#toIso"},"gupux0Brd1hJCWF45_4Zd":{"uri":"/melonJS/docs/melonjs/Container.html#toPolygon"},"4yVlH-KJz3vaqhsLDjesj":{"uri":"/melonJS/docs/melonjs/Container.html#transform"},"_JqPke4uMDo1hkvNemysX":{"uri":"/melonJS/docs/melonjs/Container.html#translate"},"4c_YTybEe10zxdPwVmKR7":{"uri":"/melonJS/docs/melonjs/Container.html#union"},"LFIKidkUm1qC8GdX-lwcI":{"uri":"/melonJS/docs/melonjs/Container.html#updateBounds"},"SoMB-heqICZ3bwYc8z1HP":{"uri":"/melonJS/docs/melonjs/Container.html#draw"},"uLjYUYwkL_3h048y-jJR0":{"uri":"/melonJS/docs/melonjs/Container.html#update"},"e6VVtAhfdDByFAuRvGy6L":{"uri":"/melonJS/docs/melonjs/Container.html#onAnchorUpdate"},"_DUtM2rL5uUs7K9CJ_1Gl":{"uri":"/melonJS/docs/melonjs/Detector.html"},"oaFGwIflh3RiX79PAY185":{"uri":"/melonJS/docs/melonjs/Detector.html#response"},"7utJKpr4-3eAb0FVJ7fdg":{"uri":"/melonJS/docs/melonjs/Detector.html#collides"},"zmNrPNUgqhIfUSM2H8f2c":{"uri":"/melonJS/docs/melonjs/Detector.html#constructor"},"eOoPcxlX3rE_gEbS9cCch":{"uri":"/melonJS/docs/melonjs/Detector.html#shouldCollide"},"5t8o3P2eUdVLqypo9ic6j":{"uri":"/melonJS/docs/melonjs/Draggable.html"},"u_sgb27LAbn-PrwFAKoR3":{"uri":"/melonJS/docs/melonjs/Draggable.html#alpha"},"TvHeb26NcDfj8zc90pY0A":{"uri":"/melonJS/docs/melonjs/Draggable.html#alwaysUpdate"},"L3IM8vFyBl18Q1m0WLevB":{"uri":"/melonJS/docs/melonjs/Draggable.html#ancestor"},"OinOXsokk9XRPjXidFOJr":{"uri":"/melonJS/docs/melonjs/Draggable.html#anchorPoint"},"PBvkBCXJsvyvrgoI-BKcG":{"uri":"/melonJS/docs/melonjs/Draggable.html#autoTransform"},"_epVWyGZZ4ifTRu190BmB":{"uri":"/melonJS/docs/melonjs/Draggable.html#blendMode"},"20FDYSoKGcoUgm22n6M9n":{"uri":"/melonJS/docs/melonjs/Draggable.html#body"},"bliYAerA_PiGQW7oqpQFc":{"uri":"/melonJS/docs/melonjs/Draggable.html#bottom"},"HrLcZHyvhnN64q4UgfP4m":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerX"},"mBy5RX7Fq_JRxoZWd78sC":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerY"},"_k1NcQJpTISuF0X1dIN7z":{"uri":"/melonJS/docs/melonjs/Draggable.html#currentTransform"},"694e7WgY8uWQ4zAJ3JYZ4":{"uri":"/melonJS/docs/melonjs/Draggable.html#depth"},"6TQRQ7VUFBpItTPFcB8KJ":{"uri":"/melonJS/docs/melonjs/Draggable.html#floating"},"ENLhbuVYH4RgEFUFbVn3y":{"uri":"/melonJS/docs/melonjs/Draggable.html#GUID"},"965wGOm_62gZcS5VSG8T3":{"uri":"/melonJS/docs/melonjs/Draggable.html#height"},"E6-EQgqPIE3Jkwj1lNmJz":{"uri":"/melonJS/docs/melonjs/Draggable.html#inViewport"},"C6leXVqhid3bAM-9txzzQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#isDirty"},"zLgkWlhQRls5AjgSafYXD":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedX"},"f3XxrLdV68TDZzTAcMXir":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedY"},"PlL7TlqDwtn7YhBVbsmoH":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFloating"},"Hm644aU7ejTmuiTMuIirZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#isKinematic"},"YJoRCxlTXakNx0s7Sfzgt":{"uri":"/melonJS/docs/melonjs/Draggable.html#isPersistent"},"lhGpFpFE3KPTpY_9sYIHZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#left"},"9C79l1IkSGgXrkgO09SVD":{"uri":"/melonJS/docs/melonjs/Draggable.html#mask"},"ZDJsmmSj4V-g81dLCM79U":{"uri":"/melonJS/docs/melonjs/Draggable.html#name"},"RnaEehGSTdmgMR0GQlAP_":{"uri":"/melonJS/docs/melonjs/Draggable.html#onVisibilityChange"},"psNf2myROoAvMqeBSlr1M":{"uri":"/melonJS/docs/melonjs/Draggable.html#parentApp"},"hcK7chEuGxYAWrLQC9MJ0":{"uri":"/melonJS/docs/melonjs/Draggable.html#points"},"oEIsZuo9XBpZZRCq-tfOK":{"uri":"/melonJS/docs/melonjs/Draggable.html#pos"},"hcHQe7Al4ttBWoztrL2VP":{"uri":"/melonJS/docs/melonjs/Draggable.html#right"},"LdMBy7X0a1YPoXawOuPV9":{"uri":"/melonJS/docs/melonjs/Draggable.html#shader"},"a2pEV-WDfdi16ibaToAU3":{"uri":"/melonJS/docs/melonjs/Draggable.html#tint"},"NLVIzNx5Vf8XmG-M80DHH":{"uri":"/melonJS/docs/melonjs/Draggable.html#top"},"KziTmwOcDVc6Czs60AaZL":{"uri":"/melonJS/docs/melonjs/Draggable.html#type"},"RJsrYJz01u--yGPCj0oW4":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateWhenPaused"},"UqqBFRfrgHwyb23zCc46V":{"uri":"/melonJS/docs/melonjs/Draggable.html#width"},"f1GHlJAiB2FKLYJdfDuxQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#angleTo"},"sk3bxQYU5aknrhvuyTBSr":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerOn"},"Tp61NPGekIBY-Jhy6lpVj":{"uri":"/melonJS/docs/melonjs/Draggable.html#clone"},"Hk1_qVq26_0tavXZl1vVM":{"uri":"/melonJS/docs/melonjs/Draggable.html#constructor"},"jq9w1hJDWUVPyVnEijxfN":{"uri":"/melonJS/docs/melonjs/Draggable.html#contains"},"jsAW-89F13G2Qm_-rozZI":{"uri":"/melonJS/docs/melonjs/Draggable.html#copy"},"0C1Uof_0W6kBkz3rVm3gU":{"uri":"/melonJS/docs/melonjs/Draggable.html#distanceTo"},"TfQRrp_0QL7g0xbxHFYR3":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragEnd"},"15eyBTWBgn_u4MMIBZPO-":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragMove"},"nQaypGfQEtGomc7kf1hLZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragStart"},"56jqzxp2mZayD36u5l8Bo":{"uri":"/melonJS/docs/melonjs/Draggable.html#draw"},"5N2_G0UeI6ZxdvsVkrXD9":{"uri":"/melonJS/docs/melonjs/Draggable.html#equals"},"wWbhG_zOR5xIJGjnL11vL":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipX"},"nNvCabFADnucisFiOtTjf":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipY"},"JqL0l2BvSmioIbfqdmOhX":{"uri":"/melonJS/docs/melonjs/Draggable.html#getAbsolutePosition"},"HjkI15n1XFpF2ZC50kYn7":{"uri":"/melonJS/docs/melonjs/Draggable.html#getBounds"},"X99GszKhldFitvvnR39Py":{"uri":"/melonJS/docs/melonjs/Draggable.html#getIndices"},"PA7qfH0Ay4cwUcWVJWL50":{"uri":"/melonJS/docs/melonjs/Draggable.html#getOpacity"},"qWVgO-lahsahLeBChNEkh":{"uri":"/melonJS/docs/melonjs/Draggable.html#isConvex"},"o35_etlTuABs_cWB3_4G3":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFinite"},"Z68HkNOahIdo4ewJ85JXT":{"uri":"/melonJS/docs/melonjs/Draggable.html#lookAt"},"VcNiKd0EN0BTQkRrnDCnY":{"uri":"/melonJS/docs/melonjs/Draggable.html#onCollision"},"rjxaWKPFG5hbn1kvZZcqm":{"uri":"/melonJS/docs/melonjs/Draggable.html#onDestroyEvent"},"Jqx_8fbf7KVjPQCfdNPiW":{"uri":"/melonJS/docs/melonjs/Draggable.html#overlaps"},"XD9K1Wsj-m-7_ALeFX-YT":{"uri":"/melonJS/docs/melonjs/Draggable.html#postDraw"},"wzUphEOZSTWsju0XbqLzg":{"uri":"/melonJS/docs/melonjs/Draggable.html#preDraw"},"2fKQRUSXMtlM2t3qw2VMX":{"uri":"/melonJS/docs/melonjs/Draggable.html#recalc"},"mk14n0JaiHzgPL0-HsYO8":{"uri":"/melonJS/docs/melonjs/Draggable.html#resize"},"si-m-MMHnCNvVk-SstQ0c":{"uri":"/melonJS/docs/melonjs/Draggable.html#rotate"},"fjtuoV-qPU4T9Ws3Gqxlw":{"uri":"/melonJS/docs/melonjs/Draggable.html#scale"},"GJg5uwZgCEaStev6FAdp_":{"uri":"/melonJS/docs/melonjs/Draggable.html#scaleV"},"Zzc6EqFoTgAXEsjzweefP":{"uri":"/melonJS/docs/melonjs/Draggable.html#setOpacity"},"iOYT-JdiHA0rLwlhtXC1K":{"uri":"/melonJS/docs/melonjs/Draggable.html#setShape"},"IxIi6Y2lwwnGtxV9hy8TC":{"uri":"/melonJS/docs/melonjs/Draggable.html#setVertices"},"kptvG2-0mwV5RmVfP-btq":{"uri":"/melonJS/docs/melonjs/Draggable.html#shift"},"qkE1nXA-CqriCS9NGTyOO":{"uri":"/melonJS/docs/melonjs/Draggable.html#to2d"},"Y8RjMGXZMjvFE1yEPziPD":{"uri":"/melonJS/docs/melonjs/Draggable.html#toIso"},"5_m1Co1sPWSNj-m-arsdZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#toPolygon"},"FntugeOUHobjGFwXqvBnx":{"uri":"/melonJS/docs/melonjs/Draggable.html#transform"},"pAMDERQ7E__sniNeR8m7j":{"uri":"/melonJS/docs/melonjs/Draggable.html#translate"},"200ClU08Zb0f926Vz4TjB":{"uri":"/melonJS/docs/melonjs/Draggable.html#union"},"lHC51nE_QjM2qsXpNlv9G":{"uri":"/melonJS/docs/melonjs/Draggable.html#update"},"EhBgPvXOW_vv8j-m76l35":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateBounds"},"0zOeRf97_vSCDCZ0TdmLU":{"uri":"/melonJS/docs/melonjs/Draggable.html#initEvents"},"XG32amYIEYfe6_ty2m4uy":{"uri":"/melonJS/docs/melonjs/Draggable.html#onAnchorUpdate"},"rzacIyMRJmgKXBJSYMY1M":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html"},"RECcAazLwAe-4XSa2l0Lj":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alive"},"AMKHFL4VdmyUeIoQAGAfC":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alpha"},"PbKqk4OLzjRTcB1GBtnIN":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alwaysUpdate"},"jEXZGpE_IA_Ni9LOBF8ij":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#ancestor"},"vkBziPDYmFD0D5FAuiF3Z":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#anchorPoint"},"x5Y2tpnkBS2DpG-dcmtkb":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#autoTransform"},"cATPPUQTyvpDxEu6QMVCF":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#blendMode"},"Cw6btqRLbFIXtfDoeCgGB":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#body"},"TisOc5z4uyC3y0Sv4b_el":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#bottom"},"T0e6PMRC6y1vQbsU_fGJB":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerX"},"d-Dvp4lNTXkGcW87jXdXu":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerY"},"YVZjYRXm4SotLUzytZlkI":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#currentTransform"},"n1CHhkixBRuFPTaSmUZ2c":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#depth"},"yQXvRKQpERzBE5JWGi---":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#floating"},"KJxw1Bt0v2_jwdNl0Qp2d":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#GUID"},"QvoaXf4lLWNr7AlrhIYpB":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#height"},"89uNrjuUJ0o-UGX-lUj_0":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#id"},"KtGrsKU3HRaoT6JfJfz2P":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#inViewport"},"rfzo1u8F75xcSNMCmuR__":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isDirty"},"k5iBWUY3arAfwq-NlQclv":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedX"},"vd1HCK7hL9ZOfhE7Vq2LX":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedY"},"x1NuD8Zp_u_Uvmel5OmgK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFloating"},"nf5U3VEaL_UaDvUdN7Fgy":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isKinematic"},"sBh-1Y8Kdc7QmKHeZYHcb":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isPersistent"},"ggRlR9u58bQSTJ-NmcDVs":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#left"},"xDnsHcMcHWlro5ZK0-2UN":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#mask"},"15rZ7GjTafYfRoLH6OT9o":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#name"},"C8XkfkBB6BwYjiBXxI90s":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onVisibilityChange"},"UdTBzNZtQI8SRsqjSpQ9d":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#parentApp"},"B3YxUICAr5WtuTih3FtXe":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#points"},"SJjPPraxF7lHWqpVpY07S":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#pos"},"dfsImwnU2-J2k59asNjFz":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#renderable"},"k4lQrXIGdaBQSu5kU1Ye9":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#right"},"lkkcSjZ7FmIYftlOVFfb8":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shader"},"2lhNOme3fo07qOXSWUWbK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#tint"},"bp5wElzzucXx8Ytse_WGZ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#top"},"fHgj_lvH08ek_xxqKDwh6":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#type"},"SKjd-P7B-ty8cahOw8KYl":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateWhenPaused"},"ZlMtUwHIj0i4CIQRTm_S1":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#width"},"Z9Vf3tZQOgqwLkNOWkftW":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#angleTo"},"AnLQTGwHClwRrDjhlwoWY":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerOn"},"he0qK8CaXqATV_ybyEfmF":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#clone"},"G198XXr6vAJPtbVl6T_IN":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#constructor"},"Zg2OCuYkKwqukD-XDsmxL":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#contains"},"HQA8ZoGL9zyYJJWhK6K_P":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#copy"},"JnZcgWbrvMfHbghgl0N4U":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#distanceTo"},"HGfqg9X3EMpdW9mSuJlCB":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#equals"},"_Ti-3xmnRfxMcMbOQoeb3":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipX"},"4TnIYGbxIJ0So1AOr-F5g":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipY"},"CT0jlQCiILc-IWVx-Gclm":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getAbsolutePosition"},"TOvqN64LwrxY0PA_2DZI2":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getBounds"},"Fz-Vn-ln1B1UhtOcA7816":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getIndices"},"Fi-RoKgvafVlZgw-EaWM8":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getOpacity"},"uANHKYKGWvKMCkiSZdOPn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isConvex"},"PXMgU0fc-QuG8cTAzJxR-":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFinite"},"sJ2PmjBFkAa8zr5mslBFU":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#lookAt"},"1EsYwbttU20PFgvz_a4bg":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onBodyUpdate"},"HcxJBoz_yTbaXgQBGNC9W":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onCollision"},"0xiaNiUY1oBMUpA3Kt7c_":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDeactivateEvent"},"Bb1LVE2GfhgGqTTZObitG":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDestroyEvent"},"_aeMuxKJJmARFPiXOkXip":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#overlaps"},"8zlR5JmTzkDNkUSN-G_M5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#postDraw"},"W0h9M7H8SC3lM3h6I5RI7":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#preDraw"},"oagtmJ4z2esTjr21tFiCh":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#recalc"},"LRU97_I3ftLvY9nCuyHOv":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#resize"},"v8lbTQJW4K0K1z70ha758":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#rotate"},"teZAro_AFKXzvjBUfxdph":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scale"},"5WnLCdXEAUAMWbppTTZVU":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scaleV"},"2QeSYwNeqiR5AdVhrg8Mo":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setOpacity"},"qRoZdIAesGw-UbJOn7Q6k":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setShape"},"GWlPigUhwPZYirFhQ3GpR":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setVertices"},"QkkonILZq5d3hOC8fcki7":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shift"},"vcgzGPaGty6yxA3m0ilRv":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#to2d"},"2WJ5_0yNpwE8vADIq9O99":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toIso"},"LACHanMAMm9Jk_HANLiNt":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toPolygon"},"wQNpMR_mqj03JoGGfF9IG":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#transform"},"Zh9EI1T-U_-qHjDepmSB1":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#translate"},"oxQ5vHqXG8f76oYE9sz8u":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#union"},"RuFCzcN9ZNSwvnNbSnKTg":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#update"},"8B3yUxNxqakVX3QkCHoDe":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateBounds"},"UQOCbpagKIdgdlOUJdKi6":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#draw"},"rbaUm2dJwmRg8S0Qlje-Z":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onAnchorUpdate"},"feSE55RbflbgYGieB1YyA":{"uri":"/melonJS/docs/melonjs/DropTarget.html"},"CCu1ksURhpQzLKo46FcKE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alpha"},"kV6YPlUevmv_Eg9O3IdWU":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alwaysUpdate"},"D_XCndcD6h-KVsq42bc-r":{"uri":"/melonJS/docs/melonjs/DropTarget.html#ancestor"},"civ-qMiQlAwmKXGWZmUZR":{"uri":"/melonJS/docs/melonjs/DropTarget.html#anchorPoint"},"JA_uGSeU1Y84d1zSxMZil":{"uri":"/melonJS/docs/melonjs/DropTarget.html#autoTransform"},"hgnP-uNqPuizTXSjwXc6x":{"uri":"/melonJS/docs/melonjs/DropTarget.html#blendMode"},"SGLCFtgWuPXny3oYnTWyZ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#body"},"e_u1oCOfscrm1glSeBjvE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#bottom"},"1yeVKpVthN44zif2Jqpk8":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerX"},"U7XProP9624Sk5Dumz0u8":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerY"},"xz3j6pkPqOXimyIIW2UEZ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkMethod"},"1wdQFQeKFBsckFlH6vRRE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_CONTAINS"},"uEjIeZPQt6XlnBcuzI9T2":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_OVERLAP"},"c8RwhbpCOpSAQC6JFinWy":{"uri":"/melonJS/docs/melonjs/DropTarget.html#currentTransform"},"gXvhL3LJeorVeplQUTun_":{"uri":"/melonJS/docs/melonjs/DropTarget.html#depth"},"ugeQRZH9Xj9Y4OQAcftGd":{"uri":"/melonJS/docs/melonjs/DropTarget.html#floating"},"iXdsQ4fMaSRG8bIG4e4jm":{"uri":"/melonJS/docs/melonjs/DropTarget.html#GUID"},"TTvOnSJq4wuChcWT1LLJG":{"uri":"/melonJS/docs/melonjs/DropTarget.html#height"},"OARCaFgzX-vqw7qTKCSVu":{"uri":"/melonJS/docs/melonjs/DropTarget.html#inViewport"},"NK_DO-wBrpEMhuvmRzfSk":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isDirty"},"6dHvgNC6jt5VlZYCQl1xC":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedX"},"aLGNnKpFiQU0ndzbzIzhp":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedY"},"ke1v_-rJa6Kdtoaz3GztG":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFloating"},"O3tW6mnMScwk8xEK5NkK2":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isKinematic"},"0HZ5O_9dFwGuRS4gIES_a":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isPersistent"},"kOu2qBqEkHyE66n7g-auI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#left"},"_kWnSftuRGg8G8Xl_vzWf":{"uri":"/melonJS/docs/melonjs/DropTarget.html#mask"},"8u_4rsnVF9iqfwacz-dHp":{"uri":"/melonJS/docs/melonjs/DropTarget.html#name"},"kAOAC0odg0lht4G4ezbG0":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onVisibilityChange"},"ZB_CFu8E-4TwHQNdmN7XV":{"uri":"/melonJS/docs/melonjs/DropTarget.html#parentApp"},"WqTaTWaMxTsmuqYgVGva5":{"uri":"/melonJS/docs/melonjs/DropTarget.html#points"},"Yq_GJXR6Y08CPHQIoM66y":{"uri":"/melonJS/docs/melonjs/DropTarget.html#pos"},"dSuUujUyqYgKn6XQ-ZmmN":{"uri":"/melonJS/docs/melonjs/DropTarget.html#right"},"jNp3Ic48DzsYY0Nn7q5Cw":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shader"},"as9e_8qHE9LiSB33J2YyX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#tint"},"lND5p0wxJ-00bL54POLRE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#top"},"QQkCwbCLUxF7eHAzkodAW":{"uri":"/melonJS/docs/melonjs/DropTarget.html#type"},"w1uiAckMpI15Bl813pHV2":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateWhenPaused"},"IbSPOjfAFX2eiv5YKMlEA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#width"},"8kEpLMfWnRHoAukBgmOWe":{"uri":"/melonJS/docs/melonjs/DropTarget.html#angleTo"},"DHGYUJq0tAW9Gq5gt4MlE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerOn"},"6qyGmF3T9-w2CLetjXulT":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkOnMe"},"d7a5_RtGWvzLnBVXZkU76":{"uri":"/melonJS/docs/melonjs/DropTarget.html#clone"},"M51MD5L1IlQdIiQcUrkn9":{"uri":"/melonJS/docs/melonjs/DropTarget.html#constructor"},"psQxz3dSWTFKxRfafTlJc":{"uri":"/melonJS/docs/melonjs/DropTarget.html#contains"},"qZwZHH35eg8gKcLtXv5DI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#copy"},"PuO3aIeJqIOqEzqZiJTG0":{"uri":"/melonJS/docs/melonjs/DropTarget.html#distanceTo"},"VJ6gWAslski8qUeCx-Mfc":{"uri":"/melonJS/docs/melonjs/DropTarget.html#draw"},"n6snIeMQFVHY2kQiD7Yhy":{"uri":"/melonJS/docs/melonjs/DropTarget.html#drop"},"1rHyBEi9oU_oUgJCTzq6K":{"uri":"/melonJS/docs/melonjs/DropTarget.html#equals"},"9BPi8b0kFS4xzMmP5GphA":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipX"},"vT5_7REuuW8tZrOjzzGsc":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipY"},"pif5TslQMOu9AXkVHf8Hf":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getAbsolutePosition"},"bRvg1rwByIPQBS_o1IlQm":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getBounds"},"2VwFzEkgaULfdBLBMxQPz":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getIndices"},"zpCLMrbDabWOF3TgPpldw":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getOpacity"},"cYAwmLFjdJkoz7jHjkmyr":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isConvex"},"E5QwqI7CzYUCHWBnbxFCK":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFinite"},"fYm2pfhBejafTC637aQgP":{"uri":"/melonJS/docs/melonjs/DropTarget.html#lookAt"},"iEFD7FZ3Wx6eJvY_0cVDI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onCollision"},"j-To0MBoVXvZZtig_7Bl3":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onDestroyEvent"},"7qNakEDz16Y5OJEPLSRRp":{"uri":"/melonJS/docs/melonjs/DropTarget.html#overlaps"},"TPzd0slkfS9c86XCfOkO9":{"uri":"/melonJS/docs/melonjs/DropTarget.html#postDraw"},"4T15xKlebcWX38j5Isk5T":{"uri":"/melonJS/docs/melonjs/DropTarget.html#preDraw"},"SsDAhV9KQnYOer_mKAG-0":{"uri":"/melonJS/docs/melonjs/DropTarget.html#recalc"},"jMB-Jjn4Fgl4WZ44SM6yW":{"uri":"/melonJS/docs/melonjs/DropTarget.html#resize"},"xd8Kyvz0dh0XbLWpylfxl":{"uri":"/melonJS/docs/melonjs/DropTarget.html#rotate"},"mdmcLKrRY34sXqkV4wqfh":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scale"},"Eh6_dOyVOtF_60RJW4zAz":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scaleV"},"FjWD49vypj8GPOxOzG4qJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setCheckMethod"},"jlgN_XaRTQFLRGRXvRsTv":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setOpacity"},"G9y9ZbdoBajbtOlxwXq7G":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setShape"},"1HOdT81T73P8f25Wt2HFm":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setVertices"},"-6artfEEfk68DtZTvs7tk":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shift"},"JXECzPS9Kb9vliEij_iZj":{"uri":"/melonJS/docs/melonjs/DropTarget.html#to2d"},"ogO7bYAmXiALLiMizGXkR":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toIso"},"_GVxw8rpeL_jPxU4gcp6L":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toPolygon"},"vAOWlnMQu12MImuUcpYiJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#transform"},"qMcZPtyNwZFO6PeVmx8UO":{"uri":"/melonJS/docs/melonjs/DropTarget.html#translate"},"l9Im2toPPeEgyet95TGkE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#union"},"k3Qfvvkc1YDs6ZkTHenJI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#update"},"mDhjUJsgyq1XQ347SXApD":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateBounds"},"z_v-UmxDW6T5gCWRvYXOi":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onAnchorUpdate"},"ADgdDYOjC0jG9cZ7Yz53j":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html"},"_qwljw9A40Y1iMXyyzHZ0":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alive"},"d3ub7WL4nnUNpmh7wDen0":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alpha"},"eYwUdWeD7yFb8UcEzhSN6":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alwaysUpdate"},"oCOYedjepSVERcqY1RRQt":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#ancestor"},"n09xpex2K1lvx3Qic9DYk":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#anchorPoint"},"EdKRZs4ho-_tuCEDM3CCl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#autoTransform"},"63BIu7dsXT1Q6etAKUJ3l":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#blendMode"},"hSiDxcocs0PUrlptgeM4N":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#body"},"awCyVaGhmmIUErLED3kWX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#bottom"},"BKz78LPJ4_0VWABSIx4P0":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerX"},"W9XwdMu0Xb63_sHEnNsZU":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerY"},"RqskKv-6JWuP3ynS_HJjr":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#currentTransform"},"Vr_rh3fns48uaxmYfs-my":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#depth"},"oi6Q4bZjyR-4MzUm1U4QM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#floating"},"XPs8SK-6INbG3k4uGpLKw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#GUID"},"KIg8BMiJ3yIcTLS5vrgrh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#height"},"rM3n2xlOt1YX5FxYGsu6i":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#id"},"FTDd25_BEIFeTL4LnnoF6":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#inViewport"},"p6mvSwywmn8sP_SH_sJDs":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isDirty"},"Tk834_raIv8B2AmnikwPp":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedX"},"lIO0bw8rMZ0rOA4pMcovq":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedY"},"HkHT9CQ6m4kdimjoCbsuI":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFloating"},"CKXnaUNn-o3vsstFMuGxP":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isKinematic"},"oH-9bMUhiOK7HDhvQF3jg":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isPersistent"},"5U9OIZehnIro7JvEKhre9":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#left"},"SkPv9_Uq5aS9KZReCdXmn":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#mask"},"UtK8LbkiT4yR_xcodg0oo":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#name"},"oZ-pf9el1VU_dIIwJ398A":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onVisibilityChange"},"ZRioX5dJP5bZ9C3ZT-SWX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#parentApp"},"2wPfvHAJ2VTpYnSsAZL_B":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#points"},"odXOf6DcLvzC0wrlywp2E":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#pos"},"AhhRq_Y2slfQOzFbtTDMP":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#renderable"},"ii3nKX_4RO88_nix-XBxj":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#right"},"3GISpUj8hjsFJXxQmBH19":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shader"},"f49fAYc4laEe-hR9Fmt89":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#tint"},"OlCZfHJRBq01PXUPjkmce":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#top"},"H7meh4Kh4nxMDVhmPpThw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#type"},"KHnSegH9adKAg4tZmR40d":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateWhenPaused"},"DVIQS_AoGQXHXO-mrbHUx":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#width"},"x5njHVshjKxuqOkMuCgTl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#angleTo"},"4W7MFW_B1-ekE7wBCAeu5":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerOn"},"YCC4zqnjPYO9shVanhx1c":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#clone"},"MrLpvc2Rr51LiF5I79Zbh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#constructor"},"w9IK_3RM4IaWZko5hbw4i":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#contains"},"qOuGCiHiwNfnl0l3yHUZo":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#copy"},"yKmxIdjp1zc_a4ezAjaNZ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#distanceTo"},"NTHXZ9JuW_EmwPAWBJWaw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#equals"},"NqFJc_XNeGWWHG27BYLeH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipX"},"69WD7dRR7MNX3Kw3Ah96u":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipY"},"CU-xCk2yZxh_ZZ3APFD_8":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getAbsolutePosition"},"8TZ7_nZREqoVs6lvtW2sh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getBounds"},"0CHWVB1JJeMHPi9VjOxEs":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getIndices"},"AxhHuV3-RPayTxZmKOAH1":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getOpacity"},"svkNwyI1hV6QK3vIkL98K":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isConvex"},"tOQHJzahR9WF4xVAh9oVj":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFinite"},"0MTxlZ3-zuyPHvqIcWHue":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#lookAt"},"xY0Zaf7CU5b9cYXYxHcjA":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onBodyUpdate"},"sgcrQMVRXC7OoY-WtiyHl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onCollision"},"bbW50eLj0QaevWAEaYF5Y":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDeactivateEvent"},"8FEgNPV0AsajZUtjKhPDl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDestroyEvent"},"4VeAOVbFMUZmGX93kaGpU":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#overlaps"},"n72WIJUe7PHKWdqj4PNx1":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#postDraw"},"a96-RlM8Raqdx23MMoJAj":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#preDraw"},"tWSy_PPvXJFrAwQ35CzZr":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#recalc"},"DmZvTVBZT3sUGUibjG2Zu":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#resize"},"vAaQQde7w3-iONwHGuWe-":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#rotate"},"6yqd2aoh9TIdcoicSqSNH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scale"},"Qb-DSr3RN1xaDKfuvYqfq":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scaleV"},"XRcZldBzgLNkoILCm7b3q":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setOpacity"},"O1zIAKnAVSc6tmzZgH3F7":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setShape"},"Jn6aQgsmXshp_Lx2zBpH5":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setVertices"},"-fsYcwqN9tVjOJlVuLDd0":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shift"},"tZgBp-d3srfxFSchagnRL":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#to2d"},"fedQhVFiEgqHE46qGTq6q":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toIso"},"0qc2REUvQlmGkgzAtfgUR":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toPolygon"},"LCEn6Wtxy9Z0OKwR6LUmi":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#transform"},"PoNOkDDK6pZNFfF6uHY2f":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#translate"},"h8ljwAxfmqa2YVfCoFjzZ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#union"},"PGUKuUly9n9gRip3bDwMW":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#update"},"8og8iRmdLDuurYc7Ejcw7":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateBounds"},"jWPEFOAM29SdHadEuxieK":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#draw"},"rzW-62H1w1Vg1epEnQ4nK":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onAnchorUpdate"},"8CYAzrWXwrZz9WgPbrsYS":{"uri":"/melonJS/docs/melonjs/Ellipse.html"},"KKE2LuUniIbyzHqka8xtb":{"uri":"/melonJS/docs/melonjs/Ellipse.html#pos"},"d_4u3Zz5bfqq-Ue49eg0x":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radius"},"nb1Xlko73Nz914LMKyiWd":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusSq"},"BFJnQbPfLXN4FKoiTw5Lz":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusV"},"KOW4fYICyeFDc7HwNq0gi":{"uri":"/melonJS/docs/melonjs/Ellipse.html#ratio"},"1na6XISLuvsEZTZAvjL7f":{"uri":"/melonJS/docs/melonjs/Ellipse.html#type"},"nItUcV9tSEWhK3ZLBsyd7":{"uri":"/melonJS/docs/melonjs/Ellipse.html#_bounds"},"ZQZgIofhQA-dAxXp4yjUX":{"uri":"/melonJS/docs/melonjs/Ellipse.html#clone"},"FqrZiSiAmNw8YzpNioOXo":{"uri":"/melonJS/docs/melonjs/Ellipse.html#constructor"},"LeZyaj2GK9upW5tarlAkn":{"uri":"/melonJS/docs/melonjs/Ellipse.html#contains"},"e9mZZxffquG-DTJv4lb33":{"uri":"/melonJS/docs/melonjs/Ellipse.html#getBounds"},"wp6y-LOLs_QuQ1KZV2RtB":{"uri":"/melonJS/docs/melonjs/Ellipse.html#rotate"},"KhJZwaIMJw1m85hrhgKpP":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scale"},"SiMTfpPvMzjU_DMfiBY7F":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scaleV"},"6nxt7t1dJZh_QCnx4KLyl":{"uri":"/melonJS/docs/melonjs/Ellipse.html#setShape"},"PTq5ocvDY0KySH7lxnasZ":{"uri":"/melonJS/docs/melonjs/Ellipse.html#transform"},"JIy8y0ModBzxBgMzlnEUl":{"uri":"/melonJS/docs/melonjs/Ellipse.html#translate"},"yo794ZVjhZm7WT_YXqw4P":{"uri":"/melonJS/docs/melonjs/Entity.html"},"vyJLxPmgzdA1N6a4cg0WF":{"uri":"/melonJS/docs/melonjs/Entity.html#alive"},"7E7wZmthKjmTjRG4waoWP":{"uri":"/melonJS/docs/melonjs/Entity.html#alpha"},"LTKFWRX1atQgP0buvtjyy":{"uri":"/melonJS/docs/melonjs/Entity.html#alwaysUpdate"},"3qsVvmqwEVI-aGT3UTn9c":{"uri":"/melonJS/docs/melonjs/Entity.html#ancestor"},"OYasmSlnYCs3XPLzkkmhC":{"uri":"/melonJS/docs/melonjs/Entity.html#anchorPoint"},"lJhJoWs7O7iaXNlhjO7az":{"uri":"/melonJS/docs/melonjs/Entity.html#autoTransform"},"TBCOQ_sR3wEy-cza5_9ic":{"uri":"/melonJS/docs/melonjs/Entity.html#blendMode"},"KmRfoMQ7CjHbAQ_J-km8j":{"uri":"/melonJS/docs/melonjs/Entity.html#body"},"sD2N6q2ADU0lHBLjU6avm":{"uri":"/melonJS/docs/melonjs/Entity.html#bottom"},"XeuAxg1gL2JhsHKpDB4sx":{"uri":"/melonJS/docs/melonjs/Entity.html#centerX"},"glgwI1WsN42uM1k79N_Ky":{"uri":"/melonJS/docs/melonjs/Entity.html#centerY"},"URSSfNQQwJgA-v9IIQA0c":{"uri":"/melonJS/docs/melonjs/Entity.html#currentTransform"},"sBjsZj40J94MNYv2rmNCN":{"uri":"/melonJS/docs/melonjs/Entity.html#depth"},"JGRQNZn0zXtIvkNTpPPxX":{"uri":"/melonJS/docs/melonjs/Entity.html#floating"},"bnhCkUZbiJSeQeb7K4ANr":{"uri":"/melonJS/docs/melonjs/Entity.html#GUID"},"Xi15W3fpB6vpnMXLQ_eRu":{"uri":"/melonJS/docs/melonjs/Entity.html#height"},"8r_AsBA0O9FELNqweA7o5":{"uri":"/melonJS/docs/melonjs/Entity.html#id"},"0RE-WkXcVAy3_e88J3o2k":{"uri":"/melonJS/docs/melonjs/Entity.html#inViewport"},"Ttq4PAvcWmEw7-MEr8x_1":{"uri":"/melonJS/docs/melonjs/Entity.html#isDirty"},"L8WIoPzJ04mw4KpVTNUTs":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedX"},"P_zhVcedYj6jrqI5pXkQ9":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedY"},"Rxagk-fUGV4XU0e_QkFlh":{"uri":"/melonJS/docs/melonjs/Entity.html#isFloating"},"t4rx7b-mGBSMjqDOUuxS0":{"uri":"/melonJS/docs/melonjs/Entity.html#isKinematic"},"ANL23J5SSPi22g7uFzkLR":{"uri":"/melonJS/docs/melonjs/Entity.html#isPersistent"},"emSQHmNcbe0bIcTsW24md":{"uri":"/melonJS/docs/melonjs/Entity.html#left"},"IkwlMXaGoz_pbrg2VQZrU":{"uri":"/melonJS/docs/melonjs/Entity.html#mask"},"tSOPulNWKovY5uXNfLUqT":{"uri":"/melonJS/docs/melonjs/Entity.html#name"},"U4-jGbpuH1UEiRkAjOX5Z":{"uri":"/melonJS/docs/melonjs/Entity.html#onVisibilityChange"},"opnPM8Q_ES-M-nG5CkEV3":{"uri":"/melonJS/docs/melonjs/Entity.html#parentApp"},"uS9abE6679Og1oodV9Bio":{"uri":"/melonJS/docs/melonjs/Entity.html#points"},"gu_Ukq8wJ_sRaJC5SFpFt":{"uri":"/melonJS/docs/melonjs/Entity.html#pos"},"xJi6FA5DKkmefB7vI-KD3":{"uri":"/melonJS/docs/melonjs/Entity.html#renderable"},"I4-OFzYKO2PNi1qGV69ZS":{"uri":"/melonJS/docs/melonjs/Entity.html#right"},"ZM-LWLMn34jl9hexiHlTy":{"uri":"/melonJS/docs/melonjs/Entity.html#shader"},"9fwQCx3KzmEp1eO-vz2TE":{"uri":"/melonJS/docs/melonjs/Entity.html#tint"},"qyjOSePhEYehHRpjEjHLi":{"uri":"/melonJS/docs/melonjs/Entity.html#top"},"L3PnyUJULG3m2o5bY7DKe":{"uri":"/melonJS/docs/melonjs/Entity.html#type"},"lnoRyaNlSs_f9uj0xAKlV":{"uri":"/melonJS/docs/melonjs/Entity.html#updateWhenPaused"},"HnuraXHEq5NPid9mShFqv":{"uri":"/melonJS/docs/melonjs/Entity.html#width"},"qMT259xRyUYcsHClIJ1Hb":{"uri":"/melonJS/docs/melonjs/Entity.html#angleTo"},"aJS-a68qc9-Gsuo2CyCJ9":{"uri":"/melonJS/docs/melonjs/Entity.html#centerOn"},"tytiJtq5Ige5r-mK9Gdxy":{"uri":"/melonJS/docs/melonjs/Entity.html#clone"},"vCWExqv0ELULnu4p3hFaY":{"uri":"/melonJS/docs/melonjs/Entity.html#constructor"},"zXd4HNyjj0TufUtkAq2a2":{"uri":"/melonJS/docs/melonjs/Entity.html#contains"},"zHDhhBTTD69uZvIhumKJl":{"uri":"/melonJS/docs/melonjs/Entity.html#copy"},"PLwMbSUr5dzQNRlP4OpK8":{"uri":"/melonJS/docs/melonjs/Entity.html#distanceTo"},"0M_Lkl-tq-tkkw_F6Cd3e":{"uri":"/melonJS/docs/melonjs/Entity.html#equals"},"ZyB5WR7dK4mSWoWsWEqt2":{"uri":"/melonJS/docs/melonjs/Entity.html#flipX"},"79bCeNVLxXCZE5HjcEvNO":{"uri":"/melonJS/docs/melonjs/Entity.html#flipY"},"cgO9edSbOmxAvHNIsbaDi":{"uri":"/melonJS/docs/melonjs/Entity.html#getAbsolutePosition"},"S6-xGO51qiypyGYmT7Ori":{"uri":"/melonJS/docs/melonjs/Entity.html#getBounds"},"5raRuVlN7dY55pXb9DkCW":{"uri":"/melonJS/docs/melonjs/Entity.html#getIndices"},"tIzT8reFzU8jl6V9I35BS":{"uri":"/melonJS/docs/melonjs/Entity.html#getOpacity"},"WwkpYB6Jm5SCwiZ-AlbYO":{"uri":"/melonJS/docs/melonjs/Entity.html#isConvex"},"dmy_k17O_O4ctX1CXg1rT":{"uri":"/melonJS/docs/melonjs/Entity.html#isFinite"},"u-yjycjNVYd7bNlSXF_KE":{"uri":"/melonJS/docs/melonjs/Entity.html#lookAt"},"dU3oFw9rsBjddNcNWWsHO":{"uri":"/melonJS/docs/melonjs/Entity.html#onBodyUpdate"},"6JXiHIx01wkGvuQbpnaZV":{"uri":"/melonJS/docs/melonjs/Entity.html#onCollision"},"YKBUFTLj9YIm9O_sk0GH5":{"uri":"/melonJS/docs/melonjs/Entity.html#onDeactivateEvent"},"xpw6UYbEJ0-D4KrIjtuPg":{"uri":"/melonJS/docs/melonjs/Entity.html#onDestroyEvent"},"-Nurj3_Kyq62lGrbpDqgW":{"uri":"/melonJS/docs/melonjs/Entity.html#overlaps"},"q9ZxoFSA3pER1RXCcW4mo":{"uri":"/melonJS/docs/melonjs/Entity.html#postDraw"},"284HyU8RiXAMJxuw8Du5W":{"uri":"/melonJS/docs/melonjs/Entity.html#preDraw"},"tQuhlkR1yocgSHRb5bnkw":{"uri":"/melonJS/docs/melonjs/Entity.html#recalc"},"-CuS7wyhljAb_Nu0N0VdT":{"uri":"/melonJS/docs/melonjs/Entity.html#resize"},"socjn25xxisD2AX0iA3gI":{"uri":"/melonJS/docs/melonjs/Entity.html#rotate"},"B9QCFO1FPNYGtQL65XwAc":{"uri":"/melonJS/docs/melonjs/Entity.html#scale"},"TtC9mrJWxsOYiLXBYGIfT":{"uri":"/melonJS/docs/melonjs/Entity.html#scaleV"},"rUiA0iV9HHJ6x6ZTBvdUp":{"uri":"/melonJS/docs/melonjs/Entity.html#setOpacity"},"LA4IYRucjyzvlLiC9fM9d":{"uri":"/melonJS/docs/melonjs/Entity.html#setShape"},"FYT2sstK35ydBRHuv6mTe":{"uri":"/melonJS/docs/melonjs/Entity.html#setVertices"},"GPiMNypPvPsLOprWnMUuo":{"uri":"/melonJS/docs/melonjs/Entity.html#shift"},"5z4st8oDN7kbvCte_arAp":{"uri":"/melonJS/docs/melonjs/Entity.html#to2d"},"rogz3R1ImPUQsNtZb8eWk":{"uri":"/melonJS/docs/melonjs/Entity.html#toIso"},"e0QQyDetf2biBCHFEkYwA":{"uri":"/melonJS/docs/melonjs/Entity.html#toPolygon"},"uImnyiSAG-2ArSC3W4quK":{"uri":"/melonJS/docs/melonjs/Entity.html#transform"},"l00q6bOS8I6MINru_aR0r":{"uri":"/melonJS/docs/melonjs/Entity.html#translate"},"MknqvjVNvSdQGRuWLdVgO":{"uri":"/melonJS/docs/melonjs/Entity.html#union"},"LPGPXB4lXUyPILHW9KJOl":{"uri":"/melonJS/docs/melonjs/Entity.html#update"},"g0OqWxBQkXq0bammJ_75t":{"uri":"/melonJS/docs/melonjs/Entity.html#updateBounds"},"grKODGsBYy5EbukadW_or":{"uri":"/melonJS/docs/melonjs/Entity.html#draw"},"V1FsXKZp2HPGN9umrs-9H":{"uri":"/melonJS/docs/melonjs/Entity.html#onAnchorUpdate"},"1NOSlBV7Syp05TIcDImTW":{"uri":"/melonJS/docs/melonjs/GLShader.html"},"epBJy981T7jRR75E0VRMy":{"uri":"/melonJS/docs/melonjs/GLShader.html#attributes"},"dypHcRSOEEBt7yfXNWIDP":{"uri":"/melonJS/docs/melonjs/GLShader.html#fragment"},"j0wD7GiYCt5Y6l22CtVsM":{"uri":"/melonJS/docs/melonjs/GLShader.html#gl"},"K6JN8eyoDKGv871uz6ixn":{"uri":"/melonJS/docs/melonjs/GLShader.html#program"},"d2IbevbMyIHWknwjReGgu":{"uri":"/melonJS/docs/melonjs/GLShader.html#uniforms"},"-zl5TlzIF_cZpvVJMKykm":{"uri":"/melonJS/docs/melonjs/GLShader.html#vertex"},"FSPyMyknMHOzjXkkMHRwJ":{"uri":"/melonJS/docs/melonjs/GLShader.html#bind"},"tJFeepHCY7XvBK-wf5LwH":{"uri":"/melonJS/docs/melonjs/GLShader.html#constructor"},"OUHK_1146uHeuUVlbPstP":{"uri":"/melonJS/docs/melonjs/GLShader.html#destroy"},"9-s6byxjIFFDkm4VPFHeV":{"uri":"/melonJS/docs/melonjs/GLShader.html#getAttribLocation"},"EABX7I0oq0yikm7b9behl":{"uri":"/melonJS/docs/melonjs/GLShader.html#setUniform"},"n3jhYcXUmINdqad_wS-0S":{"uri":"/melonJS/docs/melonjs/GLShader.html#setVertexAttributes"},"EE0jo9ywKHMKWjS4_SzZw":{"uri":"/melonJS/docs/melonjs/GUI_Object.html"},"1To9sf9NJClkGjNpGxCd6":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alpha"},"wHVlhb-xWSp5vAF2wGrlW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alwaysUpdate"},"7-QJFY9s9JAz_GVot8CPC":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#ancestor"},"-a5zaoryGs0Mnbb0dl3j1":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#anchorPoint"},"JHrnxKLUZOwUB9KdF4mvM":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationpause"},"ner5YLbISEoTe2UkPVgUJ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationspeed"},"085jBXmUDO_m_eBRo5IO1":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#autoTransform"},"6ARaXDM4id_Yg6_n5FTgI":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#blendMode"},"EdmSiMl1Xqq-Cgg0PAGYp":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#body"},"Y5aZLSjR_j3OCjoPR3vKr":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#bottom"},"YI6br06_ICAeV8ztSqonk":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerX"},"p45b7kR9-noZU_fhHE6_0":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerY"},"CGmWdaqShbxaBIY1FuaBE":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#currentTransform"},"NL3ByLSaW7mu1DEh0TMUZ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#depth"},"IODd-gL8LzvY0lqs28H-x":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#floating"},"Go6jBJlLhysyRCWveiA6C":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#GUID"},"iocPThyEfXWGZYGdhQQDa":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#height"},"93fDz3GgAQqIKx2nDsOE-":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#inViewport"},"iz0G6DkDZei8S3dyho6Qw":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isDirty"},"eZcGBWq6s2JSoVScLAU8I":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedX"},"RBM4MKkekIMkgCf0G7cCc":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedY"},"YOALkmc52rgPKvn0JC6HA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFloating"},"BJitnD_2JmXJRv9rjJL1I":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isKinematic"},"0O_ZoFEjpX6kf_g1j4Vim":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isPersistent"},"S9C0ZuYb9KfCbqqj42kwC":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isVideo"},"alWcF8um2G1WkuneSiEoc":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#left"},"3PYy61ZnS77L6KYJZkDz_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#mask"},"NgFO_J7vULfVWIxjZLo-6":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#name"},"wbs9iZdGvqa2HNReaY6tH":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#offset"},"DhSHyQPSmYYuIAx1vKjfo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onVisibilityChange"},"lUEKzi7Nl6uqYR4dYO4Ew":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#parentApp"},"ezmhbiXdeqRVQg_7sgvGq":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#points"},"v6gFGfgKfyP9IwjAECvj6":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pos"},"rMOm6IelicJKvyohBK5DE":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#right"},"RV-mRjxO35Rb1I7pUvFru":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shader"},"DgAYdCaX3w9gnW5gZGWrk":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#source"},"O2lazKCbPi58TIAMmzY8j":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#tint"},"UJIhGvzvCBR5GZf3r-BuV":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#top"},"7ea0tGVW3tDj1BoueCTam":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#type"},"bV-fHYCW2LxoBUZZ95P4E":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateWhenPaused"},"-fxXXGyKRM4q3Gko210GO":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#width"},"dLxfU8ksgMeiyLwI1H0CX":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#addAnimation"},"JN1F2S0jJQuJqan8qtnF9":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#angleTo"},"fuZ6om59tRi2HMMwOjwtl":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerOn"},"aC9UiaGg_E3ZHQQ8CZ4B3":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#clone"},"yE5uP8QPwpjXW9dKDpl6f":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#constructor"},"Dcz3fJWh_T8fwBuGG38k-":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#contains"},"njUD1HxgN7Mv9VOeHLjRE":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#copy"},"2-hy9KU5AkjKdTuD98crm":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#distanceTo"},"xNuVwo1b0e7reV_8Qdai7":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#equals"},"4Nts6XVw77MSevvtQIPfn":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flicker"},"C9weVgZmrx3lBJ3JMyGaS":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipX"},"YMQMTi4y7OSqMphhwZO4j":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipY"},"YWdlqAhwA70Z0-A9tTXx4":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getAbsolutePosition"},"ZK9ZTOc8BNKhfKAYoDIT_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getBounds"},"qyvqTqhm_d-c1FYJic6FI":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getCurrentAnimationFrame"},"zqxqAAD5atA879o3V79TU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getIndices"},"JiOYGXTNAmITrPUQ79zd6":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getOpacity"},"RuScD0cgDp4OsyxVOEdZW":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isConvex"},"Hq9gBQ6E9xaQhYh0pfkZ0":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isCurrentAnimation"},"8YAtYXv2v_z0eovE0Ue40":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFinite"},"vZfpD09TxhH-Hz9IFH0jP":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlickering"},"b69Hg81mS975UPiIPeahm":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#lookAt"},"UIZR3FmvYd40SsTpHi-pB":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onCollision"},"IzMt0hM_Zz8Vy_JLpvtXx":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onDestroyEvent"},"9wtDfJlSJeDgO1dxLbfyx":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#overlaps"},"ZAo2tsL52r42I6lsNdy-d":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pause"},"2kbgn_r5vOX9PtCx7rsk1":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#play"},"z6wmjN3kVVuW0pAHjeYdU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#postDraw"},"_Qqd0uKhopYsm4ouXNBuf":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#preDraw"},"ElwultNaJHOTSC4fZl0T8":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#recalc"},"gcx_Q5AMI68fTbLaicEEq":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#resize"},"aOZ6ehSQvxJPCmAhMoPem":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#reverseAnimation"},"oaBLjE12OMCGBCRLFrp8o":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#rotate"},"ivnhFlq4jYPgDelBn7eo7":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scale"},"U6WGPp7XDJfohW7U3GGTJ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scaleV"},"XBwYfAx6vEly3dMwPRFp7":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setAnimationFrame"},"TXWZUYEU59cxxJTnWa2rA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setCurrentAnimation"},"T5ZXkplwT_osX5qfmNKp4":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setOpacity"},"wsKVwr2pJX9y4N27zGHn0":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setRegion"},"e6gm8IGLonVdN6VQBdUPA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setShape"},"qVLk46qVXY_WihjFL_TFX":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setVertices"},"iRp_24AnsGDJu5KE85KG2":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shift"},"-vjB_WyK9r7Wqrozi1l5Q":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#to2d"},"AVneG6gp5-Tzu5DKBOL6E":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toIso"},"h-fRutO_RzXmJH5pnkHAU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toPolygon"},"YyRtQxBhJPcmN-YyfMYcm":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#transform"},"qxHZ9S31yrCgcBKwASzH5":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#translate"},"AMkcG5n8fNffN5VZGTsuO":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#union"},"wjFXZoJYmG7gfvzho7zmJ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateBounds"},"l8w6WauQUbzRLuQC2X_cI":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#draw"},"8DXzb-3s6RXjMu542TFq2":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#update"},"JShOlONH70P9gXBuv6rzi":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onAnchorUpdate"},"eITh3RHyPqaDR2U2lbQLG":{"uri":"/melonJS/docs/melonjs/ImageLayer.html"},"zHDF3cDFVbnPtOm-TcyyA":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alpha"},"cbah9xxIefTUST_AAiDQU":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alwaysUpdate"},"Tw9n635vk01QovJYq-Jp9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ancestor"},"AFt26spMMQhM0c8J1f8LX":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#anchorPoint"},"PiZ9xACPGXG2poRN3NVff":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationpause"},"1kG-vhhTJ0zwOyxbfRT7r":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationspeed"},"0DS6BnGFl6cwhZ1SoLUxn":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#autoTransform"},"RKarHjXtTQaQ5IPvxhdV8":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#blendMode"},"bfQgomAu7w0YWuySAi2uI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#body"},"fUlnBTU1RckKbOCVtDa2_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#bottom"},"gQ4l-iVkD-1dHJLi-rM49":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerX"},"ROJB8MmFtiS-SExk2425j":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerY"},"heVzVqCmoK9n9XCbJmZE0":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#currentTransform"},"D_6ZPI-w6vAN_2tsY5uRc":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#depth"},"AZHdxqQgf5FMONPyLvpUm":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#floating"},"F5oHnNesRDnm9RbqzMAJs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#GUID"},"oscKYsIYAFEfuNkdC4Mnl":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#height"},"52MRLEQ9iDPSFF2sc3gXq":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#inViewport"},"CQKVL7vKo9gwCMbO4vNgC":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isDirty"},"RRx48BVS1S5fwLBmHrSpH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedX"},"CReWbqW3iS3W2ggeoRTf3":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedY"},"NZ6QzPNRJI6l-I_QdTiPD":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFloating"},"SQTEeXic7E4zGVR3K_ZOS":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isKinematic"},"7Acsbyp_ltFjs-sJwSCw7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isPersistent"},"QbcCfuGkL7Y3tXW7WfrGG":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isVideo"},"MaT2YRLnnEJGanAH9qGwA":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#left"},"7nb18JSzb-TAaqgK7cAfJ":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#mask"},"9GxTq0DctkDaaMngg0vrF":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#name"},"Yl_vD7D8cUnVFaltOfFG6":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#offset"},"JnjB8b9VjOe8RSTsIBnsz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onVisibilityChange"},"GVpP91W7Xq9Nn1O_YRfxG":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#parentApp"},"YVf-Wqy6ZunLHjmhFZlZL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#points"},"gePJjT6fao2FShEpkmhmn":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pos"},"_g2qbKZ0DxxBL1noBV9AR":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ratio"},"2ZmVI7nN1-Tezbg434y-o":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#repeat"},"wVJvOO83mZ4I-M8oEyf2a":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#right"},"D7VwIcZTjaT9kpX1CfzNC":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shader"},"50pSjiJrS7Q21rKW3v1Zs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#source"},"nIF5k7rb3M-z0Ykej7GsI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#tint"},"L-X5ukjDMhvPJd4p0zmAp":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#top"},"j7eSyyN5F1_gIQCUNQJA8":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#type"},"GBuiSOp9spcRBj0GZwRn7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateWhenPaused"},"_G1BPl3NfOU78MfjqRQdY":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#width"},"aY43ege2h4SqNcNTj2AJx":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#addAnimation"},"025r8DzN42m9H_fk8gaLo":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#angleTo"},"6QbwS6nurLyTMDhJEDyZl":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerOn"},"lF6Rtccuj6TQg6FBv68C4":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#clone"},"iE6zj0nrB9Xac5RBq9foK":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#constructor"},"HeMhsL1-n2GTFDBAuNHC3":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#contains"},"qnC86dWtgRxrcwxWtlHIT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#copy"},"UtXXBfuwTPr8ht3Fh61Yz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#distanceTo"},"qyrPeqFmTU_12ecJlv_0E":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#equals"},"s8XStDtqcD-c-LDhe8Ddc":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flicker"},"kMj0NDZvhVGpud8X1Dn2P":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipX"},"1ZBz8MvremWLMFfPDZqbU":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipY"},"4vMZPHtIZIG_CzT2QYzVm":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getAbsolutePosition"},"q9QRxZoaEBHtY79dmOGoH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getBounds"},"wruncw7axdwED6DA6_6F-":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getCurrentAnimationFrame"},"E4VN7WhhCpzjNv-_HE9Rz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getIndices"},"cKCg4wNseWMiO4kHDDCv9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getOpacity"},"FRqYN1fs4ph-4Q3db0ivE":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isConvex"},"G8pCqvk9iyCAL1l_j8-Vb":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isCurrentAnimation"},"5l0p8kxV4JOhc2QhL7tK6":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFinite"},"BBaApWYosymStSR6VK8eF":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlickering"},"p2FTuEQk7HDoh06ywvmYu":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#lookAt"},"uHZE1CaZeTN31hd-QTcKk":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onCollision"},"JUG-K6iSjj-oAj8Tj503Y":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onDestroyEvent"},"rps0jQN-fvFTy973cKV9C":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#overlaps"},"1S3R09-cpHVRFyo78r9xj":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pause"},"dYAGkXGcosrTcwDW87-5k":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#play"},"1ftWw-6AKpgLcc-cscze_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#postDraw"},"hgrWYwvMae8omS3UUhPkO":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#preDraw"},"VhAL-X1ZaAX-CgrcnTtzv":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#recalc"},"rS6If0ZhHSGiYG6riXQUb":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#resize"},"Tuad5-_rXLxvPpT4R96vj":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#reverseAnimation"},"K1p42EZQSoKq6jA_klx_w":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#rotate"},"ybxSgQk1y4WW8sRP4ruBD":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scale"},"5g2awaW-1qY25TMJ_ZWYK":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scaleV"},"mYwoHQvBooJCE_gk9qav_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setAnimationFrame"},"VTaPLKngy3dkyLbKo6nf_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setCurrentAnimation"},"L_Al_K8tnEgvFqIQnHeiw":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setOpacity"},"73G2TGv9TpymTmYk9pnGU":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setRegion"},"z_TWV9IImdZ4ALe6roPeB":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setShape"},"dk4s8ydsjx5s9k_x5RJYz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setVertices"},"bk_fZZePa-YVcNsjKHv9f":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shift"},"ngzxdIvHIWbuFLs3NdVaw":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#to2d"},"QY2_YLVMPguXQiJpFkXI-":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toIso"},"wrTxMzBnTokC1svwUKtyw":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toPolygon"},"Z3RADKJhcdUbyElkCBDIY":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#transform"},"SRlfIg2Hm0rBfz_z86ket":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#translate"},"51xPnkfU9P0zm-Q0cnI97":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#union"},"KhwMooB6639dkvRWN9sP6":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateBounds"},"x4SRXhnVtMtsZHmL9VA5K":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#draw"},"uTQIRjWQ8jJt4aOGRw1AG":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#update"},"SYe9chiPMJ6ZgQjbdsVqh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onAnchorUpdate"},"noGLldaQPOuRk-3WNXT2f":{"uri":"/melonJS/docs/melonjs/Light2d.html"},"vjg393upW6MvE2RtKTt-7":{"uri":"/melonJS/docs/melonjs/Light2d.html#alpha"},"oSGeaO-ehKQjiPSP54to3":{"uri":"/melonJS/docs/melonjs/Light2d.html#alwaysUpdate"},"Wo-6FYpWSSCvD7RRH_auK":{"uri":"/melonJS/docs/melonjs/Light2d.html#ancestor"},"fEqu-m4gme2-jsf7FfXu2":{"uri":"/melonJS/docs/melonjs/Light2d.html#anchorPoint"},"QQHSgjYVD3PyZTUTBY7zR":{"uri":"/melonJS/docs/melonjs/Light2d.html#autoTransform"},"UeLGMT8MX_NcRU5Kt_DQ8":{"uri":"/melonJS/docs/melonjs/Light2d.html#blendMode"},"ETfCy1zyLU5_rk_w816sb":{"uri":"/melonJS/docs/melonjs/Light2d.html#body"},"XIA6f5JQSWkRmFiHMBhFS":{"uri":"/melonJS/docs/melonjs/Light2d.html#bottom"},"Dgx5iwsKuZ57CK5QC-xyz":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerX"},"RuS5JiUr5bjF-Df3w8HRo":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerY"},"BLVp1jJ_L8F6ysJUOfb-j":{"uri":"/melonJS/docs/melonjs/Light2d.html#color"},"LxXNMtkWPnUD_RhyThs7L":{"uri":"/melonJS/docs/melonjs/Light2d.html#currentTransform"},"RbR7Kn9qyj9PaHhSkqgqb":{"uri":"/melonJS/docs/melonjs/Light2d.html#depth"},"3bu1kZJqPw5O4ZDrbbHXc":{"uri":"/melonJS/docs/melonjs/Light2d.html#floating"},"X4GLQJEaVsausHMe9DlGz":{"uri":"/melonJS/docs/melonjs/Light2d.html#GUID"},"7jZgWbUsdtYl6b_9VlMPh":{"uri":"/melonJS/docs/melonjs/Light2d.html#height"},"4K1c53-aUfL2DSs7-D31T":{"uri":"/melonJS/docs/melonjs/Light2d.html#intensity"},"U77QyYI4GX90uxYjhxG5E":{"uri":"/melonJS/docs/melonjs/Light2d.html#inViewport"},"4XhRE1cHVQ2aTtz6hcaz7":{"uri":"/melonJS/docs/melonjs/Light2d.html#isDirty"},"GwpPW8sWDuIUYNcxCNXqq":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedX"},"vNl2SIwBUaIH2AsxwjTAq":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedY"},"fseY_ad3hvI6eTPkxKVMG":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFloating"},"lnup4AAPw8WZ_CN9u40G9":{"uri":"/melonJS/docs/melonjs/Light2d.html#isKinematic"},"mA4ADAO3MQP7DZViD3POC":{"uri":"/melonJS/docs/melonjs/Light2d.html#isPersistent"},"Aqz86F2jlU_6vhgmKzLRx":{"uri":"/melonJS/docs/melonjs/Light2d.html#left"},"ofyWY5gtaINcmjSgjHLBM":{"uri":"/melonJS/docs/melonjs/Light2d.html#mask"},"boYJQajV3rGW12rj8fdpn":{"uri":"/melonJS/docs/melonjs/Light2d.html#name"},"VBrGsPPRsIZd3Q9aO96FU":{"uri":"/melonJS/docs/melonjs/Light2d.html#onVisibilityChange"},"PZL9p1W-bY-qKWkHQDgmk":{"uri":"/melonJS/docs/melonjs/Light2d.html#parentApp"},"ejQaLSO2XydEQokEFmSRh":{"uri":"/melonJS/docs/melonjs/Light2d.html#points"},"5SURbFdeRqpN_o4jUPK2J":{"uri":"/melonJS/docs/melonjs/Light2d.html#pos"},"jJeDL3tzce8JbFHOpl8-o":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusX"},"Ad98GmklKIqGB_ENEIfZt":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusY"},"rYWtaZjOE9LFAWBi6PlZL":{"uri":"/melonJS/docs/melonjs/Light2d.html#right"},"i8pT2A0Bvg2pH36LpzM9K":{"uri":"/melonJS/docs/melonjs/Light2d.html#shader"},"kfDQV8qbNkjibO_tdOBJJ":{"uri":"/melonJS/docs/melonjs/Light2d.html#tint"},"UGdiv3cCLWExESgLiJTH0":{"uri":"/melonJS/docs/melonjs/Light2d.html#top"},"xgwCBbrx9SWnj5cODy8wG":{"uri":"/melonJS/docs/melonjs/Light2d.html#type"},"ERdP31D5a4SrDvdlZFmHx":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateWhenPaused"},"ECoct8tRTnnhRGlsV8bzv":{"uri":"/melonJS/docs/melonjs/Light2d.html#width"},"LiGzpMeB6l1dB22SxdKs5":{"uri":"/melonJS/docs/melonjs/Light2d.html#angleTo"},"fk2WqUAFXkkJigS5MQetG":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerOn"},"8F0m5JTMI_ESFS4yIqZs9":{"uri":"/melonJS/docs/melonjs/Light2d.html#clone"},"3IzcM_P5zcdU8HItaPLjB":{"uri":"/melonJS/docs/melonjs/Light2d.html#constructor"},"4zgWIq6sjlDw9D2dAYqpJ":{"uri":"/melonJS/docs/melonjs/Light2d.html#contains"},"i-MJ6u_84aGDy4v6GfPx2":{"uri":"/melonJS/docs/melonjs/Light2d.html#copy"},"b5ao2Ti-_7VrNfndEE_Jj":{"uri":"/melonJS/docs/melonjs/Light2d.html#distanceTo"},"Sm2434h4aASxDFR44vWQl":{"uri":"/melonJS/docs/melonjs/Light2d.html#equals"},"uybTAtNndhQOfrSrXNaW9":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipX"},"Ec5KVjoaKzef13eOIo3IO":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipY"},"fc43-nRvBLF8ddHap4rtQ":{"uri":"/melonJS/docs/melonjs/Light2d.html#getAbsolutePosition"},"49DMoXTA_dhjKzdQpC93N":{"uri":"/melonJS/docs/melonjs/Light2d.html#getBounds"},"PNGhLj6bReoX3_arCkyaU":{"uri":"/melonJS/docs/melonjs/Light2d.html#getIndices"},"lXtP5j0hN1QUAH3Wd_VP_":{"uri":"/melonJS/docs/melonjs/Light2d.html#getOpacity"},"lSvpyhGExDPPmyN9aP1Ex":{"uri":"/melonJS/docs/melonjs/Light2d.html#getVisibleArea"},"nQ2-EhSPMFKcEFUv2EVwH":{"uri":"/melonJS/docs/melonjs/Light2d.html#isConvex"},"wUOwy8HQUGTfh9gmHQH9p":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFinite"},"eGYDQBTtzEqnwPddOXKy2":{"uri":"/melonJS/docs/melonjs/Light2d.html#lookAt"},"pQwsIx27OkP5c6cu2oQwe":{"uri":"/melonJS/docs/melonjs/Light2d.html#onCollision"},"HyQAvcvZ7XNKPW0ykiQaY":{"uri":"/melonJS/docs/melonjs/Light2d.html#onDestroyEvent"},"soW0Lf2SaMrBOA2Z6uxLA":{"uri":"/melonJS/docs/melonjs/Light2d.html#overlaps"},"odRwyzykp-fT1xqBd2jWW":{"uri":"/melonJS/docs/melonjs/Light2d.html#postDraw"},"AbTHBksvqoSPbaEMQrJUs":{"uri":"/melonJS/docs/melonjs/Light2d.html#preDraw"},"krFL35z7Nm8kIdEYwcTGP":{"uri":"/melonJS/docs/melonjs/Light2d.html#recalc"},"52Pp7qZd7JvVhYkx6f8WE":{"uri":"/melonJS/docs/melonjs/Light2d.html#resize"},"kWQiSEGwuH8PI1d3Kt1en":{"uri":"/melonJS/docs/melonjs/Light2d.html#rotate"},"SQScEI4DEOdiXmftUa32R":{"uri":"/melonJS/docs/melonjs/Light2d.html#scale"},"pzNa-G4wdFCdpfexSPWym":{"uri":"/melonJS/docs/melonjs/Light2d.html#scaleV"},"4jBuX6EH1xFbeg4pWJsYr":{"uri":"/melonJS/docs/melonjs/Light2d.html#setOpacity"},"EjvMLkptiVkw0sRe-YeOk":{"uri":"/melonJS/docs/melonjs/Light2d.html#setShape"},"kHQa4EzCHxQ-NHdnnVXmL":{"uri":"/melonJS/docs/melonjs/Light2d.html#setVertices"},"yBZMr7UJk21B_wIh6gBjF":{"uri":"/melonJS/docs/melonjs/Light2d.html#shift"},"eREA1vNktVkPTVkolhvjp":{"uri":"/melonJS/docs/melonjs/Light2d.html#to2d"},"bYZtyYCOttd3mWxV3Lsdw":{"uri":"/melonJS/docs/melonjs/Light2d.html#toIso"},"qgVCb-NIprlTUh0w5zViu":{"uri":"/melonJS/docs/melonjs/Light2d.html#toPolygon"},"JW5QINvPR1vlG4rmUvDTZ":{"uri":"/melonJS/docs/melonjs/Light2d.html#transform"},"I5VscjQFSFTv7mwfnaWHJ":{"uri":"/melonJS/docs/melonjs/Light2d.html#translate"},"9r5vjeA9WhHFGHW8VMJzk":{"uri":"/melonJS/docs/melonjs/Light2d.html#union"},"eJD4stNOUJi3-30l7gvV4":{"uri":"/melonJS/docs/melonjs/Light2d.html#update"},"U2wwfV1ltQOS8NRE1MUlT":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateBounds"},"U1dv39LecAhR7Y-aRum4Y":{"uri":"/melonJS/docs/melonjs/Light2d.html#draw"},"t9i0ZR6PxNjRecQPjY71T":{"uri":"/melonJS/docs/melonjs/Light2d.html#onAnchorUpdate"},"COtIvvfgs1u2aWSXprvSM":{"uri":"/melonJS/docs/melonjs/Line.html"},"M7jk4i85n_6Ycdwrl9uzu":{"uri":"/melonJS/docs/melonjs/Line.html#points"},"IDozLbRXI471L2TTKOkhQ":{"uri":"/melonJS/docs/melonjs/Line.html#pos"},"rYdc6_bBXS1HQYK8A6KvL":{"uri":"/melonJS/docs/melonjs/Line.html#type"},"cWd0b6onpvmVoqwZIn_t4":{"uri":"/melonJS/docs/melonjs/Line.html#clone"},"iM_VludptIOqb8h0kcKjJ":{"uri":"/melonJS/docs/melonjs/Line.html#constructor"},"1Vzptj2VbCa6evR1Yup55":{"uri":"/melonJS/docs/melonjs/Line.html#contains"},"INmJhcEeiMldkigz4dZgS":{"uri":"/melonJS/docs/melonjs/Line.html#getBounds"},"aSTAdAER7rDGIclnotJ7f":{"uri":"/melonJS/docs/melonjs/Line.html#getIndices"},"Yz3ANeab0oxsC02FaC4gG":{"uri":"/melonJS/docs/melonjs/Line.html#isConvex"},"5sx-FiiOvwQKQ7nivC6zy":{"uri":"/melonJS/docs/melonjs/Line.html#recalc"},"DoFQyZEpirThBbSVypiik":{"uri":"/melonJS/docs/melonjs/Line.html#rotate"},"5jVTedqxvpPO_h3c4PSAQ":{"uri":"/melonJS/docs/melonjs/Line.html#scale"},"aMvEjFq_zqZ2N-kNLE9XX":{"uri":"/melonJS/docs/melonjs/Line.html#scaleV"},"xxYpfmo9g8aj-MS0KT72i":{"uri":"/melonJS/docs/melonjs/Line.html#setShape"},"wlrIfozL8aJrHLoBnpC6p":{"uri":"/melonJS/docs/melonjs/Line.html#setVertices"},"G3z9NypqBM-pJOeRpNaLK":{"uri":"/melonJS/docs/melonjs/Line.html#shift"},"e35qWn0FEQeG3TGYALTyU":{"uri":"/melonJS/docs/melonjs/Line.html#to2d"},"zMt_VzZftY-0L7ZiE2Uan":{"uri":"/melonJS/docs/melonjs/Line.html#toIso"},"qvTzWmxnsTnQsdhKEaElh":{"uri":"/melonJS/docs/melonjs/Line.html#transform"},"VF5-WSwGXy2rhZUltCGoq":{"uri":"/melonJS/docs/melonjs/Line.html#translate"},"VSaPmQAYK0EarBV0ee5Oj":{"uri":"/melonJS/docs/melonjs/Line.html#updateBounds"},"SFQuwuHmRaqaTujbFnt3p":{"uri":"/melonJS/docs/melonjs/Matrix2d.html"},"vFjc1ZLQQUk-6O-beuNJk":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#tx"},"06-cVWykxwz8nDTJntnDZ":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#ty"},"ZeX7UvBfwZVuwMkTMTKmO":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#apply"},"nZ83U9z1UUe1xuR09AAcz":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#applyInverse"},"gAadittTpiO_uAD-ImB15":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#clone"},"siLP4o6k9Op5xK2emyBrf":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#constructor"},"SZ2hURQV_vfrZsLKYo6d3":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#copy"},"-uGu4GEQcnl-xFbP99bUM":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#equals"},"pU0dGl-QPBmx2Z03Jjf_S":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#fromMat3d"},"jGcbnRrguwh_5vtPxCwUE":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#identity"},"jnYagCLsS3fZSk10BN8av":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#invert"},"vXkmzBLL3QTAdzkKzzZPy":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#isIdentity"},"emhfgfnnqIlCSmZFrPRI4":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#multiply"},"6el8yuK1KAGX5Gmp9w0vb":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#rotate"},"2njlXXTokyE44hpA8t2gS":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scale"},"ZTgu0d4X6W0QHnJQtYLs_":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleV"},"qNQlITJuvheY9TcSemrh0":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleX"},"8lol558wXZoTHzFKCuUug":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleY"},"fiUgUNnHnucry8HhaDReW":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#setTransform"},"gfuAdwjo5KKTheqhFWJ7g":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toArray"},"PFVT4UU9YEHtrtJHlh1pn":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toString"},"ZhTwU2kG4qEOhiLEaIPTP":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transform"},"5mNP4NeBnfx3BXd6yv8Ep":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#translate"},"LgkodHq9qYPT1mzmlIAtf":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transpose"},"OM-m96zjY8L5ECBAMnplY":{"uri":"/melonJS/docs/melonjs/Matrix3d.html"},"Y3c7gnJGU4cPWbpKkPOn1":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tx"},"b7mERLvx-kBoZll6_3qcD":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ty"},"xOfGhoHsI7H5kWx56lFgv":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tz"},"zRbtFibp3ewPk702Iu0fc":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#apply"},"l8tcL9yi5v3IYgHxiqmTQ":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#applyInverse"},"5d931hpCUqQ4CO-I-rtgD":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#clone"},"YXEGh1mj6YXx3QRsrG-2G":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#constructor"},"DKFGDsCa6QNh3vA4yLC7c":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#copy"},"EH4TXxd8qUaKrOzDQ3vM3":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#equals"},"sWV33wSFmHwDqhWWoTyQV":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#fromMat2d"},"x9D3xK3zUEPe8kcUnGjLS":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#identity"},"agFLeo1AedVRi0PngofUR":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#invert"},"z_EwDQKLhiUDCrUIEyqSI":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#isIdentity"},"0BPCEIaU61F6jBK_Jp5bX":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#multiply"},"lpxKopXqdivxUw3u1riTY":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ortho"},"fbs8BWU_qi-RnFd0qEV3O":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#rotate"},"Q_hzt52myr1IHTn0i-gec":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scale"},"_IGGcxebMYXrCssLgZbQ_":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleV"},"S1krKGgC7t06kM7qGJb18":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleX"},"GsBC0Ihj9hhWJVBUoe007":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleY"},"xAtwuIOjhJ1VSfqGsM2sZ":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#setTransform"},"T0sx7i9vByoYKQN4Ku3Ve":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toArray"},"3OCTOy_ZM7n5nWSwFbeTt":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toString"},"ilkdAn8tikIiI2g7VNqk-":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#translate"},"J0JKOvI-gTn1D-f_Y1ui5":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#transpose"},"xN6gXrIjpPX4SAVR00Z9j":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html"},"A9fwP6sSoZj4-tRubMD4G":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alpha"},"UfQY5p8xGzdEkpJSECjYB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alwaysUpdate"},"_e-QOdVOixcekQ2-_RV7V":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#ancestor"},"GwAln8ISx1ExY5bWDFDlU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#anchorPoint"},"g2FhREyNszhIhbt2WURvI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationpause"},"uLvdzUdROZrRZBSlzt0GC":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationspeed"},"b4hjqHAOFNtQo2HzMGovw":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#autoTransform"},"TS3e_M7LSR64ftlGGPDzM":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#blendMode"},"V7B6Aj-1qpE-89F_xCvmz":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#body"},"vwuWEcYziZngzf0fiwQKD":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#bottom"},"WM1SoNoyz75zFHzFJC7UJ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerX"},"RPTKVr8Z1Q0Lyvfy1Cf19":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerY"},"zeodUsaMHy-kUSJYAx0f8":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#currentTransform"},"EufR3d8wBxtW1nxqxlfeT":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#depth"},"5YJj_vv4yFDaHPCXczrtg":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#floating"},"RRyp-spgmn33h3ZwyKvN7":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#GUID"},"LUwEcm2_Y93mjoojKA3fe":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#height"},"19HJzqeo-SvQ0hxagwHTe":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#inViewport"},"R3OGXDHHZ-r2WDlhKNtRU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isDirty"},"_JU5plt7WyfW57yH__nPE":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedX"},"ai-HcyH9C5gZjUCyVJM3p":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedY"},"-h0X3caVSaPnUydXPEDFZ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFloating"},"Wiz7tzEsE3_2hi6iydB9G":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isKinematic"},"iDc8foLokpt79OyQJ6c3U":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isPersistent"},"rKqrv4MHF7u1TKXHel3oY":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isVideo"},"03Sv8UPb1ipfcs3JAwi-x":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#left"},"oPuZ-F7G5HxjQIfKJky3M":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#mask"},"eSpzz-elc_Sx72XsfKYqW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#name"},"g7xlMyxD5Zhlcurj5gVfH":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#offset"},"jw5Wt9EOmM5jNSzy80J0Y":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onVisibilityChange"},"SRfji--fAjGYl7wU65ah4":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#parentApp"},"UQTlYcMOBxH_s2qtROCDL":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#points"},"EoKS7BUXSVeJKoSnnAa_e":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pos"},"K5VC4VQZMwJjyACb4DKP2":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#right"},"ExlsN0Cc5CZUCQ7843mbb":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shader"},"5vnoQ1d0Vx5AhJlBBu1Yo":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#source"},"liPccBk9f5xik9coaMEUQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#tint"},"3nG51fOf4Z9iAmU-tQJXc":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#top"},"ih2PL7dudR2iNRrWXp3as":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#type"},"2vO5U6QFZOhG7h6NsrQvC":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateWhenPaused"},"2TXEK4oHA5H1KvqrLOVoQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#width"},"_0N87I3Zi2Dq9XUF4QQKX":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#addAnimation"},"RHRGq2x3PG9k3NYP-Drxm":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#angleTo"},"rv7Q7W8sn8L2UIREy2rI4":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerOn"},"SfOXS8000TLab3DJmZ-KU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#clone"},"ADBZStG_zCc7jotjy65NL":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#constructor"},"oSM9eAZ5ibHnuHzjvN9RX":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#contains"},"YKBJyqgEIQ-Ie2EtPacRQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#copy"},"MgCtdYukh5KCd1NNU9eoP":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#distanceTo"},"m-wJAL541EonhAjx9Tk-1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#equals"},"_mlhqlU1xV-rrnHeF0sv0":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flicker"},"KjUzyMEgqHVmUynM80Zq4":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipX"},"A_iw7oilWKCXYW3Gi8H_b":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipY"},"ffayADLjwFp9cL_QyeGgU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getAbsolutePosition"},"gX4VKDD6Gooxk78YqiMDM":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getBounds"},"vjPbXd5uWU4y6bq4TaCRl":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getCurrentAnimationFrame"},"jXPRvj2tnuQej7sH_2fH0":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getIndices"},"KBMDAvUTl6lkiIIPDD_3D":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getOpacity"},"6vfMX4YvYAx4f0rAgEtHc":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isConvex"},"P_2P7MjFXcQkKCANm1sBf":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isCurrentAnimation"},"F8z2UnYSZ9QfK84d_nAW1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFinite"},"-omeVWcPwszXTcgPV32dC":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlickering"},"ujr5iZge7Jx4u64GVdIxT":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#lookAt"},"uuzZh9JusPiBZ266aXOn8":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onCollision"},"KZKoEtqIcBha7JYDyDDI7":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onDestroyEvent"},"s3Ed6xv18OoabYJi6OLZO":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#overlaps"},"ILqs-adi-YCzMuq7VMTWa":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pause"},"fCJ82MGcV-S-BYc1m_hUO":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#play"},"5WmwtfRqjPp5Pu9ztjAjp":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#postDraw"},"fmOyCFqOV7weviLZlohwd":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#preDraw"},"-NImivSNMS1Ys461RKQVO":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#recalc"},"P3c5vrrWAQ6Vyr-2hw5Pg":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#resize"},"OSpiJwLRLIt-RCt13f07P":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#reverseAnimation"},"V4YeVPkDWnkMwttQccqEk":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#rotate"},"7wYipuLv3BosHH2zfDwlE":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scale"},"fYyHWfXUQ-myiOCU23t-P":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scaleV"},"JyyKpWL2K9w4_jF1puX3u":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setAnimationFrame"},"brHPhNSxwqvMgKSPSaT9d":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setCurrentAnimation"},"TYjp4IlCGV7hRuzxvWgRW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setOpacity"},"duoiXNz2iS5OfUXbCNUvv":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setRegion"},"-v_Cs0JqhvtHw1R_5hkkN":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setShape"},"rOEU4RevnQaEx1mXfpvAP":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setVertices"},"uE_iKZ8P4yemRlfPQPobh":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shift"},"movrtfyjSDDUzhaEGIqb9":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#to2d"},"_pwClm_gP0Jp_QMJeYi7q":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toIso"},"IHSSkMgFxmdc0NwTyi31S":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toPolygon"},"Q9GZ-HUOFL2iobawbqsDe":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#transform"},"8MYzM2bbujhcA8rygOBys":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#translate"},"mZXDuphmLpF89XqX0Y0DB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#union"},"-UNyawl_BOVh6_kkFnWEI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateBounds"},"byDw2qn_NrI73hxKHrpJr":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#draw"},"eIFc1Msf0-bav85OG9fDQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#update"},"sEnc4Gpu7BNU22vG86D-f":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onAnchorUpdate"},"rYVfjW_XIBgtt8TPNULiZ":{"uri":"/melonJS/docs/melonjs/ObjectPool.html"},"IF0_53tf3NUUR3f6qj4ou":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#exists"},"EbclL7tyQiBLziLHXZ25V":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#getInstanceCount"},"zBFG7K9oMEimcLI6ny4jR":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#poolable"},"8Y142s6d7zhSkm5oeu3vP":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#pull"},"w0HOe36Bk5jzDLjwLt_w8":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#purge"},"ae5rqypvAiwWp7kpcTsk4":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#push"},"ol4Rc2CyfdMViMts_1rqS":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#register"},"sefykTfInqrp6DDRaPdwt":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html"},"a3g1edHehxsH3SZF4vkG4":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#x"},"eJ89aBO_oXybucuBjr0Z7":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#y"},"6RoxT1Qg2N5PtD0sP2_Hd":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#abs"},"nNjdZtYw0hBKc8tkwSEP7":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#add"},"qLarB8ZZ02MUZ_yUeaDh0":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#angle"},"2_7-l7wTnwnuaRwBKgGTO":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceil"},"52HFJ_cAdScms6ERpb-ec":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceilSelf"},"ykx94Eh01DLZqwatx-oYv":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clamp"},"9MzqNgJSnaQbRrtho2a3D":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clampSelf"},"t9_YaCP8lcyI3BRP_wdpL":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clone"},"QQP-4B96G_mynpKzMfUE3":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#constructor"},"O4RqzEI2osjKKf85GskhO":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#copy"},"Gx75XvU6_iuL64xyqbVGc":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#cross"},"amI4inW2AVDcSOHVBR-jP":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#distance"},"feX6iwXKq2W6F9ZYMO5nS":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#div"},"xcAOWCb5joiM_UXd6PA4G":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#dot"},"xHfKX0mhU8ooVUM1jY1zB":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#equals"},"aW0DSOggMfRUl3bXa-QVX":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floor"},"tJOexbV1Y7-fKtzL4LMhH":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floorSelf"},"DFJQ7BDmBCkvcazENMs9_":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length"},"zHH-05RGORXBeB3gHDUAY":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length2"},"E-b8Wqnz_iy-OzPhjWcJW":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#lerp"},"Vgb9AFKKZt7MuJGK0ujXy":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#maxV"},"PsgZ3SMemSHVd5mHRrEax":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#minV"},"hW6W_ulK2kPIZaO9ys4KL":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#moveTowards"},"tUQKnzeUBKimqPTg_Uve7":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negate"},"a-C3yZArgMHC-ALP85CKz":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negateSelf"},"7o17Uh7CqyplYLWWGGDat":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#normalize"},"pMkdexw2QNgXysjGyl4Ep":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#perp"},"KlbpHahC7BaGKenLcQXhH":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#project"},"gjDfJOpyg88Z9Lyb4EOZ-":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#projectN"},"C4BZ0r9deZf9mWNGkwX7p":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#rotate"},"lD7Vt_pxilHUbPxaLQiGn":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scale"},"aKB8niIWqa2co5FawFIpC":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scaleV"},"Oj48ETZCnYzFvQIzjnPBO":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#set"},"bvCXupSqs1GOgs6CWf4Hv":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setCallback"},"A-N3UXNiv1eBNUn_MThvE":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setMuted"},"kcDfnd4Qsw5rv_Py5pbRl":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setV"},"71FnZO0nCjUhQ_0gdbNOX":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setZero"},"4zBvKsAYglK6IRsRpbHyS":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#sub"},"FF8OelsjgDDR4yJKAEldp":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#to2d"},"160YR8OBoEqvbIlbs6WZ2":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toIso"},"eaIkH37PS4_IJyhEZbwzj":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toString"},"YAXPJe32TFlZ74vMHgJz1":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toVector2d"},"3ZnZvHR6V021PuU3iQdD-":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html"},"mnbRmIT5XnFtB3dfcJji2":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#x"},"GGPirL7MX1tCE508k7_Fv":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#y"},"dthJWpBG2IlXPdWpjOhfa":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#z"},"gSX8wOEY55sFNdOC93XqI":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#abs"},"5BmLOwxE5PscFFAzCA3Nc":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#add"},"dbn8LdE0Ury9st8OIXQI2":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#angle"},"uzz2mfji6jRpfYbzZCOZX":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceil"},"LkyEFeisMwtAwHwZ4hyxJ":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceilSelf"},"O_vPbHq5dcSO-0Ez6qbbf":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clamp"},"J-nxEOYHk2WnCbey80Pvs":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clampSelf"},"pzUyfIKMSGADLWu1eSgcX":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clone"},"CmxQzzFInAN60x99HQnS2":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#constructor"},"feQxqy1_OOby0xfjWk4tj":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#copy"},"onR0-3xeRstReTFjIcYoq":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#cross"},"K5TnBKHUK_uCcJLV-gCeg":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#distance"},"agQnBrB_0lC6v7C9SaMLh":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#div"},"C6-K4zerP6g3JDJv8qeAT":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#dot"},"m5XVRSF5BKef-ridsbz_D":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#equals"},"9IcsAo2zTPm_x-X5mg3EE":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floor"},"9BtoHUh37UFfozsjMEV7x":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floorSelf"},"STeJRfXqUvgqMhAszPQe6":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length"},"Zm3OJhdgwijnWMU_zbb7B":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length2"},"gvAh-2lTF3Uwv0MQYzXYF":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#lerp"},"wNxO1e4r07OQs-7549wJg":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#maxV"},"T0DZhgtgMksEGsyqOCBIF":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#minV"},"okWP0ogPkdXL7XEekEDpd":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#moveTowards"},"auyTOZ5NTrR1-8A5P2yq6":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negate"},"x8UUfUhJDfbskmG6E06DY":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negateSelf"},"s051UjcoeGak5C4UIHQeJ":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#normalize"},"8zw_gCklkrDovt4S6omN_":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#perp"},"B_hxSV6pZpoclyf9UY0Ji":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#project"},"33iZW332r5ZJKGuehKBiF":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#projectN"},"DKQIS-rgVzRGzp9jSOaiF":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#rotate"},"GLO_GFhk4NBpZgAeCwOxs":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scale"},"kPlRnnlEFEuvXPs_sAUvh":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scaleV"},"9qM_fKi5l_yHwAihZMxk5":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#set"},"iYaEOc0gYxI3uUpBSxjxx":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setCallback"},"uHQVqsnt5It4TqiQ_P-IT":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setMuted"},"tswBQTHx065R9pZdIU63_":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setV"},"88o1jNPkV4GGHmIl1OMEG":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setZero"},"7DJr-yAey4wc_anm5Q-KQ":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#sub"},"9WlWA99WuW6uq4CQnIpr_":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#to2d"},"a1puV2Rc3jUqwcbsceplM":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toIso"},"e1YQc8DpRVeWooQbW1Edb":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toString"},"ws7kkjNy3expmRwk1SDbx":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toVector3d"},"3Vo4mbMce-ofAXxivVpX5":{"uri":"/melonJS/docs/melonjs/Particle.html"},"MnLSnzeS7sEVpMxwX57uW":{"uri":"/melonJS/docs/melonjs/Particle.html#alpha"},"jn4vJU4S0JVoSkc6ntG_w":{"uri":"/melonJS/docs/melonjs/Particle.html#alwaysUpdate"},"cc3VHPnba-M2aqD6YkwEH":{"uri":"/melonJS/docs/melonjs/Particle.html#ancestor"},"Eg4oLTHNctE5T9oQ9Xvw2":{"uri":"/melonJS/docs/melonjs/Particle.html#anchorPoint"},"Rpf9qk0re_spPrAejta3I":{"uri":"/melonJS/docs/melonjs/Particle.html#autoTransform"},"R17pVxM4y83aXFzfBxUcI":{"uri":"/melonJS/docs/melonjs/Particle.html#blendMode"},"FgGZF9i-OZ3vqZp4PirMu":{"uri":"/melonJS/docs/melonjs/Particle.html#body"},"3NyuZPRKeuBIarDbRApkt":{"uri":"/melonJS/docs/melonjs/Particle.html#bottom"},"M0YT3aKWomdP6nsLe-yic":{"uri":"/melonJS/docs/melonjs/Particle.html#centerX"},"tJtZhVqZ4QJ46O6N6e2rB":{"uri":"/melonJS/docs/melonjs/Particle.html#centerY"},"oYRUVoJRvzQLih7Nm0emH":{"uri":"/melonJS/docs/melonjs/Particle.html#currentTransform"},"B-iiihINGlx-RlRpQrq5g":{"uri":"/melonJS/docs/melonjs/Particle.html#depth"},"dp3KMEzw0hyBh_mdU7Ykr":{"uri":"/melonJS/docs/melonjs/Particle.html#floating"},"K8oG2StPaw9_ipuJSjHaJ":{"uri":"/melonJS/docs/melonjs/Particle.html#GUID"},"CHCwyD4xKXzfqfjaJAbUP":{"uri":"/melonJS/docs/melonjs/Particle.html#height"},"ZM4teCLxAhYxM5PAFsgiC":{"uri":"/melonJS/docs/melonjs/Particle.html#inViewport"},"yhpP8UNmOXwurU-PHQWmz":{"uri":"/melonJS/docs/melonjs/Particle.html#isDirty"},"4Z0l6sbylDD5QU0N_fsKe":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedX"},"7sl2aPHNftkfkCObxp-I4":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedY"},"Ys3Kg1D0clWM4L2ObZbNY":{"uri":"/melonJS/docs/melonjs/Particle.html#isFloating"},"ygDdlJQyMNDJXaxgkWhd3":{"uri":"/melonJS/docs/melonjs/Particle.html#isKinematic"},"xefN2c5MPBIQs3iz7zR5d":{"uri":"/melonJS/docs/melonjs/Particle.html#isPersistent"},"EVPY_FBXsTRftQQWKFV1N":{"uri":"/melonJS/docs/melonjs/Particle.html#left"},"C2ERqMdHGnQyak8zE2Ua3":{"uri":"/melonJS/docs/melonjs/Particle.html#mask"},"s3SeXEurA7pQ3AxHTnkMy":{"uri":"/melonJS/docs/melonjs/Particle.html#name"},"swRMWnLbBXncs8KBjCilM":{"uri":"/melonJS/docs/melonjs/Particle.html#onVisibilityChange"},"HMGUAZ-h4rXB1isMFfwtX":{"uri":"/melonJS/docs/melonjs/Particle.html#parentApp"},"XcufM_ByUMpiqWDs8hyI6":{"uri":"/melonJS/docs/melonjs/Particle.html#points"},"pH28Klpqg9Ab1bqWBH8JR":{"uri":"/melonJS/docs/melonjs/Particle.html#pos"},"hhb_30QTATEUTiA9GroIe":{"uri":"/melonJS/docs/melonjs/Particle.html#right"},"cUfGLitXOrhU-Y8f8-9vl":{"uri":"/melonJS/docs/melonjs/Particle.html#shader"},"Ty4JFvZp4vPAKVxXqfJKd":{"uri":"/melonJS/docs/melonjs/Particle.html#tint"},"XyjRoOmqxkcJ56SA2wm1Y":{"uri":"/melonJS/docs/melonjs/Particle.html#top"},"PplneKpUW-gSjgKa6mq1U":{"uri":"/melonJS/docs/melonjs/Particle.html#type"},"Yb3bNTvnEbAE8dSknYonS":{"uri":"/melonJS/docs/melonjs/Particle.html#updateWhenPaused"},"6d40IAnqYjaYL4IdpqXiS":{"uri":"/melonJS/docs/melonjs/Particle.html#width"},"V-M9RS_uR5kMwWP6QRnbq":{"uri":"/melonJS/docs/melonjs/Particle.html#angleTo"},"aKDzLJGuuC0Vmy8QK-qzU":{"uri":"/melonJS/docs/melonjs/Particle.html#centerOn"},"0UE03iFfi-_iCEcvLOhU4":{"uri":"/melonJS/docs/melonjs/Particle.html#clone"},"sCAKI-CfEw1TLpxYha_if":{"uri":"/melonJS/docs/melonjs/Particle.html#constructor"},"Dsuf2rwL9LBFnWguin23g":{"uri":"/melonJS/docs/melonjs/Particle.html#contains"},"zui-EDNkwyr7hF96ajJxR":{"uri":"/melonJS/docs/melonjs/Particle.html#copy"},"oXwhhc4y7ygrntkIBOs_c":{"uri":"/melonJS/docs/melonjs/Particle.html#distanceTo"},"h9UU6WHAuqqK8Na4cxe7u":{"uri":"/melonJS/docs/melonjs/Particle.html#draw"},"AkVqeoywu4iTTQliOdhIl":{"uri":"/melonJS/docs/melonjs/Particle.html#equals"},"svpYWAPkt9aAVvPqRhfiu":{"uri":"/melonJS/docs/melonjs/Particle.html#flipX"},"JicxOsz8ZglzPzJXaDHDa":{"uri":"/melonJS/docs/melonjs/Particle.html#flipY"},"IfRSwOdcIypCtQQY0Pac5":{"uri":"/melonJS/docs/melonjs/Particle.html#getAbsolutePosition"},"N7Xd8u0AtfHKgxQ-ILgyB":{"uri":"/melonJS/docs/melonjs/Particle.html#getBounds"},"5zOzKn1aM6XF0CHWyG3wp":{"uri":"/melonJS/docs/melonjs/Particle.html#getIndices"},"IVq5ZAfxKkJEDf7SkVnml":{"uri":"/melonJS/docs/melonjs/Particle.html#getOpacity"},"QxT3qSheXWcKKVT1RBkQ0":{"uri":"/melonJS/docs/melonjs/Particle.html#isConvex"},"InLEP3x9rY7msmFVd2m07":{"uri":"/melonJS/docs/melonjs/Particle.html#isFinite"},"JJlhojRURiCR5Jc_CBUxV":{"uri":"/melonJS/docs/melonjs/Particle.html#lookAt"},"lhYZ048g2fOkYenCYbR2K":{"uri":"/melonJS/docs/melonjs/Particle.html#onCollision"},"jjqCufErlcHWEbD7McNdH":{"uri":"/melonJS/docs/melonjs/Particle.html#onDestroyEvent"},"FyRV91UkJF2Vb7ThUHdUq":{"uri":"/melonJS/docs/melonjs/Particle.html#overlaps"},"SKzATew1gVpteLpbMFrkC":{"uri":"/melonJS/docs/melonjs/Particle.html#postDraw"},"92DiqwJXygE-McPqwqBDA":{"uri":"/melonJS/docs/melonjs/Particle.html#preDraw"},"eKH_kW6nxx68ppMMbzDF3":{"uri":"/melonJS/docs/melonjs/Particle.html#recalc"},"WOjWxXiD60lBR0D_BMIsB":{"uri":"/melonJS/docs/melonjs/Particle.html#resize"},"jefhBuu3iEyhep0owLddx":{"uri":"/melonJS/docs/melonjs/Particle.html#rotate"},"VluGYRqmue8MT9wzlYvps":{"uri":"/melonJS/docs/melonjs/Particle.html#scale"},"gRKwmrrP3zUMwxQG5xsK2":{"uri":"/melonJS/docs/melonjs/Particle.html#scaleV"},"D5ruqeQI7-drrM97elEOY":{"uri":"/melonJS/docs/melonjs/Particle.html#setOpacity"},"biRiURODH3rHdHAo6zUlW":{"uri":"/melonJS/docs/melonjs/Particle.html#setShape"},"5kVzl-iKyNqPmz5tIOzVP":{"uri":"/melonJS/docs/melonjs/Particle.html#setVertices"},"7POzUcd0p07PAs-GmNnyG":{"uri":"/melonJS/docs/melonjs/Particle.html#shift"},"3JuYYaywcIiBG2EPMYcaG":{"uri":"/melonJS/docs/melonjs/Particle.html#to2d"},"yxoIBSnMDSauizBJTO4yO":{"uri":"/melonJS/docs/melonjs/Particle.html#toIso"},"Y8vQi-oEFaP3AizC0Tyaw":{"uri":"/melonJS/docs/melonjs/Particle.html#toPolygon"},"T0z1djd4GUFqSj4Wt9qIf":{"uri":"/melonJS/docs/melonjs/Particle.html#transform"},"bks8U_4bgaAXzsIDAZ1cO":{"uri":"/melonJS/docs/melonjs/Particle.html#translate"},"OIPYW9VmbGXIU8j26oubA":{"uri":"/melonJS/docs/melonjs/Particle.html#union"},"VOg5yrWYrp7U4On3TpcZt":{"uri":"/melonJS/docs/melonjs/Particle.html#update"},"IOZuT3mXH1YkyWU5KcCND":{"uri":"/melonJS/docs/melonjs/Particle.html#updateBounds"},"R875fTKSFf7bIcYAiIlrX":{"uri":"/melonJS/docs/melonjs/Particle.html#onAnchorUpdate"},"e3kSbcn4bKThzVE2TboHw":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html"},"kjVlMNdIc3TxRhDinFOGH":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alpha"},"Y_XstUPhe5Sui-Scb3RuL":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alwaysUpdate"},"1ZMTBbWiFjqqB36ca8esc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#ancestor"},"GwJMTPrgV-khcOm4CigM8":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#anchorPoint"},"Bc1BRwteYdqq0gAJKYOLb":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoDepth"},"Ju7-PM6Ih4QnRAs4VJKJC":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoSort"},"BjaJQnxatK0OjSw87oTFw":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoTransform"},"QhKUPuILJT6CC60XD7qAQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#backgroundColor"},"Gh31kFYz9pAeEMKhxPbcv":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#blendMode"},"brTuQT37fQCAdPR4s_7tO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#body"},"vbbQA9guy2YHLSmQ7SS4z":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#bottom"},"yImyf_Ql-GzukpOvg6sR5":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerX"},"N2h4TCHcHPZjVN8NCNKFP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerY"},"85YAwY-8Cg84mvhrjgXkt":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clipping"},"klO5SjG4-G2Eu3aBY53-w":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#currentTransform"},"8hpu20UnjTqaYqHp35eSX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#depth"},"eTDoEoS-lhD-MkhnYYPNO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#enableChildBoundsUpdate"},"-a_R8YZYPTTTdJvsCIK8L":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#floating"},"mrnYMC85dwzv0dQXcNxnq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#GUID"},"kbO1Y9zp5kh-z0w5FGP12":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#height"},"hMHF0nzwqOKKrCzTn-Or-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#inViewport"},"4Jq_678MCTIwY9jlrqeCc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isDirty"},"uawf-HJ2y0HH4vcufLN1s":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedX"},"UQE1Y2VBTjYT-9ZYEnFLr":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedY"},"PWksCcRA91zS0dWdExxKp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFloating"},"BzhOt74eOvGKKuUj9z5Ca":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isKinematic"},"aNlryncAMGoKAsiAy-Lff":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isPersistent"},"Y5ROB8zQT5yZ2LhkHSFvM":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#left"},"e3xmwzN08TGeE9uo6eVoG":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#mask"},"A2bOaYmxB5m6ZeW3mBHkx":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#name"},"nW0kfzTLhoy33Dgl5GNK9":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onVisibilityChange"},"dEXDLfV7j0HErQOKInBlU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#parentApp"},"G2ohY83lUkFW-mcM80Olp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#points"},"btJHD2Ey6_RfE5icWftcP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#pos"},"zM7aYNNOLainCyMAM3O3V":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#right"},"ltKl7rCXd05EEmqDx6T5_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#root"},"e6mtszD2W8iaHfTAT1QY9":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#settings"},"Vgeo_PNMFGrOCP7MuRN02":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shader"},"9xlGOOgf1J2CKhO8NUiQp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sortOn"},"eKUoUKSYh-Spe1WyUHDa6":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#tint"},"DM9Zov3t5FzQiT2EvKwsW":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#top"},"imS9gqqxhcEDi_49rewih":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#type"},"4j_joisfiuBJnJ9YxQOob":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateWhenPaused"},"PSnhK_uC31YTcWrtK3TeK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#width"},"0A8qd6iazShL146Tq4Xgr":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChild"},"DBG4nM6w4cP7y2_ktRNCK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChildAt"},"g2QiBRyhvaNo-zAYTp9vq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#angleTo"},"7hFIDdy9NrCL-5YWba03o":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#burstParticles"},"7tzYY-Q3FFC10V95f7Q5l":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerOn"},"j3G79aBFzQr8c3j-mVaP-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clone"},"EFJorUm42cPVsgXCD7hZI":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#constructor"},"6jZQ2noOFaxgrmws0WWoO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#contains"},"y4ugOywmRWs74mDH4Dz02":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#copy"},"p5xG4hudmKPFFWqJlC9fE":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#distanceTo"},"hNKJisPINaAtJgpU5fJ5R":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#equals"},"sSiG8giqiXhBxEhgG73xg":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipX"},"zEWmPcok3Er8jJY0DlbvP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipY"},"m_c4XmC6kJa1zanF6dg9G":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#forEach"},"bPl-X5DxMHIhraT08y3bF":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getAbsolutePosition"},"bUsDeFc6YHl1vNuNGpMlM":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getBounds"},"jx7EoSjog-5h85BbEbzjc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildAt"},"LQt6j4_EkV9BFnwTV07A2":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByGUID"},"ZxvLL4zaGyAkDRMHaTo5c":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByName"},"_BuWeFseMC9dm-ikebbdU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByProp"},"LAtpKi1_HUAcuwlrv_h8F":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByType"},"CweRXNP1DX_47sWPau0pN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildIndex"},"S6i6Yoavf6oQOJ482xo-k":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildren"},"gQr_K0n-TPsnW2LkIwawO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getIndices"},"vUgObTcfUqOfRm6TUMS0Y":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getNextChild"},"Wv54ncu4A58Hyifd1FRF6":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getOpacity"},"ZSmwgbxTYVoih90H5bSmS":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointX"},"LIFra1qXQUhJWOHfNN1jj":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointY"},"VL9h8SdCzEiGvIXOCuDCX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRootAncestor"},"AENxI-9w3lu5j70yFex5E":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#hasChild"},"K3n7OVEq3OoWNK0ej1YVp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isAttachedToRoot"},"NC-OjaLj0xVDAMY6DE9do":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isConvex"},"EQ0s4s6XO_ZxCExHsUpTr":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFinite"},"qaivGGX0u0P_ABLnKygap":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isRunning"},"1hbtPyNR6EoSn9nCZ7WM_":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#lookAt"},"iAkIHXhq7GJ9cMFKF7V7v":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveDown"},"ff_QQYNlg3bfqNzZmpZzd":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToBottom"},"xbsa4Q8BDRgJKz6EGXS5u":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToTop"},"j8hBWdxXFGnZTTPgE-X49":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveUp"},"WEAhKZEgbYAqmuBmS8Ij0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onChildChange"},"KuRW3VHB7u0TeSIUgnkVx":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onCollision"},"BtO70I_ps_bowAVPDaueI":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onDestroyEvent"},"1Zfy5w56i-bKoVyQyJJr2":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#overlaps"},"5Cw3MpXD-WoEwPTqtZlsi":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#postDraw"},"-g1wWEsndxrzb2nrTklRa":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#preDraw"},"wyriBD45lEIVih5AbKO7B":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#recalc"},"dURjtclfb9-sL_2pJMX5t":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChild"},"dUXyIeqZjbX3PvhJ_lba9":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChildNow"},"71VGanYpew2uRqVjLEPg1":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#reset"},"pW6n6t0jt5b5E-GNI3mwh":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#resize"},"qOA-xb9UYV4eloFJ2Z8YZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#rotate"},"kG1mz-igKgvCCwUcvVJ6l":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scale"},"y_z1cQ2bvy15RA49Bkso7":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scaleV"},"hbOHSPJI322dS6dBm8lV9":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setChildsProperty"},"M64XJmZfmNH1YVGUOBkEk":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setOpacity"},"zVETa-LnKf7_WIL99zByV":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setShape"},"QJoFfzvpusAT6uWug_qlE":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setVertices"},"bi6Ma4CUx733Om5NBjt7m":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shift"},"AlG_mEl2Bk8P0Bnu8rPBY":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sort"},"2sHgH9pJtvkv3WcSmmg-X":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#stopStream"},"F6dDLAfd-NXg8jvywxEaQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#streamParticles"},"YLp80ltHjrBZ8OnFLlqXO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#swapChildren"},"m95bVb21pcc0b2NzYFYto":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#to2d"},"NVJEeCMU8kLRheZxRZ_mn":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toIso"},"Y0wQTtN4bOsTk1tnT9Feu":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toPolygon"},"j2bjIyf1gUjot3yo1OOLe":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#transform"},"dju3uHK7H7AsCn7AOgI7v":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#translate"},"k1Jb7pyUjhlOfKZoUnxNq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#union"},"pNyiI9a-esddvN44c9Rvb":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateBounds"},"DzVNkKFtfDitgnjlefsNB":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#draw"},"-b-YBYZjXDbBu0GpN_Vgj":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#update"},"dU-lx0p5YNXSo8ifC361q":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onAnchorUpdate"},"lStnMBCOS2uHMvNXTNyXg":{"uri":"/melonJS/docs/melonjs/Path2D.html"},"R53JWtq8XS8YFGFws1_4V":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcResolution"},"Zh48NaSqYOer7qDXnxIRe":{"uri":"/melonJS/docs/melonjs/Path2D.html#points"},"ffgktCu5C-w_IlMLorbEf":{"uri":"/melonJS/docs/melonjs/Path2D.html#arc"},"HJKY0gODRmjvFFeF4PgmQ":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcTo"},"EvG0d9oSAz9skCO7yFtfh":{"uri":"/melonJS/docs/melonjs/Path2D.html#beginPath"},"c3FZBd0NS3i0pR4qoKM4w":{"uri":"/melonJS/docs/melonjs/Path2D.html#bezierCurveTo"},"arO-gABAjuQUzxxu6xbI4":{"uri":"/melonJS/docs/melonjs/Path2D.html#closePath"},"XJfhbSNd8nF0-j3eoWuNK":{"uri":"/melonJS/docs/melonjs/Path2D.html#ellipse"},"YDS386aa9rjar8qan_-1k":{"uri":"/melonJS/docs/melonjs/Path2D.html#lineTo"},"xoZI8fuvtpFI3VBb-Ogs-":{"uri":"/melonJS/docs/melonjs/Path2D.html#moveTo"},"NrmiArj2SKW1PgekEMp9i":{"uri":"/melonJS/docs/melonjs/Path2D.html#parseSVGPath"},"O7Wt2HLaAeHEhm7EFbPKJ":{"uri":"/melonJS/docs/melonjs/Path2D.html#quadraticCurveTo"},"Xrxt5gXow_j2OLdiJx8TY":{"uri":"/melonJS/docs/melonjs/Path2D.html#rect"},"zOOs14LYz3Su0n65ya9lT":{"uri":"/melonJS/docs/melonjs/Path2D.html#roundRect"},"JgNDTReNPy9miV9-PWJpm":{"uri":"/melonJS/docs/melonjs/Path2D.html#triangulatePath"},"K5gXVg-PPrzeIW2NYnQMb":{"uri":"/melonJS/docs/melonjs/Point.html"},"rTvqSBhB9Kpg87dprIaGl":{"uri":"/melonJS/docs/melonjs/Point.html#type"},"R8bl1_ch8tC3pzxy6umrD":{"uri":"/melonJS/docs/melonjs/Point.html#x"},"WqLizCs0-8BfdlncTft0i":{"uri":"/melonJS/docs/melonjs/Point.html#y"},"uNhvFeF7zAIFOAKkzDMoS":{"uri":"/melonJS/docs/melonjs/Point.html#clone"},"wxx6MEapdKktKiaqQLC3a":{"uri":"/melonJS/docs/melonjs/Point.html#equals"},"TQVh5D2AojUKXIP3a9Pdp":{"uri":"/melonJS/docs/melonjs/Point.html#set"},"UM0vdWPCHZVgID3l-LPK0":{"uri":"/melonJS/docs/melonjs/Pointer.html"},"SeNIQJOPl0_1_-oG8D9c2":{"uri":"/melonJS/docs/melonjs/Pointer.html#bottom"},"YQFct6CuD28jevQRuivMM":{"uri":"/melonJS/docs/melonjs/Pointer.html#button"},"cqOeFzf_Ggi_N6K8gLqBr":{"uri":"/melonJS/docs/melonjs/Pointer.html#center"},"gn8QIG2-DozNbvISQd7Ls":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerX"},"Pz-CszVNppqBrAilUEqRr":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerY"},"66Wtp8nAcoW5o1b4cgszT":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientX"},"qXCIQ3NKlATZTJ3MwZMfR":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientY"},"CgsAesrCbecVMv4NKOVGy":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaMode"},"RplC7qToQvkcVKKFMuBSH":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaX"},"0rEhSTaKf-xMffbrbf-o1":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaY"},"5P18t9WvrtmEwWz1i1kH4":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaZ"},"-1VTl75XdK-VgWXqL_ShW":{"uri":"/melonJS/docs/melonjs/Pointer.html#event"},"IiTrGVMRxPd0y86YuZ1iO":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalX"},"alXV4Sk3H0irWypp8p1Wt":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalY"},"BPtj8hR0YyxUasFm6BTv9":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenX"},"Ja1MSnH9UHBOjQV8Q8Noy":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenY"},"K0RXE2bOlmnTbtt9kAjak":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldX"},"Ltm_h4L7qMoJl4GBna4Nk":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldY"},"BhxUNWsszaxPgbSq8GxW0":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameX"},"20_eamF021Rbsd0uXFbME":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameY"},"wl2zpOyxPrGZWFWbGpkLw":{"uri":"/melonJS/docs/melonjs/Pointer.html#height"},"K9tgjZjXYBl7L53hQIPE5":{"uri":"/melonJS/docs/melonjs/Pointer.html#isNormalized"},"7UfYIfD1-K2bYazzff9rS":{"uri":"/melonJS/docs/melonjs/Pointer.html#isPrimary"},"ufZpjdYTyJ5hbYEmXmtaN":{"uri":"/melonJS/docs/melonjs/Pointer.html#left"},"Z409GXYiHrhBR0i6EdSJl":{"uri":"/melonJS/docs/melonjs/Pointer.html#LEFT_"},"Z6tz4Y78u08IBB4S6visZ":{"uri":"/melonJS/docs/melonjs/Pointer.html#locked"},"AOWC6ZM0CtpBd-FmGuwQ_":{"uri":"/melonJS/docs/melonjs/Pointer.html#MIDDLE"},"3sbnBSN2ud9RQyuPmbj9p":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementX"},"9_M7qOBv26HmiHWq1yWX9":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementY"},"3N0U6wuqC2aEnisw7mzGZ":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageX"},"aI6-8UrOJer-MCV-e1tLw":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageY"},"Uir9zZLK_5StI75OIryx8":{"uri":"/melonJS/docs/melonjs/Pointer.html#pointerId"},"uaoFvNBTDmcElDjeTWuzH":{"uri":"/melonJS/docs/melonjs/Pointer.html#right"},"GE3uQk6_-6nFXjCLbmkqD":{"uri":"/melonJS/docs/melonjs/Pointer.html#RIGHT_"},"G7BKEHVWHHZjf8LMYy4_5":{"uri":"/melonJS/docs/melonjs/Pointer.html#top"},"1SDO8JihtZ0zcX3lBBDUU":{"uri":"/melonJS/docs/melonjs/Pointer.html#type"},"OSHRlXK4qbPGkvt_yXqtk":{"uri":"/melonJS/docs/melonjs/Pointer.html#width"},"GgkhtdaDU-oiPdBrhulJB":{"uri":"/melonJS/docs/melonjs/Pointer.html#x"},"HtTVC4brX7QyjDdOvW1Jf":{"uri":"/melonJS/docs/melonjs/Pointer.html#y"},"io0kEK7XHcmKERdsmAYlh":{"uri":"/melonJS/docs/melonjs/Pointer.html#add"},"y0MVnjEeW92Bw5XkBDh7N":{"uri":"/melonJS/docs/melonjs/Pointer.html#addBounds"},"nmdVm4GC1BH56MKHMu4Oj":{"uri":"/melonJS/docs/melonjs/Pointer.html#addFrame"},"VD4BCkiHnR9TZq3wlcGPI":{"uri":"/melonJS/docs/melonjs/Pointer.html#addPoint"},"xMDSJMtkv-c7HA_zJU5Fo":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerOn"},"kL3GU8ufkpk9ClVO9F9ay":{"uri":"/melonJS/docs/melonjs/Pointer.html#clear"},"SKfNGV8oyCAOwcOOud5mG":{"uri":"/melonJS/docs/melonjs/Pointer.html#clone"},"R7nVYstuVY1Z0bWfGOla_":{"uri":"/melonJS/docs/melonjs/Pointer.html#contains"},"zEyt6BQBtBFb4qbnhc88c":{"uri":"/melonJS/docs/melonjs/Pointer.html#isFinite"},"70k6yNNuTV2EQC2_ETcdy":{"uri":"/melonJS/docs/melonjs/Pointer.html#overlaps"},"jElYiq8tsf-bXzLA7BWQ7":{"uri":"/melonJS/docs/melonjs/Pointer.html#setMinMax"},"_M5mTmfBXs2UNVykOT6xj":{"uri":"/melonJS/docs/melonjs/Pointer.html#shift"},"U-SqkXugRdiwg6YMeEKEa":{"uri":"/melonJS/docs/melonjs/Pointer.html#toPolygon"},"JLdTkCxhTZboQgWzBrh_Z":{"uri":"/melonJS/docs/melonjs/Pointer.html#translate"},"bTpGCCeS471TLX0hq2CXl":{"uri":"/melonJS/docs/melonjs/Pointer.html#update"},"Iu31hTQa984JabqA5VT7t":{"uri":"/melonJS/docs/melonjs/Pointer.html#set"},"GJB7xwgOU1k5psPiRW0Gd":{"uri":"/melonJS/docs/melonjs/Polygon.html"},"mxQ2Sz1a-IDNscGv-Chdp":{"uri":"/melonJS/docs/melonjs/Polygon.html#points"},"SlIpNArlX6rgDO3BjG8HF":{"uri":"/melonJS/docs/melonjs/Polygon.html#pos"},"0RjG_fa3rz4WVsATQzcTz":{"uri":"/melonJS/docs/melonjs/Polygon.html#type"},"FFHXNf5eKMBLc0yE5LiSp":{"uri":"/melonJS/docs/melonjs/Polygon.html#clone"},"-YXneBj-7bfixE8hJ8mYp":{"uri":"/melonJS/docs/melonjs/Polygon.html#constructor"},"Y1NV5mpKZujwoi_jy9Uk9":{"uri":"/melonJS/docs/melonjs/Polygon.html#contains"},"B-969rJUdbc9GsHQjiC4q":{"uri":"/melonJS/docs/melonjs/Polygon.html#getBounds"},"bpYQUEDEdj3FLfvGxzf-U":{"uri":"/melonJS/docs/melonjs/Polygon.html#getIndices"},"UdOE2V9rEnS2kIvXoHUVR":{"uri":"/melonJS/docs/melonjs/Polygon.html#isConvex"},"vAQ_bSmezEtQT-u4nFtIr":{"uri":"/melonJS/docs/melonjs/Polygon.html#recalc"},"Ri7qnif7WEVxANfczX6HW":{"uri":"/melonJS/docs/melonjs/Polygon.html#rotate"},"QBG4UcweRtEJtT-mtQDNy":{"uri":"/melonJS/docs/melonjs/Polygon.html#scale"},"j-UTXpNUf1STC44bjK_Ip":{"uri":"/melonJS/docs/melonjs/Polygon.html#scaleV"},"2T9IgrrJXX8tzN92oE12_":{"uri":"/melonJS/docs/melonjs/Polygon.html#setShape"},"hxJVHTKUBp7mB9Uq4WHIW":{"uri":"/melonJS/docs/melonjs/Polygon.html#setVertices"},"UZRiDANCVlqjxrwzYxl_l":{"uri":"/melonJS/docs/melonjs/Polygon.html#shift"},"Yv2Dk9i6znG_u93pRmG6-":{"uri":"/melonJS/docs/melonjs/Polygon.html#to2d"},"xelSs-z67-sy86UPTtamr":{"uri":"/melonJS/docs/melonjs/Polygon.html#toIso"},"wFSH2cFrkJLp9eEBLfAG2":{"uri":"/melonJS/docs/melonjs/Polygon.html#transform"},"a0PVAG4LJtgf5lAAV-3X-":{"uri":"/melonJS/docs/melonjs/Polygon.html#translate"},"RZIgzqsHwI5UBOjx_m8Ka":{"uri":"/melonJS/docs/melonjs/Polygon.html#updateBounds"},"er4f0nTWhdAnqv6iwSQ9l":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html"},"ZJ1x6h-BvbkwcH-EDojnN":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#attributes"},"r-e25UURt6vjTg2cgCKEy":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#currentShader"},"TG8gC2Z5wLxfil_ll0lTK":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#defaultShader"},"vwshoIumkeWQR5Dzc_b9l":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#mode"},"4i7IcjL6XcsZvGsktHEpB":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexByteSize"},"DeTh9mKahvV0x9kWuqrVb":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexData"},"WDruhSxQbdX5VX2bxyk6E":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexSize"},"oBaE5tHCC_ikVzFCyMRvL":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#addAttribute"},"WduH__tzxa_WvbmVc2MUp":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#bind"},"0q2p8xxgcl8wz8NkXnrIf":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#constructor"},"2y8TWJIbw-qEjJdz5aG2R":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#drawVertices"},"Yipk1znYrh-7uYASYu1Y4":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#flush"},"PSy2QLp6em12NXm-_M7aS":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#setProjection"},"szaDXSJu_DbGMnP-Q41Ir":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#useShader"},"E-KHJ46BdGN6RR-MAwpwM":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html"},"gew8mDFDAxsHATBkQg86A":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#attributes"},"sivei7t5vUgTRLGQ4wMn4":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#currentShader"},"m7gRv61Prbyc0IQP7oUWg":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#defaultShader"},"BrKc8llx-Dr9-v8DURush":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#mode"},"29ASTybO_7rW5u9i5MWZt":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexByteSize"},"-lQoiYRLPnninuDPEoQbZ":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexData"},"rwTXfsTt5MPlPQiAC7-98":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexSize"},"CejXNPp7dQkx0eql6m6gY":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addAttribute"},"AoSbzYL4b4tpsKbdYsGFq":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addQuad"},"PsPQGk5jvXTqRvxn8OyIb":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bind"},"DvOHkokbQE61s9UzRVpgn":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bindTexture2D"},"gwn0nhGwIQFMveP6K1pII":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#constructor"},"X9bplrY75GRrDGt725VLX":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#createTexture2D"},"YpeEhGv1pcou_zxikcLc8":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#deleteTexture2D"},"zAFVYa9IXkWBMQ_bXpltD":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#flush"},"REZEQtvwBiMyLaSaOhFki":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#getTexture2D"},"6IbFWocmrNgatNS4gTa5A":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#setProjection"},"W4LsrxUD9NtZMG3QyxwAM":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#unbindTexture2D"},"8fJG_UartES4we5pZjqoW":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#useShader"},"C6Z-pwYk8xGNAtxCWLEp3":{"uri":"/melonJS/docs/melonjs/QuadTree.html"},"I7OyS8goVZPFqvUy4wB6V":{"uri":"/melonJS/docs/melonjs/QuadTree.html#clear"},"jvqvmfTjmt8f95RUCy-XI":{"uri":"/melonJS/docs/melonjs/QuadTree.html#constructor"},"weA-9bNw5n5yjBlXRjn13":{"uri":"/melonJS/docs/melonjs/QuadTree.html#hasChildren"},"nTn5nPc1ocuTcwgeGkTWM":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insert"},"oB1VuRlnXkH82ujR-3oIq":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insertContainer"},"RdWBWsZNAYEALxnMJrEte":{"uri":"/melonJS/docs/melonjs/QuadTree.html#isPrunable"},"-e46wjSZ3k7szml54Ebra":{"uri":"/melonJS/docs/melonjs/QuadTree.html#remove"},"BXxF1G36QCBGVNfMWK9tV":{"uri":"/melonJS/docs/melonjs/QuadTree.html#retrieve"},"vE3Hcl4DbHbQNS7f65SiD":{"uri":"/melonJS/docs/melonjs/Rect.html"},"kAzQxGBDSdqDJkiB3jnx6":{"uri":"/melonJS/docs/melonjs/Rect.html#bottom"},"rqPXF3bV8K3kLtpriyZSe":{"uri":"/melonJS/docs/melonjs/Rect.html#centerX"},"n6IFZJOCLBmwBLZm3rQJt":{"uri":"/melonJS/docs/melonjs/Rect.html#centerY"},"l4lVPqP3gZKq65GTZuB7C":{"uri":"/melonJS/docs/melonjs/Rect.html#height"},"lXES2q2kozfqMWu_KGQvr":{"uri":"/melonJS/docs/melonjs/Rect.html#left"},"nb62yQE6imZ1bdS8YWoNH":{"uri":"/melonJS/docs/melonjs/Rect.html#points"},"1tGo32l0fCGY9g_Ruwfff":{"uri":"/melonJS/docs/melonjs/Rect.html#pos"},"QvnFOXmdZEygrLwgNLMhz":{"uri":"/melonJS/docs/melonjs/Rect.html#right"},"jp_banEzBHbDSOnnqZZHI":{"uri":"/melonJS/docs/melonjs/Rect.html#top"},"4VOO_qyx0p-XOfidUiW_p":{"uri":"/melonJS/docs/melonjs/Rect.html#type"},"k9FnOAbex2thNZyPFdul1":{"uri":"/melonJS/docs/melonjs/Rect.html#width"},"DL-2glaGFY-BUfHzZTHoi":{"uri":"/melonJS/docs/melonjs/Rect.html#centerOn"},"p6OQ6A6N2-7dx1cMZXlZp":{"uri":"/melonJS/docs/melonjs/Rect.html#clone"},"CQEU_5xFypdrsRWKBOcND":{"uri":"/melonJS/docs/melonjs/Rect.html#constructor"},"wlc3-_5ONIbw8xg8FD3Kh":{"uri":"/melonJS/docs/melonjs/Rect.html#contains"},"UvRgoERjjO0j4lEZqOnlR":{"uri":"/melonJS/docs/melonjs/Rect.html#copy"},"uz0bjPpB-R-6PjukePzqM":{"uri":"/melonJS/docs/melonjs/Rect.html#equals"},"l9tFMQmleCsMuiUOu7o8a":{"uri":"/melonJS/docs/melonjs/Rect.html#getBounds"},"5I0_51Bd1DNvnf3zk3GO7":{"uri":"/melonJS/docs/melonjs/Rect.html#getIndices"},"TeBnwyOF_tSc7gwpsh0II":{"uri":"/melonJS/docs/melonjs/Rect.html#isConvex"},"uhRbG2Q7z7nAjcmX-DDok":{"uri":"/melonJS/docs/melonjs/Rect.html#isFinite"},"fnNhTDs-yybeyeaf2SNoF":{"uri":"/melonJS/docs/melonjs/Rect.html#overlaps"},"o8z4YY51Mhwdl2pMJuDLs":{"uri":"/melonJS/docs/melonjs/Rect.html#recalc"},"KZYZqcPRyb_hiWKNmmktX":{"uri":"/melonJS/docs/melonjs/Rect.html#resize"},"gOlSgGB9bTkjs6tywmxBL":{"uri":"/melonJS/docs/melonjs/Rect.html#rotate"},"pUxy2T2nyABhERctv8-4G":{"uri":"/melonJS/docs/melonjs/Rect.html#scale"},"QCiKol406HdsuKgi-jCQq":{"uri":"/melonJS/docs/melonjs/Rect.html#scaleV"},"ZuJ8wCmvOVwNJXXAtA7xi":{"uri":"/melonJS/docs/melonjs/Rect.html#setShape"},"WCT6haPDXACgV_jfSz6Di":{"uri":"/melonJS/docs/melonjs/Rect.html#setVertices"},"d9wSQZSHaC4t_Ehbd0bLa":{"uri":"/melonJS/docs/melonjs/Rect.html#shift"},"TKxN-nZFaiXV1Rd3xAMaC":{"uri":"/melonJS/docs/melonjs/Rect.html#to2d"},"OaHhvwrGQSur910FDcOkq":{"uri":"/melonJS/docs/melonjs/Rect.html#toIso"},"yXeE8DzfUTuglb1i5GMFw":{"uri":"/melonJS/docs/melonjs/Rect.html#toPolygon"},"wwTMGaBG4lFAk4lH74-ez":{"uri":"/melonJS/docs/melonjs/Rect.html#transform"},"9lRfRe7rzlZPuL-lGSQRo":{"uri":"/melonJS/docs/melonjs/Rect.html#translate"},"fqrWSWp1F7a3qUWNmkqiD":{"uri":"/melonJS/docs/melonjs/Rect.html#union"},"-sIWijY3WoEe0-C68HHvf":{"uri":"/melonJS/docs/melonjs/Rect.html#updateBounds"},"QF5ii-HC78WhbB9ImWtWg":{"uri":"/melonJS/docs/melonjs/Renderable.html"},"0332jMGmHD7F_y89OswD5":{"uri":"/melonJS/docs/melonjs/Renderable.html#alpha"},"JDz4tircHFuaOWApR4kpz":{"uri":"/melonJS/docs/melonjs/Renderable.html#alwaysUpdate"},"9qQsLQ_kZrZZeUI3_VjMs":{"uri":"/melonJS/docs/melonjs/Renderable.html#ancestor"},"4c3c75G_bbrqOc5JKiQnO":{"uri":"/melonJS/docs/melonjs/Renderable.html#anchorPoint"},"UO0D9wFIgdDnTn-odxZjd":{"uri":"/melonJS/docs/melonjs/Renderable.html#autoTransform"},"b8JgCFCpl-bg9NQ1SywJE":{"uri":"/melonJS/docs/melonjs/Renderable.html#blendMode"},"KoH2z2Fvj0h1pAf65UJJ0":{"uri":"/melonJS/docs/melonjs/Renderable.html#body"},"6iAdHBzWb_hxqW7FIcJUY":{"uri":"/melonJS/docs/melonjs/Renderable.html#bottom"},"At6I_5Ab4Lqcvb7SUo_wD":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerX"},"pNpxIywwUHximT5LvUAOL":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerY"},"EvCZFgwOEe2Z3f9ZTL2ph":{"uri":"/melonJS/docs/melonjs/Renderable.html#currentTransform"},"UeXUJQQoLZtxTiox90elQ":{"uri":"/melonJS/docs/melonjs/Renderable.html#depth"},"6uhHlNiRTND-blba8H6Fd":{"uri":"/melonJS/docs/melonjs/Renderable.html#floating"},"3j6dpqW0XnDANWZ7V4ENT":{"uri":"/melonJS/docs/melonjs/Renderable.html#GUID"},"PS6zTgzDc5nlbAzyZVlbt":{"uri":"/melonJS/docs/melonjs/Renderable.html#height"},"hlZYaVLCrHt0ooqSjSgok":{"uri":"/melonJS/docs/melonjs/Renderable.html#inViewport"},"wh154Boh7-JmTAEQmkMWN":{"uri":"/melonJS/docs/melonjs/Renderable.html#isDirty"},"omwKABvRqd7IwC5VfCwP-":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedX"},"t6cj-U8ReygFBXKP-Ajc0":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedY"},"IaFAGFjnIO_IplT_fhIyL":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFloating"},"ldclcJU-_masnqQxzuk6H":{"uri":"/melonJS/docs/melonjs/Renderable.html#isKinematic"},"Ja2s8XRvHm_0gVFs2jL9b":{"uri":"/melonJS/docs/melonjs/Renderable.html#isPersistent"},"btOOKjXNZmygD8RaSPTBb":{"uri":"/melonJS/docs/melonjs/Renderable.html#left"},"popOjB4JzOZyUdeNvKCno":{"uri":"/melonJS/docs/melonjs/Renderable.html#mask"},"PBM7rxBTAgSuXYg2MV6BU":{"uri":"/melonJS/docs/melonjs/Renderable.html#name"},"CxPifpfwdPJa9i0_K_fO4":{"uri":"/melonJS/docs/melonjs/Renderable.html#onVisibilityChange"},"P7tFoLmY9ycMoQDrV8GzW":{"uri":"/melonJS/docs/melonjs/Renderable.html#parentApp"},"qbJFHVeaUu831Z7EYzhU8":{"uri":"/melonJS/docs/melonjs/Renderable.html#points"},"dsIKh8JVOUDB2IBV28Mpq":{"uri":"/melonJS/docs/melonjs/Renderable.html#pos"},"jZ_uOZGFa31RoyyhBUvJl":{"uri":"/melonJS/docs/melonjs/Renderable.html#right"},"grr8d6gDa2Fljnj6XKKC5":{"uri":"/melonJS/docs/melonjs/Renderable.html#shader"},"xvf5l4qMxxJrYRTtaAQbh":{"uri":"/melonJS/docs/melonjs/Renderable.html#tint"},"GsO91ngH0yYNyQPfrwRk_":{"uri":"/melonJS/docs/melonjs/Renderable.html#top"},"ywZe4rABkNxOw1IULOXw5":{"uri":"/melonJS/docs/melonjs/Renderable.html#type"},"o41zBL-Ijit7rDFdjuyVl":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateWhenPaused"},"GKK5S5Xtynzu-RnE73FvO":{"uri":"/melonJS/docs/melonjs/Renderable.html#width"},"hrRDbmjhQRboZd225F-P7":{"uri":"/melonJS/docs/melonjs/Renderable.html#angleTo"},"RDClQP7wV_jO0KWIgheMQ":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerOn"},"-xmiw7JDcJmzMP-5gNOjq":{"uri":"/melonJS/docs/melonjs/Renderable.html#clone"},"RHZQUCK7IWQo3VlkSnj36":{"uri":"/melonJS/docs/melonjs/Renderable.html#constructor"},"Pqv0ZK8qG6bBVftpR7GP1":{"uri":"/melonJS/docs/melonjs/Renderable.html#contains"},"Cm5N8zDzKencwZ6sjGdz6":{"uri":"/melonJS/docs/melonjs/Renderable.html#copy"},"EqNw2tUc7jM0r7GxadjCj":{"uri":"/melonJS/docs/melonjs/Renderable.html#distanceTo"},"CxC5BXkUg10Hfdf5z11bc":{"uri":"/melonJS/docs/melonjs/Renderable.html#draw"},"LP2ySsI2jSGk1s7DRj0un":{"uri":"/melonJS/docs/melonjs/Renderable.html#equals"},"FTyWikqO0YSTOn1dVtWmP":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipX"},"sN-8yNEyQysNJmpy7aZqp":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipY"},"s6Poe-NFspCtzdPnQI5ZR":{"uri":"/melonJS/docs/melonjs/Renderable.html#getAbsolutePosition"},"NOs9B9bz5sGf0bTFq8CBx":{"uri":"/melonJS/docs/melonjs/Renderable.html#getBounds"},"HKdUjMiuitI8zyOPV3lZj":{"uri":"/melonJS/docs/melonjs/Renderable.html#getIndices"},"uU92G6gPWF2MJAcVXQaeD":{"uri":"/melonJS/docs/melonjs/Renderable.html#getOpacity"},"m6x_58tmDYMh6WmWmcvbV":{"uri":"/melonJS/docs/melonjs/Renderable.html#isConvex"},"DCqgSGRRFWJQRbgj2-sB8":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFinite"},"OpLh_hMS7keyBG48U2es0":{"uri":"/melonJS/docs/melonjs/Renderable.html#lookAt"},"UrrtvSIetfaBzIIWgTOgp":{"uri":"/melonJS/docs/melonjs/Renderable.html#onCollision"},"lwuJgctBhYHsvbT-B_BbA":{"uri":"/melonJS/docs/melonjs/Renderable.html#onDestroyEvent"},"4qIf7SDUd1n31J-ISTWCq":{"uri":"/melonJS/docs/melonjs/Renderable.html#overlaps"},"LCrbRbp5lmMDZjAsTvNnJ":{"uri":"/melonJS/docs/melonjs/Renderable.html#postDraw"},"N16V_uVHTpGzsxzbuiKrq":{"uri":"/melonJS/docs/melonjs/Renderable.html#preDraw"},"pw41IIH_68UUILqWrLPP0":{"uri":"/melonJS/docs/melonjs/Renderable.html#recalc"},"dSnr4d237nPV8dfINvNOl":{"uri":"/melonJS/docs/melonjs/Renderable.html#resize"},"1PmJy8FJsiO6GX7GwAE4L":{"uri":"/melonJS/docs/melonjs/Renderable.html#rotate"},"URetZgx860k2N8W3Fosax":{"uri":"/melonJS/docs/melonjs/Renderable.html#scale"},"fLgbOxwVZvsxlzQTzloho":{"uri":"/melonJS/docs/melonjs/Renderable.html#scaleV"},"_Qq1r-ZQFzdtLocBRWodE":{"uri":"/melonJS/docs/melonjs/Renderable.html#setOpacity"},"uXHpIklAE5TYVSW8Yltvi":{"uri":"/melonJS/docs/melonjs/Renderable.html#setShape"},"98sICy3ykq6z_wQWAdayH":{"uri":"/melonJS/docs/melonjs/Renderable.html#setVertices"},"ISoMePOFR4LjoxK64r_tp":{"uri":"/melonJS/docs/melonjs/Renderable.html#shift"},"JETZ6v6IyR_sUXuzLHk6H":{"uri":"/melonJS/docs/melonjs/Renderable.html#to2d"},"yn67_7CQRuDJGA4MwBo7w":{"uri":"/melonJS/docs/melonjs/Renderable.html#toIso"},"VHgUOCTtRmgWwdnPioT4Y":{"uri":"/melonJS/docs/melonjs/Renderable.html#toPolygon"},"bk_qKSCWyjzkbmONFKs7F":{"uri":"/melonJS/docs/melonjs/Renderable.html#transform"},"ObnVwxb0Fd-PAE_PzNvwN":{"uri":"/melonJS/docs/melonjs/Renderable.html#translate"},"yBe2-KakLMeS1SsUW2Yfi":{"uri":"/melonJS/docs/melonjs/Renderable.html#union"},"suDjKUDqvkgi3V9ZuTCuq":{"uri":"/melonJS/docs/melonjs/Renderable.html#update"},"evWhcbvXTjTXhlGj6z9xT":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateBounds"},"mjeT3wwvsltJqma1PjUDy":{"uri":"/melonJS/docs/melonjs/Renderable.html#onAnchorUpdate"},"iOfZ0jwl-bRM7OjdCL-hx":{"uri":"/melonJS/docs/melonjs/Renderer.html"},"JvLmfHWwKSErB-cS-oNyF":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html"},"RHRe4W1eVYoCjT4L3o2uD":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html#constructor"},"k9EpDx3fcJa31zU3B56jV":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html"},"cnfQVyBUqWpNPmuJno7ca":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html#constructor"},"JFqfaswMmEtZn_JY3vr-v":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html"},"g9B60pzWwKbANb2uqMRAN":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html#constructor"},"Jmm6jnkPqNZNk9wJZfW9M":{"uri":"/melonJS/docs/melonjs/Renderer.html#depthTest"},"k2ijX00ZUNmNc-CdGIiDk":{"uri":"/melonJS/docs/melonjs/Renderer.html#designRatio"},"Pns2Mzi0VHmsnee_oDBIf":{"uri":"/melonJS/docs/melonjs/Renderer.html#height"},"1fvHQUe2XSrRGmlRuoDpL":{"uri":"/melonJS/docs/melonjs/Renderer.html#isContextValid"},"Co8A4iDWn2_sfJzQCfdqB":{"uri":"/melonJS/docs/melonjs/Renderer.html#path2D"},"tPRHyk2tvW8KvY2iHO9Yl":{"uri":"/melonJS/docs/melonjs/Renderer.html#scaleRatio"},"zo490KNHk4IWKBE7gN_Am":{"uri":"/melonJS/docs/melonjs/Renderer.html#settings"},"WPNF0nLiYWMhvTg3Ro7JT":{"uri":"/melonJS/docs/melonjs/Renderer.html#type"},"ZcIeKzVRCDQlLivW-VUkY":{"uri":"/melonJS/docs/melonjs/Renderer.html#width"},"7B7nwPfl5_uDpybp0JbGT":{"uri":"/melonJS/docs/melonjs/Renderer.html#clear"},"LxQpbOlXj8rKR3kycZpPe":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearMask"},"hgDWZsvbOAHh1p_2b_dT8":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearTint"},"IsFk3MXYSoklvHqge9k1Z":{"uri":"/melonJS/docs/melonjs/Renderer.html#constructor"},"FrsHyNpAOb3K-t5X4AB0e":{"uri":"/melonJS/docs/melonjs/Renderer.html#fill"},"ZdJiQuqJeW_xAPxgBe1XG":{"uri":"/melonJS/docs/melonjs/Renderer.html#flush"},"h8Ng6ZEKHzhTpb7kRy3Y7":{"uri":"/melonJS/docs/melonjs/Renderer.html#getBlendMode"},"lrTS3oBo1eG7lzTPmRoxe":{"uri":"/melonJS/docs/melonjs/Renderer.html#getCanvas"},"khIbKeB3_Le3Cap3_YsGc":{"uri":"/melonJS/docs/melonjs/Renderer.html#getColor"},"GUlngcAFhqgpnFcoEZh9M":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext"},"PWbI_CKttspggtfnba1P8":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext2d"},"Gkwc2-CuxP7vmPkfR4vsB":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenCanvas"},"Dcqta0upINRwkvhQhaAEZ":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenContext"},"fSsq75oJbO4QU7LTb2iTn":{"uri":"/melonJS/docs/melonjs/Renderer.html#globalAlpha"},"Yk6V0xNGBDCErSsh6GcF0":{"uri":"/melonJS/docs/melonjs/Renderer.html#overlaps"},"JWSF93HdOrK5wEFwF6TUe":{"uri":"/melonJS/docs/melonjs/Renderer.html#reset"},"sWk2p7WOcsyzs8u1vguOv":{"uri":"/melonJS/docs/melonjs/Renderer.html#resize"},"GB22r0_AGehAO7x0iulPm":{"uri":"/melonJS/docs/melonjs/Renderer.html#setAntiAlias"},"spUguS4cxbAaLDuvwhaTp":{"uri":"/melonJS/docs/melonjs/Renderer.html#setMask"},"m2lx3Zd_5d102YAsHjDO1":{"uri":"/melonJS/docs/melonjs/Renderer.html#setProjection"},"ajsXvnhrg-h6Z4rSVax8E":{"uri":"/melonJS/docs/melonjs/Renderer.html#setTint"},"At7BI82Vue7hADP4ZbAqD":{"uri":"/melonJS/docs/melonjs/Renderer.html#stroke"},"vILibmWgYTLpznYnRfdVL":{"uri":"/melonJS/docs/melonjs/Renderer.html#tint"},"mqNrxifhwyuiS97qtLp6q":{"uri":"/melonJS/docs/melonjs/Renderer.html#toBlob"},"TFid0iWkWX7UH6qei5zKU":{"uri":"/melonJS/docs/melonjs/Renderer.html#toDataURL"},"F0TED_BXkIQL1iToGsuQa":{"uri":"/melonJS/docs/melonjs/Renderer.html#toImageBitmap"},"AU8oVkH1CAiXkfTNHSiGL":{"uri":"/melonJS/docs/melonjs/ResponseObject.html"},"Odlrl0VVyEp5ZAI_bRfMQ":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#a"},"rnHvk_G7EkL8kzEIoNLyK":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#aInB"},"IPl4Z2wgt8RVBuzGys5TS":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#b"},"rLy4Fd8CloUMyQ4TB0cmJ":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#bInA"},"AfLQDDUHxD4ePrf7LFH-p":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeA"},"u1PtDwncMvU9Qzp-w0qrW":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeB"},"_2SHX2eb4A-8W6zsFp41y":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlap"},"VRDF26QTSloq_opUP_gOe":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapN"},"lzZ0VABQrNoj1dB8Sm2zc":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapV"},"IM9IqQCn7Edbs4WCh8Gyq":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#clear"},"-y6FYR8LZdr294QxodMNv":{"uri":"/melonJS/docs/melonjs/RoundRect.html"},"IwUdyW1v_4G8dC9oyhNwo":{"uri":"/melonJS/docs/melonjs/RoundRect.html#bottom"},"Muof2CuD3nrmr5YpusR_d":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerX"},"jVcJMhKajnnqnIEy0HLo2":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerY"},"oyJE3OiXBGHMW-OFytlt5":{"uri":"/melonJS/docs/melonjs/RoundRect.html#height"},"XHtJs12869OXlIsg6viHa":{"uri":"/melonJS/docs/melonjs/RoundRect.html#left"},"QbVAjJe-xQm2ZF0uVpaPF":{"uri":"/melonJS/docs/melonjs/RoundRect.html#points"},"lPM7EOjni0kTbHrgZDMUr":{"uri":"/melonJS/docs/melonjs/RoundRect.html#pos"},"1VN2kGmFcRbHfbW--qYvo":{"uri":"/melonJS/docs/melonjs/RoundRect.html#radius"},"JvDSmPicIKCSC7ANrdgFb":{"uri":"/melonJS/docs/melonjs/RoundRect.html#right"},"W_D26Om-6TXCfJw4pUzLl":{"uri":"/melonJS/docs/melonjs/RoundRect.html#top"},"VSd1Ob1fzCpnCGP9n2YAx":{"uri":"/melonJS/docs/melonjs/RoundRect.html#type"},"O_rvA5ddurQGEAFeWQvwP":{"uri":"/melonJS/docs/melonjs/RoundRect.html#width"},"w8PoqUAQSd9GNF76KqFw1":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerOn"},"2qK5uvcd_8Ov4ZH1SuAw8":{"uri":"/melonJS/docs/melonjs/RoundRect.html#clone"},"Qgw4YehsaKIpjlVUrcWn1":{"uri":"/melonJS/docs/melonjs/RoundRect.html#constructor"},"TqGLod_ZKKTjG2zZX-rvM":{"uri":"/melonJS/docs/melonjs/RoundRect.html#contains"},"vAaDfqYToT3g2Jmpbs6aV":{"uri":"/melonJS/docs/melonjs/RoundRect.html#copy"},"LbJf4dP1JYlheA1YQtkpn":{"uri":"/melonJS/docs/melonjs/RoundRect.html#equals"},"vJEoSfzbqJwnnxCnEfjXt":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getBounds"},"GkMktAdswG7VxbzykDR48":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getIndices"},"6H5Y6OKS9FX_2-LR4KxJS":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isConvex"},"UFo_kqT9-J9gFDyXqPEo8":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isFinite"},"icAEWFZWsq-08OA8J2ByE":{"uri":"/melonJS/docs/melonjs/RoundRect.html#overlaps"},"X49P_w-7jLkhh1gf2bQX_":{"uri":"/melonJS/docs/melonjs/RoundRect.html#recalc"},"-d8RhNgbFWYd4v9svyAoH":{"uri":"/melonJS/docs/melonjs/RoundRect.html#resize"},"isLTYpi5Rbzi4PH7YYXnn":{"uri":"/melonJS/docs/melonjs/RoundRect.html#rotate"},"06sql9fGUi2WkQbzdcvpZ":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scale"},"MporasZZc89H6VJa9cyDn":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scaleV"},"0FvX8ufEULa1IQBQOcEE3":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setShape"},"_FhG4jB8IdIGBNLLeolbG":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setVertices"},"aNaBpYJp_C8Gp9xzyG3Ec":{"uri":"/melonJS/docs/melonjs/RoundRect.html#shift"},"6IEfvYygP4H7-d-wbArj7":{"uri":"/melonJS/docs/melonjs/RoundRect.html#to2d"},"qNjNyTeBhE4kVjfYwWF7T":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toIso"},"zDmhba9FBMgloIDsHW22y":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toPolygon"},"372mMgtfQlT0A8mbzhXyy":{"uri":"/melonJS/docs/melonjs/RoundRect.html#transform"},"-pcQ5eg7Gj3Ym7yZ1-m8w":{"uri":"/melonJS/docs/melonjs/RoundRect.html#translate"},"XI78E66mAbjvD-l6CZiqI":{"uri":"/melonJS/docs/melonjs/RoundRect.html#union"},"eff55yAhJEwVkYWHSHxY9":{"uri":"/melonJS/docs/melonjs/RoundRect.html#updateBounds"},"JzGGX58PwYDGTnmiBS_i3":{"uri":"/melonJS/docs/melonjs/Sprite.html"},"TwiGkVJDQDuBN8HbBFw1O":{"uri":"/melonJS/docs/melonjs/Sprite.html#alpha"},"AE-ur_uCin8Tk6vVWPI1w":{"uri":"/melonJS/docs/melonjs/Sprite.html#alwaysUpdate"},"n1GvlEWz1hw4dGiFSIEy3":{"uri":"/melonJS/docs/melonjs/Sprite.html#ancestor"},"Tbmm0LOtPa8eBIc7n1_t7":{"uri":"/melonJS/docs/melonjs/Sprite.html#anchorPoint"},"ZBhbeKHPvXq66Z83xq7lA":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationpause"},"eIfmUyUS47jH0NyaDTNcX":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationspeed"},"HQn2j8UHp3Jox0F52sfeW":{"uri":"/melonJS/docs/melonjs/Sprite.html#autoTransform"},"l-SoONNYhhDSNG4lTjdon":{"uri":"/melonJS/docs/melonjs/Sprite.html#blendMode"},"NhTU2eJMgozEqqtCcSBpA":{"uri":"/melonJS/docs/melonjs/Sprite.html#body"},"uYEqmACb5Hfu_2bonOwX1":{"uri":"/melonJS/docs/melonjs/Sprite.html#bottom"},"icOdUM29aSpvvEQkmir1W":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerX"},"ApZVxANBb404bnZ2b3hxR":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerY"},"CSqsALoNo1m2KTeuf8pjh":{"uri":"/melonJS/docs/melonjs/Sprite.html#currentTransform"},"uO4oxUHZ2w0HoyH4MQRCM":{"uri":"/melonJS/docs/melonjs/Sprite.html#depth"},"sT9aZQE0FOYkEtT_CHrow":{"uri":"/melonJS/docs/melonjs/Sprite.html#floating"},"6_kGQtHHhzp5qFyHhQ1sm":{"uri":"/melonJS/docs/melonjs/Sprite.html#GUID"},"9u4ccBI8bopLOa4Gxs2Dr":{"uri":"/melonJS/docs/melonjs/Sprite.html#height"},"SuadmCxBSYDH1uwSEstpV":{"uri":"/melonJS/docs/melonjs/Sprite.html#inViewport"},"y0xzp5pKmYjJI1zz3o5nG":{"uri":"/melonJS/docs/melonjs/Sprite.html#isDirty"},"Tk-TdN66x4-GkxgarGCoV":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedX"},"RqBlDDEqAsU_1OJp2YfMU":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedY"},"Z3tZ_nFzISUmf8Sz45_C0":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFloating"},"UwqsWajk_SZCzH2eEWnjF":{"uri":"/melonJS/docs/melonjs/Sprite.html#isKinematic"},"ZXvmyv7PUIVEJ1fUShsYR":{"uri":"/melonJS/docs/melonjs/Sprite.html#isPersistent"},"8x1C5OZrv5UgHDHSLDmgl":{"uri":"/melonJS/docs/melonjs/Sprite.html#isVideo"},"hBnAFtzn3oS8kNZ5dTE8V":{"uri":"/melonJS/docs/melonjs/Sprite.html#left"},"phrysuWIrph_MzlbMYHpu":{"uri":"/melonJS/docs/melonjs/Sprite.html#mask"},"3AgRwFdub9F8vfwm8I3Ve":{"uri":"/melonJS/docs/melonjs/Sprite.html#name"},"74_nWBoJYCE_LUBtmjDtv":{"uri":"/melonJS/docs/melonjs/Sprite.html#offset"},"9pXEun4Q5UZZy-Y4PrcPL":{"uri":"/melonJS/docs/melonjs/Sprite.html#onVisibilityChange"},"32njya88YvJGhv8nji4NY":{"uri":"/melonJS/docs/melonjs/Sprite.html#parentApp"},"ZVcJcmxAl-bi1WZM0v5Ky":{"uri":"/melonJS/docs/melonjs/Sprite.html#points"},"_ZD1bcmUc014n975mHO0E":{"uri":"/melonJS/docs/melonjs/Sprite.html#pos"},"FuD53mvhPEF0nqhAVPxw1":{"uri":"/melonJS/docs/melonjs/Sprite.html#right"},"FPy-p5LPmdmLCNdvWI6of":{"uri":"/melonJS/docs/melonjs/Sprite.html#shader"},"X-_0Fjcu05LDduz260cTq":{"uri":"/melonJS/docs/melonjs/Sprite.html#source"},"mVc9IHJ1j6WsxDxGbhwfC":{"uri":"/melonJS/docs/melonjs/Sprite.html#tint"},"bGOQK8qUShnRWD7WN8QtI":{"uri":"/melonJS/docs/melonjs/Sprite.html#top"},"RF3TaL0Z_nmUSsYlVT4Wk":{"uri":"/melonJS/docs/melonjs/Sprite.html#type"},"IBH_K5uw-F_BOpo9o2nJ3":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateWhenPaused"},"p2s3OfmfcyPBV3vDpIjZf":{"uri":"/melonJS/docs/melonjs/Sprite.html#width"},"KpX0C4GViOt0RSxWEXnow":{"uri":"/melonJS/docs/melonjs/Sprite.html#addAnimation"},"0Zl9JIyqKt9O9Ez-DbYQm":{"uri":"/melonJS/docs/melonjs/Sprite.html#angleTo"},"Lgq3pUW7ZJn0LuG3EY_HI":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerOn"},"fW918wHnx5FeTosgNk5Sa":{"uri":"/melonJS/docs/melonjs/Sprite.html#clone"},"YugqR12q0aSFQkUf6wQEX":{"uri":"/melonJS/docs/melonjs/Sprite.html#constructor"},"0aIMuuu0SXLHwwjHWVxqz":{"uri":"/melonJS/docs/melonjs/Sprite.html#contains"},"qyUzM1NSEdkQIfiGo4gKg":{"uri":"/melonJS/docs/melonjs/Sprite.html#copy"},"SqL9VVl-PAx_zaTmzzx6g":{"uri":"/melonJS/docs/melonjs/Sprite.html#distanceTo"},"DbqlvMSS118OGbth3Ep9I":{"uri":"/melonJS/docs/melonjs/Sprite.html#equals"},"MFJmmIMXgJbr6WDsI9Fr7":{"uri":"/melonJS/docs/melonjs/Sprite.html#flicker"},"2wawaNLaDRVyBzY-z5Hhn":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipX"},"-f3Uo5uRCa0oIBrERDi3p":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipY"},"hu_VGMOchphMlGN1ui-qO":{"uri":"/melonJS/docs/melonjs/Sprite.html#getAbsolutePosition"},"dFqzquD2f8S2aM5e2LTpP":{"uri":"/melonJS/docs/melonjs/Sprite.html#getBounds"},"bf4Hoq3sGKKyYkYe7xNxQ":{"uri":"/melonJS/docs/melonjs/Sprite.html#getCurrentAnimationFrame"},"edZ1Z2Yu6dAEqfWp6lM2t":{"uri":"/melonJS/docs/melonjs/Sprite.html#getIndices"},"C6-MOQbsZLiVLAJ9flYOk":{"uri":"/melonJS/docs/melonjs/Sprite.html#getOpacity"},"_8lBBExRrk-gXX0ZlurHH":{"uri":"/melonJS/docs/melonjs/Sprite.html#isConvex"},"ZOrLNhAqWAfLJG8hnAwAV":{"uri":"/melonJS/docs/melonjs/Sprite.html#isCurrentAnimation"},"av4ziIudPNgTgito3bcum":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFinite"},"Q2GPpyT8ma0eYSrqiLjL4":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlickering"},"4v_GCXSQKHrOlLFwKdKRJ":{"uri":"/melonJS/docs/melonjs/Sprite.html#lookAt"},"ajQ6W7zl0tkt2rlQoIrFA":{"uri":"/melonJS/docs/melonjs/Sprite.html#onCollision"},"8PvTaKTs5yyLu9s2U9YYj":{"uri":"/melonJS/docs/melonjs/Sprite.html#onDestroyEvent"},"-ET0PZWqq4xeRutS_qBfU":{"uri":"/melonJS/docs/melonjs/Sprite.html#overlaps"},"00eoFZBVQ7f2SfcgtNTXo":{"uri":"/melonJS/docs/melonjs/Sprite.html#pause"},"xI2gk7Dyny7poSZADly0j":{"uri":"/melonJS/docs/melonjs/Sprite.html#play"},"gujqd1Y_ffXsyFjk-pHv8":{"uri":"/melonJS/docs/melonjs/Sprite.html#postDraw"},"aXoh_E2TUiS4V2FQMLEdX":{"uri":"/melonJS/docs/melonjs/Sprite.html#preDraw"},"A6dilHJexp6ncbGjrcCDy":{"uri":"/melonJS/docs/melonjs/Sprite.html#recalc"},"4AArANbxAS3ysV43b9uDQ":{"uri":"/melonJS/docs/melonjs/Sprite.html#resize"},"e3GUE8i2-2n978o0fGamn":{"uri":"/melonJS/docs/melonjs/Sprite.html#reverseAnimation"},"N4TG26-g3gxByunwmRuXN":{"uri":"/melonJS/docs/melonjs/Sprite.html#rotate"},"k_LDJfiI1deU0bNUUlcob":{"uri":"/melonJS/docs/melonjs/Sprite.html#scale"},"QcojyIgyvvZimdlW7pLY5":{"uri":"/melonJS/docs/melonjs/Sprite.html#scaleV"},"vR28B4btY6DBZnh2LtgBy":{"uri":"/melonJS/docs/melonjs/Sprite.html#setAnimationFrame"},"h1xvkmuxjA0C1IZGFazfV":{"uri":"/melonJS/docs/melonjs/Sprite.html#setCurrentAnimation"},"KzXFBQCzdqL_UxncTRvic":{"uri":"/melonJS/docs/melonjs/Sprite.html#setOpacity"},"3H4q_3twj6cZdMZYQPrAf":{"uri":"/melonJS/docs/melonjs/Sprite.html#setRegion"},"cxrkD7QgMTk3lEsw7ejD6":{"uri":"/melonJS/docs/melonjs/Sprite.html#setShape"},"7MbR9uQrgKLu-id0ZKfTs":{"uri":"/melonJS/docs/melonjs/Sprite.html#setVertices"},"nkStvyu1ppDbi2Yb-WSBX":{"uri":"/melonJS/docs/melonjs/Sprite.html#shift"},"o0dXFUcTJFuuvUWY2Ox7B":{"uri":"/melonJS/docs/melonjs/Sprite.html#to2d"},"IbDVHPnBeun0ncmraIBHa":{"uri":"/melonJS/docs/melonjs/Sprite.html#toIso"},"f7q6ej-6v5jM3Q8TTss_G":{"uri":"/melonJS/docs/melonjs/Sprite.html#toPolygon"},"0_wcdLpdM2EdDuWbvQWPT":{"uri":"/melonJS/docs/melonjs/Sprite.html#transform"},"3ZbOqaPoH57xOuYXNVXA8":{"uri":"/melonJS/docs/melonjs/Sprite.html#translate"},"oq5Fh31UsOwnPTIbrk00c":{"uri":"/melonJS/docs/melonjs/Sprite.html#union"},"V8E7vU1FaEROb69TwjVqq":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateBounds"},"DhD1vpRX4SMGU6XoxgVt7":{"uri":"/melonJS/docs/melonjs/Sprite.html#draw"},"4jKldUGbz0e358lDb7kTE":{"uri":"/melonJS/docs/melonjs/Sprite.html#update"},"UlwNtfdpQ7WOskchrU9ut":{"uri":"/melonJS/docs/melonjs/Sprite.html#onAnchorUpdate"},"zepsdR27i5tyfx8yTKwGq":{"uri":"/melonJS/docs/melonjs/Stage.html"},"poZROSjiuuF7ro91kiaxx":{"uri":"/melonJS/docs/melonjs/Stage.html#ambientLight"},"E4askLI0qityHsVpJmMuU":{"uri":"/melonJS/docs/melonjs/Stage.html#cameras"},"ssS4uEl4US27xskCA6sAX":{"uri":"/melonJS/docs/melonjs/Stage.html#lights"},"xFGPCZjez77i5COHKDH36":{"uri":"/melonJS/docs/melonjs/Stage.html#settings"},"ys53_xPz0S3ohufzvWiG2":{"uri":"/melonJS/docs/melonjs/Stage.html#constructor"},"hv4xagQR9oYvU0zPFMg8p":{"uri":"/melonJS/docs/melonjs/Stage.html#onDestroyEvent"},"_hbcfcGZMnjKOgILz9l9g":{"uri":"/melonJS/docs/melonjs/Stage.html#onResetEvent"},"1tndmjwReBTQK2O0UFSBM":{"uri":"/melonJS/docs/melonjs/Text.html"},"1PdHRDCqa04Zqoi24V89M":{"uri":"/melonJS/docs/melonjs/Text.html#alpha"},"Qyp1kIg7ky3sMeZvx3yU8":{"uri":"/melonJS/docs/melonjs/Text.html#alwaysUpdate"},"tdqbJ6AenVa8cjAd_ES9x":{"uri":"/melonJS/docs/melonjs/Text.html#ancestor"},"ZuVEEq_Kw9Lws6k9sSM6W":{"uri":"/melonJS/docs/melonjs/Text.html#anchorPoint"},"LEZCU0tOwAAmYOqCNFBFh":{"uri":"/melonJS/docs/melonjs/Text.html#autoTransform"},"mkaaqlKp88aZatZa-Bkx8":{"uri":"/melonJS/docs/melonjs/Text.html#blendMode"},"UFG6_WRJpKpO538yimHzj":{"uri":"/melonJS/docs/melonjs/Text.html#body"},"ggVc1FoDMhpnyaPGKitrs":{"uri":"/melonJS/docs/melonjs/Text.html#bottom"},"1DonHaYfGAoUO14d2a6Uy":{"uri":"/melonJS/docs/melonjs/Text.html#centerX"},"I3C2JDSFyCFTRrzAdXy3Z":{"uri":"/melonJS/docs/melonjs/Text.html#centerY"},"HwmZ9YaCf3rENcKHa2t-s":{"uri":"/melonJS/docs/melonjs/Text.html#currentTransform"},"lVZu9BeEDzKBYNaGAVWYU":{"uri":"/melonJS/docs/melonjs/Text.html#depth"},"qSCM3HIWLghh42BErEsZ8":{"uri":"/melonJS/docs/melonjs/Text.html#fillStyle"},"kTc47q86SUurmLJzZ1QP0":{"uri":"/melonJS/docs/melonjs/Text.html#floating"},"ww7TJ7yXQ5UKeTYStJgwa":{"uri":"/melonJS/docs/melonjs/Text.html#fontSize"},"5J5chGmL4rkP6bX1w7O7S":{"uri":"/melonJS/docs/melonjs/Text.html#GUID"},"alHnvlzCKjGSbjPWQnK_I":{"uri":"/melonJS/docs/melonjs/Text.html#height"},"HJIaBCqEteOO5dAgwiXzG":{"uri":"/melonJS/docs/melonjs/Text.html#inViewport"},"yPbNgvoLsWXeiYVTP-60M":{"uri":"/melonJS/docs/melonjs/Text.html#isDirty"},"asMY00h0hFuyXGMQcirbB":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedX"},"eB-TQ0TUwrli85majyTiS":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedY"},"m_IDvuKv-4Xd5IV8d-BC9":{"uri":"/melonJS/docs/melonjs/Text.html#isFloating"},"8w0tnTI0jAZ6461N1xOVa":{"uri":"/melonJS/docs/melonjs/Text.html#isKinematic"},"5a7D5bmKIsDVXk9qDIzfi":{"uri":"/melonJS/docs/melonjs/Text.html#isPersistent"},"y4zYkhcC35_KQfBc1Bfdq":{"uri":"/melonJS/docs/melonjs/Text.html#left"},"lk2Xq2TOtuHDopc3lsO_b":{"uri":"/melonJS/docs/melonjs/Text.html#lineHeight"},"t6drHc6M6HRB4uhib_mav":{"uri":"/melonJS/docs/melonjs/Text.html#lineWidth"},"hyaOYTxHcj9hcxkP-usjm":{"uri":"/melonJS/docs/melonjs/Text.html#mask"},"HXDTBqMv0NIIUQKAONIJt":{"uri":"/melonJS/docs/melonjs/Text.html#name"},"gOAlgi4UcjGE5ti421Q2a":{"uri":"/melonJS/docs/melonjs/Text.html#onVisibilityChange"},"7MpGjl2It2Yz8t1bGDCHv":{"uri":"/melonJS/docs/melonjs/Text.html#parentApp"},"oJDCXLUCPVUVQF484t-zR":{"uri":"/melonJS/docs/melonjs/Text.html#points"},"wGdFgECAwnD2PH-KkX3W8":{"uri":"/melonJS/docs/melonjs/Text.html#pos"},"i5Cgty0H9nmGnpe_nP13K":{"uri":"/melonJS/docs/melonjs/Text.html#right"},"fj2WYCqdHFj7CQQE48n3S":{"uri":"/melonJS/docs/melonjs/Text.html#shader"},"gG87qHmOmZ4lgJgGEntNY":{"uri":"/melonJS/docs/melonjs/Text.html#strokeStyle"},"0HyaBM9YemTwmHQgUi8OF":{"uri":"/melonJS/docs/melonjs/Text.html#textAlign"},"fOTUME3foQojuzjtaao_L":{"uri":"/melonJS/docs/melonjs/Text.html#textBaseline"},"3B4-Zfts-VWdTjtK31PAC":{"uri":"/melonJS/docs/melonjs/Text.html#tint"},"8avDYxhn8WJMTjW56K_78":{"uri":"/melonJS/docs/melonjs/Text.html#top"},"AyE7yvU5C9P5Z2wW6MvOo":{"uri":"/melonJS/docs/melonjs/Text.html#type"},"Ux7WnrJW3bxxsnX4AG4qf":{"uri":"/melonJS/docs/melonjs/Text.html#updateWhenPaused"},"hFoRXzuLVYbF6FgZdjFnu":{"uri":"/melonJS/docs/melonjs/Text.html#width"},"H6l0B-_Izinux0Cq7P_w7":{"uri":"/melonJS/docs/melonjs/Text.html#wordWrapWidth"},"c35YyUyrAMUSXnf2uIuZ_":{"uri":"/melonJS/docs/melonjs/Text.html#_text"},"XNfH_k13MyIc-fwAqQcXG":{"uri":"/melonJS/docs/melonjs/Text.html#angleTo"},"U1JoAZb4YY04YIuy-H-D6":{"uri":"/melonJS/docs/melonjs/Text.html#bold"},"hU6ry9euimrVBGrmJs9Ul":{"uri":"/melonJS/docs/melonjs/Text.html#centerOn"},"WyrcJk4RBT9CQQLfKUvzv":{"uri":"/melonJS/docs/melonjs/Text.html#clone"},"_AfuQfQT0fd_F5OFhfLRR":{"uri":"/melonJS/docs/melonjs/Text.html#constructor"},"eCQsXbcFxR--xGYLus5Tw":{"uri":"/melonJS/docs/melonjs/Text.html#contains"},"MKw_BVqYv5ApRF0o0q7RN":{"uri":"/melonJS/docs/melonjs/Text.html#copy"},"iZsnoyvqVlr0Amlj0oo8c":{"uri":"/melonJS/docs/melonjs/Text.html#distanceTo"},"TWK5aIG_jZIMsvKkzUR4P":{"uri":"/melonJS/docs/melonjs/Text.html#draw"},"zCPltIkBJi3k_KbC_-jQ4":{"uri":"/melonJS/docs/melonjs/Text.html#drawStroke"},"ycCXHJRB5795op1GB8UM6":{"uri":"/melonJS/docs/melonjs/Text.html#equals"},"j-oPG8x2-gGF3x9xqE0g7":{"uri":"/melonJS/docs/melonjs/Text.html#flipX"},"xntslztxbKqU-8HL5iTEq":{"uri":"/melonJS/docs/melonjs/Text.html#flipY"},"YJbeRNXM_AnCXs4r7Rwxn":{"uri":"/melonJS/docs/melonjs/Text.html#getAbsolutePosition"},"uF2jaFmhB5BWGxRT78d1s":{"uri":"/melonJS/docs/melonjs/Text.html#getBounds"},"4txw8sih1ZKMnnFj0t9Va":{"uri":"/melonJS/docs/melonjs/Text.html#getIndices"},"36CoZruA4mxa3LN4RtQDC":{"uri":"/melonJS/docs/melonjs/Text.html#getOpacity"},"Sp2rJa1rmUqdCOilcXgY8":{"uri":"/melonJS/docs/melonjs/Text.html#isConvex"},"k0gjty7g5MHok7r3-dYSJ":{"uri":"/melonJS/docs/melonjs/Text.html#isFinite"},"sXycK84YHF4oK8NhRC3Ra":{"uri":"/melonJS/docs/melonjs/Text.html#italic"},"ZGm7I3Zbe5JHCnXbKSCQC":{"uri":"/melonJS/docs/melonjs/Text.html#lookAt"},"iI9smtPSQHKzdKEHsiGIA":{"uri":"/melonJS/docs/melonjs/Text.html#measureText"},"2qc8jhblGBrP6Qk1_ZoIv":{"uri":"/melonJS/docs/melonjs/Text.html#onCollision"},"qtKpkuybH6jmfxv-2UADx":{"uri":"/melonJS/docs/melonjs/Text.html#onDestroyEvent"},"_gGZoNSLmwBwluTaVO89M":{"uri":"/melonJS/docs/melonjs/Text.html#overlaps"},"z6WH80C33DAP_5OJQkBMK":{"uri":"/melonJS/docs/melonjs/Text.html#postDraw"},"f3R8Wng7P5U9hn9mE7LYc":{"uri":"/melonJS/docs/melonjs/Text.html#preDraw"},"3YM91SKXPh20Em18nbb8R":{"uri":"/melonJS/docs/melonjs/Text.html#recalc"},"rRXrOzQCDPrEwrGsce_22":{"uri":"/melonJS/docs/melonjs/Text.html#resize"},"QKWNe6vquv_h8MFwSCoVx":{"uri":"/melonJS/docs/melonjs/Text.html#rotate"},"s0bOpvWfeC3hHC-IbHTmp":{"uri":"/melonJS/docs/melonjs/Text.html#scale"},"_CqABrlCX-zseY-L9-TV0":{"uri":"/melonJS/docs/melonjs/Text.html#scaleV"},"cz9WOU2ky4zW5l4-A6gYg":{"uri":"/melonJS/docs/melonjs/Text.html#setFont"},"WTR_-aY-Py8jvycCL6dSU":{"uri":"/melonJS/docs/melonjs/Text.html#setOpacity"},"5cIm5nM9RSME6FMK6s8Qa":{"uri":"/melonJS/docs/melonjs/Text.html#setShape"},"Ja3nGJ1QxLRN8dB7Puo2Y":{"uri":"/melonJS/docs/melonjs/Text.html#setText"},"zk0v8TqkQ7eIZH24up497":{"uri":"/melonJS/docs/melonjs/Text.html#setVertices"},"dLGe7YyOIbT5R6K8NcYu9":{"uri":"/melonJS/docs/melonjs/Text.html#shift"},"FpMYo5kWLnQBEsbODrJDU":{"uri":"/melonJS/docs/melonjs/Text.html#to2d"},"M7gQxql3-DlECrZ00rM0_":{"uri":"/melonJS/docs/melonjs/Text.html#toIso"},"ulObF-r36K5qQq1koFqjy":{"uri":"/melonJS/docs/melonjs/Text.html#toPolygon"},"vCYBoE0sAb1ZCC2OvMuPV":{"uri":"/melonJS/docs/melonjs/Text.html#transform"},"E1xO_7xPnSH2vabTSX6gK":{"uri":"/melonJS/docs/melonjs/Text.html#translate"},"qQ7z5qts7AON7ki8UYgT7":{"uri":"/melonJS/docs/melonjs/Text.html#union"},"nid15TJeV_YnoUeYC3Mfo":{"uri":"/melonJS/docs/melonjs/Text.html#update"},"G8Hi_tW6i2IZb91QmP_rp":{"uri":"/melonJS/docs/melonjs/Text.html#updateBounds"},"_ez3Hie7ziqqkudjuUwE8":{"uri":"/melonJS/docs/melonjs/Text.html#onAnchorUpdate"},"iZIf1A4eW6bZINPHYjShF":{"uri":"/melonJS/docs/melonjs/TextMetrics.html"},"_u36OrtDlKesXW5O4FPuh":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#ancestor"},"bYoTOWK0M2kySW6UQYKoZ":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#bottom"},"bCXvQtWSZMwFb39qUrXYm":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#center"},"VEcfBL-8Zpmxbogn1zWKy":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerX"},"9ZX7ee1q_z6rF7TRaZPtr":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerY"},"BL3b3Ehns6KR5M3n9s_jz":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#height"},"2dKUEFKEEXmnSzcydxovW":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#left"},"f_RkuIzhL8RTB5nBOrol1":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#right"},"aVcpuCwMekzznjnPLSUSe":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#top"},"MsqBptYM3UWHrEIUGxZIj":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#type"},"ka4msCvM6cWjbIPbwKyEh":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#width"},"2DkNa9spSxBrtEJtqkVvl":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#x"},"vgamqQFHhXv_vmg0bx5MD":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#y"},"HOpFuuu9rE_y-Apo8HSIy":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#add"},"L-72dNYz_bD37wk4uK4h4":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addBounds"},"5CmI43_7NLq0bdGsQZzRV":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addFrame"},"GHlv7mCNY2t_vh6SaP8E-":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addPoint"},"qgzH1-L_9NnxU-H39MERH":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerOn"},"_5h6q2MqQju-ZeYvFpiJ_":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clear"},"U17nwXaNmi9f-0738i9aJ":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clone"},"ELFEU8qxyOyxg1nO0qLfj":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#constructor"},"mbJnHssgfYSrXHIzLLGTc":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#contains"},"HRyp6s45ADmFTrvY_wa0u":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#isFinite"},"z3Ya5wtXkncXb78sCvq4R":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineHeight"},"W9s7ufbV5VKCLGqUDQ7JU":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineWidth"},"Begvzqh1yb3MOFJia0qZX":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#measureText"},"DaG4PG-GhPvhM_U2Go1O6":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#overlaps"},"t1x0rRrJRJPyU8R7YQp7t":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#setMinMax"},"eunwxKCJW4U6kLeQjYDKB":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#shift"},"2_4YQXq5or9orfzL51now":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#toPolygon"},"2z6teYJnpkvlXfzLvDseK":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#translate"},"3winwQc4KDIUupvUVg-Jc":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#update"},"Q_OjgeC1tTnZS9-V-0PGn":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#wordWrap"},"lPNX2_gvCD4Yz2DYyI8T7":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html"},"tvilWjjBC-vVMqJNsMma0":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addRegion"},"wZ3mlYYQZ-2fzSxVfLvWZ":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addUVs"},"Ib88dCGbBaLoQwVFZcLuH":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#constructor"},"i7Elwa2RntQPfPxATmtxN":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createAnimationFromName"},"pTQnhOuE6CnMvwywRzDlw":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createSpriteFromName"},"qCZquO5KToK_7QRNSLlZZ":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getAtlas"},"SkP0XrbezU3_9Bi5VKu-M":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getFormat"},"Yo2O3Cy25JBXAJe_4S4qU":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getRegion"},"A5VSvZrwdw8geAvFf9Uxp":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getTexture"},"Jb3xtMf6_HCATWiKZ1J5U":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getUVs"},"4521qV5n9qwJWsqNyAnfS":{"uri":"/melonJS/docs/melonjs/Tile.html"},"74vyUxrZWSx5C5M2jZ-Rj":{"uri":"/melonJS/docs/melonjs/Tile.html#bottom"},"Wk1ElnLBXhwyoOVdBmqIV":{"uri":"/melonJS/docs/melonjs/Tile.html#center"},"qcKPLP0jf3FhDRkVJ1Kk8":{"uri":"/melonJS/docs/melonjs/Tile.html#centerX"},"LTb38ZPkrb4OReb6QUiHl":{"uri":"/melonJS/docs/melonjs/Tile.html#centerY"},"7DYlL8D2y4DukMabquKHF":{"uri":"/melonJS/docs/melonjs/Tile.html#flipped"},"3RxTfmfkUA-1tISgB34E2":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedAD"},"195Zw4DSK9W8XlxYvMMvI":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedX"},"055wyJY3R7HgqOCoRRug3":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedY"},"cxr1YfvhFtF7wQmgjsBzg":{"uri":"/melonJS/docs/melonjs/Tile.html#height"},"rTYsnYLmrn06X7Pery5Re":{"uri":"/melonJS/docs/melonjs/Tile.html#left"},"sz2t9LtnkbgPrbqvKL0xT":{"uri":"/melonJS/docs/melonjs/Tile.html#right"},"XlJbYvbpirKECUVpbdWcT":{"uri":"/melonJS/docs/melonjs/Tile.html#tileId"},"LMS7ruG0zOEIwNrfUupqx":{"uri":"/melonJS/docs/melonjs/Tile.html#tileset"},"CM12JJ1LW9377f64_D6Wl":{"uri":"/melonJS/docs/melonjs/Tile.html#top"},"IuRUdO9DGfd2J-0bVlcql":{"uri":"/melonJS/docs/melonjs/Tile.html#type"},"TEV95Z3KdoOu_ZYsZpWFt":{"uri":"/melonJS/docs/melonjs/Tile.html#width"},"_I2Zr8wRsUtWwxKWeoWvk":{"uri":"/melonJS/docs/melonjs/Tile.html#x"},"6wkbQtJsXtlphsfNQ3Ptm":{"uri":"/melonJS/docs/melonjs/Tile.html#y"},"vmoC9O0uIJtUNk0D0UEZe":{"uri":"/melonJS/docs/melonjs/Tile.html#add"},"ZawSDGMNahS1MslLr-U2o":{"uri":"/melonJS/docs/melonjs/Tile.html#addBounds"},"aZ58mydkrmab75yi7xIzf":{"uri":"/melonJS/docs/melonjs/Tile.html#addFrame"},"oI6sHj-4ezMB_arH63kAD":{"uri":"/melonJS/docs/melonjs/Tile.html#addPoint"},"tuaGz1d6WHl6mdOL7aKH7":{"uri":"/melonJS/docs/melonjs/Tile.html#centerOn"},"YGVBaHTf-VALVVUZD_Bu6":{"uri":"/melonJS/docs/melonjs/Tile.html#clear"},"8U6QhOBo3D6O-rUUxX0tq":{"uri":"/melonJS/docs/melonjs/Tile.html#clone"},"zfZY4l2yhXDBf8ksgsR1o":{"uri":"/melonJS/docs/melonjs/Tile.html#constructor"},"HxTaTY0L4sgWtRHjBFFpa":{"uri":"/melonJS/docs/melonjs/Tile.html#contains"},"YdwAlhh-rmALK69VJ3tWu":{"uri":"/melonJS/docs/melonjs/Tile.html#getRenderable"},"UO3ePZQOEo0v_eVSCxCdB":{"uri":"/melonJS/docs/melonjs/Tile.html#isFinite"},"dPQU50sHudLA5fHHmmkgY":{"uri":"/melonJS/docs/melonjs/Tile.html#overlaps"},"JPOXb4N9B4Xoxx2pX876V":{"uri":"/melonJS/docs/melonjs/Tile.html#setMinMax"},"U6PDjVtLcgP8ISI6JjSHj":{"uri":"/melonJS/docs/melonjs/Tile.html#shift"},"WfhwGmCnebUk-SJdCOKxV":{"uri":"/melonJS/docs/melonjs/Tile.html#toPolygon"},"IQMvJnL6hQHNHg91CLjDN":{"uri":"/melonJS/docs/melonjs/Tile.html#translate"},"Qp4lprg5zOwM5AeVgJMn-":{"uri":"/melonJS/docs/melonjs/Tile.html#update"},"lI7M4bozI0p-xKlkD9tRc":{"uri":"/melonJS/docs/melonjs/Timer_.html"},"UidSJOu3lgyA7BjvAh1t6":{"uri":"/melonJS/docs/melonjs/Timer_.html#fps"},"T7fyLYUImXT4qwoBgSGmb":{"uri":"/melonJS/docs/melonjs/Timer_.html#interpolation"},"ziLX6NlggU0CvFVp6QM5_":{"uri":"/melonJS/docs/melonjs/Timer_.html#maxfps"},"6qf18hNYChLXaN_xPld7y":{"uri":"/melonJS/docs/melonjs/Timer_.html#tick"},"aZRmaWVss-bsRaiRYFmff":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearInterval"},"MTneKdojxrtpG_hK5ZkJP":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearTimeout"},"YYOYcqsY734AS3e7yHEJr":{"uri":"/melonJS/docs/melonjs/Timer_.html#getDelta"},"ZkUB5_G8AOHs3huZHDNb4":{"uri":"/melonJS/docs/melonjs/Timer_.html#getTime"},"Ut4DEsGcnrRpQUTiPkTsG":{"uri":"/melonJS/docs/melonjs/Timer_.html#setInterval"},"GvDPwO6L9lBYHizvFcyvW":{"uri":"/melonJS/docs/melonjs/Timer_.html#setTimeout"},"BLe0_vw9_Cnnp2sK1qYJT":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html"},"s4hSwiNPAtCYgD36rJlW0":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#canRender"},"XnO1Z96tDiHP8jSUqh13I":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#constructor"},"X-8-XmP2oDf8Kv3j6MO_c":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTile"},"rZkJBRczSk_W4tAG1QtSH":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTileLayer"},"Qrm_mlUGdyl0QdKY1cP-s":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#getBounds"},"yNKyKDVeS-nfKyKvIyK4W":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#pixelToTileCoords"},"Fhh3ynfgaA3kFjUgKn7_6":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#tileToPixelCoords"},"B2uVka1qu5nzBi_k4qs-s":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html"},"mCR8aQGyS_1GpIi1mGqfP":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#canRender"},"Cvc2oAw7ER9JShWbXPYlw":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#constructor"},"rhZs9Hy_760fttLn5IhJy":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTile"},"_xWc60oDFC7ZZgF3AaN3B":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTileLayer"},"d36_rrOCvraKY8cwIJJDM":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#getBounds"},"urzCwXwZ2x2eg7i-syotv":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#pixelToTileCoords"},"K3mp88YlcLhiZOuCv5c8x":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#tileToPixelCoords"},"b_byxyamZevHCh0a4Dhva":{"uri":"/melonJS/docs/melonjs/TMXLayer.html"},"Esmg302jsXZAMSjzkcLvy":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alpha"},"XoZRm-_lBo2ou5k-fwlpm":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alwaysUpdate"},"IzN8RpbRXSkrnlYnRPaEM":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#ancestor"},"FJLMPs__X1GqC6pWIdfcj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#anchorPoint"},"Jx9IZlMtxaSd41fZdpSrF":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#animatedTilesets"},"xo43n62Sb1zpPFf1LwxVz":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#autoTransform"},"zXuu3v3AunbtJD3vSVEPZ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#blendMode"},"RO8nvC33-5VPYsLvTQotT":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#body"},"rwXNkbzpD_4zsii93y6CN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#bottom"},"lS-fcQC4zH_IM_tYTv7dE":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerX"},"1Obg_ZIHD9eTTer4zFfU9":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerY"},"mx1etAgEkxPoDePNC61Ea":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#class"},"-zsmPlME-5urUxDrBFLfr":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#currentTransform"},"F8K6juQugaqJ5vqrnzKsE":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#depth"},"Z0rrJgBI39cTwQylgp0RQ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#floating"},"-9Ah19TcEWG8mCWCHguQl":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#GUID"},"1yRQ9bE73eW2a2efv4exG":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#height"},"c9_QRviIEkoUKe6TUbaH7":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#inViewport"},"kXz40JTYCZcilKAUT9EO7":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isAnimated"},"FlkUd-OWt-8XHelFpUFEV":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isDirty"},"PT9C4mcS-67wRM93Yc10B":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedX"},"MVCFX8bkges_ZjwLHHEWh":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedY"},"ZLTiXgqcAvTStmZDz1mGd":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFloating"},"rRkm0jE_1t7g1aGvLAA-4":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isKinematic"},"GCyZIgEeZVCu6eJ3faVXr":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isPersistent"},"FEFmHO8dD5Mexg7a029KS":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#left"},"JADnxoT3_3iJWoQtxdDtH":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#mask"},"guQlMqDt1cL_DpwuR_H51":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#name"},"tbP4eB47-MoIV-WzDQnd-":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onVisibilityChange"},"7N8J1AEqHTNFOTEg1LOFq":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#parentApp"},"PUVDOw9HB0nvbNKmeKZli":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#points"},"9R3IAwX2mV6F-W2-mcR9W":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#pos"},"nkwHuN_07NKVcdN_CWOiy":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#renderorder"},"g2M5I15tj5SZtvDe45G24":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#right"},"P3p0KeG669DYuXOuyllPN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shader"},"kXcj6QiIm-52KeGmv5plZ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tilesets"},"hvkQu3xKPLmH3XHOGIHn4":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tint"},"Nz212W77I4-XQI8d7Nq8y":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#top"},"uKM2Et0Z60qiBamAUY3Hi":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#type"},"iUkgWs7q21-j7f0piGc6z":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateWhenPaused"},"iQW2NHlMZkW5vrPm4Y3J0":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#width"},"PK6caGFY4Y48K0wBZFP67":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#x"},"zjtTQy1nwAbX1RMBJpSUl":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#y"},"EwgS9XsonkJIN-CRSMGT0":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#angleTo"},"W2Z_zZjxahhp2GuXum-ZS":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#cellAt"},"Vw4vC5HUyo3xqpD2li0uU":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerOn"},"byGISr0pfkoTIADIlqNOU":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clearTile"},"ZuK9q-d8SdL-G-KweDMed":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clone"},"-yvUT3q6zRyz-H1uwfH--":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#constructor"},"0g3o8ihaYTLfU4LQuxGKP":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#contains"},"DDV50JfUi4lukJ3epPYSU":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#copy"},"5NyKf5cW_2G2e2Q8lfFzl":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#distanceTo"},"qfnt2hovOv2iot2zgH1rE":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#draw"},"_-BV0elXsOL5OWjV1ohxk":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#equals"},"OdmN-iVf238EFm_XuPTM8":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipX"},"O70ofos2lzZbKifRZKimK":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipY"},"4ULhEcnmC5ElPUHXKS_pQ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getAbsolutePosition"},"hQsM8u4Ja-rKkp0JjCFlk":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getBounds"},"pEjiO8greBacDxff4cj86":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getIndices"},"8v7EHQXeS4Xa9CogHQSpS":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getOpacity"},"q8hWrmcUgj3FLBmUbTK6l":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getRenderer"},"OUVxS9CaPQdul_U84TsE8":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTile"},"M56Zq2rBEFmIVrxoMZ3jx":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileById"},"3uAUU1z0PKdiZ5vMWZSJh":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileId"},"aMgx6BwWiixeBPpmDknmY":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isConvex"},"xh48x0zmdMJJA0ClSIQYk":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFinite"},"uTa7USIUCNxgsF3LnNQKm":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#lookAt"},"hodPAans708hHYOn4gX8Q":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onCollision"},"ovVtO16uhyhcHFizXuMgH":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onDestroyEvent"},"dKHQ_otBHodlUERFKWeml":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#overlaps"},"Hqw6SDkid4z0e6y64gWL-":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#postDraw"},"3pq9IkSAMa9wkOinjklRe":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#preDraw"},"2G4dNUEHAM8Usntj0Zq6Y":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#recalc"},"RJ5dSZDjWne-UtkW4Cn6_":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#resize"},"DBasKIpqxSYo2YU69fcSw":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#rotate"},"12IKJyvIxvQdb6JyOz7r1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scale"},"eByRNaRSoIZqnfzsNADwQ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scaleV"},"oWoYFnvwiRQtSBAMBa37Z":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setOpacity"},"j7-ws0k5PfuJInEyWKPby":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setRenderer"},"ODncIIRli5-1LnaMRkhZm":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setShape"},"9UDnxZd6GvOOlN1LA_sVE":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setTile"},"Fn0wFH5ERXZs4wF-s9jPq":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setVertices"},"mjPCjpDTw_xieUwytShEO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shift"},"1nh-EMuB6XvidFCOHzpww":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#to2d"},"n5VN3FIOcVpr7V9QgU0Ym":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toIso"},"vJZ6XoO_Bped39_lQ7xbr":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toPolygon"},"O5naF8m6m8Jw9QbYzzM0X":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#transform"},"sAEI_risLDXB9kbcXphMr":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#translate"},"4o5WtA6zD5h4cy4_FywkN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#union"},"z_LMWRc6-t11uEu8p3Smz":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#update"},"r-O1YZF72FKACZLCxwiGs":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateBounds"},"_CefBhj3PG2cvNCoV3qOS":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onAnchorUpdate"},"QlUgbHG1I3GY_3A8z7WsD":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html"},"cNo8e6qbKHypz8_ZKCxSa":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#canRender"},"ZxM6AK_GiH7Z0HfWiUtQh":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#constructor"},"XhBE1W2GPF4Lg0zL4tdQV":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTile"},"mMeDXAdZfSvf04GZGa6eA":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTileLayer"},"jSbLscl-dL2YKuBl385PD":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#getBounds"},"AtmM1INEPy6VehZ9Tgx0g":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#pixelToTileCoords"},"QDnydMCTgeuYwQkp1AtRP":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#tileToPixelCoords"},"j3T3nqPaNyo7D28NX3dHw":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html"},"rSk6iQN1En2QHinLVyaGd":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#canRender"},"SU8PIGbyGKLqm0djdQ_V4":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#constructor"},"H2YwEixPJ6s_plSGNb5DU":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTile"},"Ou7Ecc4vgMIqZhaLVptCc":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTileLayer"},"yMSCCHl8oE5CxeFg3xyjM":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#getBounds"},"frvY7CcEbHEb8Zh3RFl4Z":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#pixelToTileCoords"},"WKBS4FcKX5x5cUBgMghC1":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#tileToPixelCoords"},"vP-Qe7i6GsTtYmVQcm44o":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html"},"Ws7iJy8vqzlM9zP4DKGqb":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#canRender"},"eivL9BIxp3_lrLgYBm-qG":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#constructor"},"R0dGJ-A4O9fRQkYcChZWe":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTile"},"L839aSTgDkIGXM6wWrYnG":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTileLayer"},"Eh1jxhmyhALeSWxKcbori":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#getBounds"},"GFzhTjVVbWO8WmHYt6P7M":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#pixelToTileCoords"},"SRYvkBYXRjlKdDJYB3gGf":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#tileToPixelCoords"},"NO-F7uvt-iOfsGxtT2vAZ":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html"},"Lgop7whuQqxN0RErx3WAk":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#class"},"T-qKkqEQBeGtXprOpvh9x":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#cols"},"nEqxpc6kM-2pfOjMIwBMH":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#infinite"},"BAn-dyYja6qFyr_Zb0Qt_":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#name"},"mk8uyUO-h-yBk3rDnKOel":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#orientation"},"SJ7uXlWz84ySzK3WLxFrN":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#renderorder"},"Hw2nI0JKz7UHKnfJOr1XH":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#rows"},"K64SlfCSP56s4fVeQsGON":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tiledversion"},"HK-AtIjHaIR3SICxrt-8j":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tileheight"},"Y4MV9W3DCHbh6UZ_Of_5J":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tilewidth"},"d5R1eAderQkdrPslaNahK":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#version"},"Ryk_A-Y_d-GfPGslYKGgr":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#addTo"},"NMtGN9OH44dpGyB9g6Zs-":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#constructor"},"Ssl2RF2MB50yDeqEKMq8V":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#destroy"},"t1UJ_NVMuVV8IEtdjrEtL":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getBounds"},"vlZ5bwp5KLbhAPnrDQIMq":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getLayers"},"MOH4MfcC06oOik1r9asSx":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getObjects"},"9GiHSdoxJQasJLGolZM30":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getRenderer"},"oJbGWN1icy8ve8NklbP3u":{"uri":"/melonJS/docs/melonjs/TMXTileset.html"},"1HWbC2p1maNwreqSm9OlJ":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#class"},"hAN1gtm7c877S1h_GFa2G":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isAnimated"},"xDIXkx42s_eT_bc59QJkr":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isCollection"},"v5sFwvGWtSBNOiBEXo7ws":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#_lastUpdate"},"Svsff1pjOa4uKw7Q05dnK":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#animations"},"Tyn-zBdGlfL84IG0nz-3B":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#constructor"},"8R3peClDqpwQqxT3k2ECN":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#contains"},"bCtoVz6US0nYgiXQZhvDN":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileImage"},"TBGg3x_8VxnUlf2O-dkFv":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileProperties"},"BFRymTQTe4qdtY-6TakXD":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getViewTileId"},"xlI4KFvkAi7rG5qJ5k6ft":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html"},"9ECXOTU8-1wvhfIoV-FTS":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#add"},"Ne7ATkafhXcFJA2gKV_8C":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByGid"},"4JMwEX26gXZUosiNq5hkM":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByIndex"},"d8wON0K6iTldyWAzgB5ZQ":{"uri":"/melonJS/docs/melonjs/Trigger.html"},"6iFzWVOMG9-D_uEFPqsaz":{"uri":"/melonJS/docs/melonjs/Trigger.html#alpha"},"Vv0wG7F8dK0sUWOe-ERJW":{"uri":"/melonJS/docs/melonjs/Trigger.html#alwaysUpdate"},"Y8RCHTqspHbPOJQ8P-3Ff":{"uri":"/melonJS/docs/melonjs/Trigger.html#ancestor"},"X_QMsfeO9c0IZpsFFkZAv":{"uri":"/melonJS/docs/melonjs/Trigger.html#anchorPoint"},"4hlkexmYxhAXoLI3kRMiH":{"uri":"/melonJS/docs/melonjs/Trigger.html#autoTransform"},"2ri6hPtvs3IVTB3h2Bp-x":{"uri":"/melonJS/docs/melonjs/Trigger.html#blendMode"},"Ja5pNLDjB1jJUGxb8Aa8u":{"uri":"/melonJS/docs/melonjs/Trigger.html#body"},"bQ5ioQpWyrEHXHpmnNCEH":{"uri":"/melonJS/docs/melonjs/Trigger.html#bottom"},"YmY1wvi3X2iIkyoZrd13e":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerX"},"otpcyX1bSWoj2z59Fj2kA":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerY"},"8fsr0k91ZiJe6ZdfqigUd":{"uri":"/melonJS/docs/melonjs/Trigger.html#currentTransform"},"WNHPoUEpfUeDEfh3ffEYY":{"uri":"/melonJS/docs/melonjs/Trigger.html#depth"},"Uvvy-_xRs3X1Pk9Idkx2D":{"uri":"/melonJS/docs/melonjs/Trigger.html#floating"},"O6d6xfHAVMLGxHttrjFju":{"uri":"/melonJS/docs/melonjs/Trigger.html#GUID"},"t2h4lurL2hXg_jSv-b1Th":{"uri":"/melonJS/docs/melonjs/Trigger.html#height"},"RE6NJ2prkPd7QAnHxBlQb":{"uri":"/melonJS/docs/melonjs/Trigger.html#inViewport"},"XrOTxF4Oc2EP1BKdue9yS":{"uri":"/melonJS/docs/melonjs/Trigger.html#isDirty"},"gtRpvAiQKuN0FLcqq81kK":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedX"},"5vCxJsy6YfJEQ3efr6cYA":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedY"},"nfgNj8BcMjeLFm8D2v5dT":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFloating"},"YwQmnxdDcc4Ywy9AoqBgK":{"uri":"/melonJS/docs/melonjs/Trigger.html#isKinematic"},"VjPEgDDMnfM1oNkQTo8-r":{"uri":"/melonJS/docs/melonjs/Trigger.html#isPersistent"},"nZ4aTz8_U2WAUGdfvLkDv":{"uri":"/melonJS/docs/melonjs/Trigger.html#left"},"joMmbrzk_w5e7wMVSBQiM":{"uri":"/melonJS/docs/melonjs/Trigger.html#mask"},"9DJrxWy6vnr8p6SHDGjKX":{"uri":"/melonJS/docs/melonjs/Trigger.html#name"},"-yP5H3u-YO-aEqAT90ISM":{"uri":"/melonJS/docs/melonjs/Trigger.html#onVisibilityChange"},"QfprrqzEgIP_kNjNF1KG-":{"uri":"/melonJS/docs/melonjs/Trigger.html#parentApp"},"hLmoi7p58SeqAeQgmue-L":{"uri":"/melonJS/docs/melonjs/Trigger.html#points"},"qYudtmaI6NlLhYRuRB5JN":{"uri":"/melonJS/docs/melonjs/Trigger.html#pos"},"R9IWat1PxqnoZfjVGPLld":{"uri":"/melonJS/docs/melonjs/Trigger.html#right"},"NqdnGsexISrguZejEIusP":{"uri":"/melonJS/docs/melonjs/Trigger.html#shader"},"nZeqGGGn6pbA8StlkNNEe":{"uri":"/melonJS/docs/melonjs/Trigger.html#tint"},"dCdehhrYx1zJtbyqJVY7n":{"uri":"/melonJS/docs/melonjs/Trigger.html#top"},"Ak-A6WJWTShrg1YSPutgp":{"uri":"/melonJS/docs/melonjs/Trigger.html#type"},"LC3T5uw-UVZ4TzmDvE1Eb":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateWhenPaused"},"BVtiJp7ZW5K5OX6JbtsWc":{"uri":"/melonJS/docs/melonjs/Trigger.html#width"},"_sxlLnpeROUpoNHhA6j6q":{"uri":"/melonJS/docs/melonjs/Trigger.html#angleTo"},"KDYHK8NbbSOMb5IWexbca":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerOn"},"rNe5niYl997Q2WHfX0Vxh":{"uri":"/melonJS/docs/melonjs/Trigger.html#clone"},"ljINnxtznDwiqvaZrJCm6":{"uri":"/melonJS/docs/melonjs/Trigger.html#constructor"},"lpDyPJaTduEKnO7k0HMEe":{"uri":"/melonJS/docs/melonjs/Trigger.html#contains"},"6lQBVvBHKvFaXDrl0sRaL":{"uri":"/melonJS/docs/melonjs/Trigger.html#copy"},"5N0XUOyuvPKH-SsTQC4Cb":{"uri":"/melonJS/docs/melonjs/Trigger.html#distanceTo"},"67aYp09kzPkTvukCSiQZU":{"uri":"/melonJS/docs/melonjs/Trigger.html#draw"},"SxW25Bls-3ZqqQgXBvhs8":{"uri":"/melonJS/docs/melonjs/Trigger.html#equals"},"ofWBIeGE4V0w1a32dvOo0":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipX"},"igUeQnT8H5w6sIU6j4ZZn":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipY"},"Dhgu1N2vAltZvX2Jh1F3G":{"uri":"/melonJS/docs/melonjs/Trigger.html#getAbsolutePosition"},"MoRguuRCzb3LgDOjpxp7v":{"uri":"/melonJS/docs/melonjs/Trigger.html#getBounds"},"BwZlPQsINQRjQtabSZYFk":{"uri":"/melonJS/docs/melonjs/Trigger.html#getIndices"},"wMY1pGsXwQnH2FCbp4THr":{"uri":"/melonJS/docs/melonjs/Trigger.html#getOpacity"},"jnSMuPfFJa0TEBG-6JngZ":{"uri":"/melonJS/docs/melonjs/Trigger.html#isConvex"},"sgGzq9kwz9u1BKDnxV2TP":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFinite"},"1DSqPJtf2IAGUzs0JaXYE":{"uri":"/melonJS/docs/melonjs/Trigger.html#lookAt"},"jAVo_CqxU-KDr95e6KIM-":{"uri":"/melonJS/docs/melonjs/Trigger.html#onCollision"},"FVJR19TIZVSSQM1DX69T4":{"uri":"/melonJS/docs/melonjs/Trigger.html#onDestroyEvent"},"kwCDJhHHhwKoVESVEieMC":{"uri":"/melonJS/docs/melonjs/Trigger.html#overlaps"},"ROoU-4tXFlamsBRLevD4Q":{"uri":"/melonJS/docs/melonjs/Trigger.html#postDraw"},"8skcSREkKRItcaMF-frPz":{"uri":"/melonJS/docs/melonjs/Trigger.html#preDraw"},"RJTbTVxlhmho-51Z39YzT":{"uri":"/melonJS/docs/melonjs/Trigger.html#recalc"},"KADSjl2VbRewJJzlq1NHa":{"uri":"/melonJS/docs/melonjs/Trigger.html#resize"},"O2-LlJHixyfeTMEYbtsTG":{"uri":"/melonJS/docs/melonjs/Trigger.html#rotate"},"xn0MBsMHmBxOPVN7epX8P":{"uri":"/melonJS/docs/melonjs/Trigger.html#scale"},"59PLydDgvB3qnQg2eRzhE":{"uri":"/melonJS/docs/melonjs/Trigger.html#scaleV"},"lf7JK1zIPzmb5WvDBMlBK":{"uri":"/melonJS/docs/melonjs/Trigger.html#setOpacity"},"EvIUZTUlNgK97jTEBZLCm":{"uri":"/melonJS/docs/melonjs/Trigger.html#setShape"},"yrILi5RQXEMNB3XWCiGHR":{"uri":"/melonJS/docs/melonjs/Trigger.html#setVertices"},"bGqp337FjKw476Mk3BvOl":{"uri":"/melonJS/docs/melonjs/Trigger.html#shift"},"bAVroI_ffrTwOOcqeC6gE":{"uri":"/melonJS/docs/melonjs/Trigger.html#to2d"},"J2tmgdpjAMkjc7YPuesrW":{"uri":"/melonJS/docs/melonjs/Trigger.html#toIso"},"PO4GDWWMx3wYFzTrQog-Q":{"uri":"/melonJS/docs/melonjs/Trigger.html#toPolygon"},"7uzzoKIwHUQCIwRyt3O5I":{"uri":"/melonJS/docs/melonjs/Trigger.html#transform"},"5ccbq_QdsUl3RhZmlck-e":{"uri":"/melonJS/docs/melonjs/Trigger.html#translate"},"6szUeupZQquLl_OWERAOs":{"uri":"/melonJS/docs/melonjs/Trigger.html#union"},"kHR0CUTnhwwHBmOUwZF9k":{"uri":"/melonJS/docs/melonjs/Trigger.html#update"},"azE8IuJJ45jAM0zom2RW1":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateBounds"},"bLczJZ0sgVpTSRsCey7Fs":{"uri":"/melonJS/docs/melonjs/Trigger.html#triggerEvent"},"n8y-hb3804JaxHBHg-QSx":{"uri":"/melonJS/docs/melonjs/Trigger.html#onAnchorUpdate"},"RGn8rUrprA6AQgVGbI1fy":{"uri":"/melonJS/docs/melonjs/Tween.html"},"VGH_FM97I11Af5QEhQXRQ":{"uri":"/melonJS/docs/melonjs/Tween/Easing.html"},"Q7J_fADlBsp9rxZK760eU":{"uri":"/melonJS/docs/melonjs/Tween/Interpolation.html"},"vcWmyvaz3rFLF6BUMlsCp":{"uri":"/melonJS/docs/melonjs/Tween.html#chain"},"4yE7x3OVdiu8hpsgaHKs8":{"uri":"/melonJS/docs/melonjs/Tween.html#constructor"},"co2VCWoBUnTnDCUN6492A":{"uri":"/melonJS/docs/melonjs/Tween.html#delay"},"E4oZ2rOS_n08766R7O-L6":{"uri":"/melonJS/docs/melonjs/Tween.html#easing"},"rnnFJWwHEjD1VVp1vYhHH":{"uri":"/melonJS/docs/melonjs/Tween.html#interpolation"},"NUyBw8rpb6ZvtDrEiuMWR":{"uri":"/melonJS/docs/melonjs/Tween.html#onComplete"},"K8w8JXrqVaVwUouOqV44D":{"uri":"/melonJS/docs/melonjs/Tween.html#onStart"},"2ryBWo764XQs91pfFGtCS":{"uri":"/melonJS/docs/melonjs/Tween.html#onUpdate"},"lZBhNAxIGpu1eoie75FXJ":{"uri":"/melonJS/docs/melonjs/Tween.html#repeat"},"F8Eq733SKgGrZm12cbJcx":{"uri":"/melonJS/docs/melonjs/Tween.html#start"},"T2KSVD6npo5KYyKuIJXY5":{"uri":"/melonJS/docs/melonjs/Tween.html#stop"},"-esenua9XvFANAQfEEe1U":{"uri":"/melonJS/docs/melonjs/Tween.html#to"},"v2i4cKPVtwQwPYU2_gsX-":{"uri":"/melonJS/docs/melonjs/Tween.html#yoyo"},"hV0mbbOTwAx6ixW0-wnG8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html"},"i5ZCIbhKXtCPwaZeVclvg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alpha"},"88gMFdsNzSRZQ5rDpXbGt":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alwaysUpdate"},"SdUH72m1GhSQpCF-qpH_j":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#ancestor"},"58EealmfR07Q6FFydJ2ug":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#anchorPoint"},"o8TpRdgZ5OBdK9Sm8x6WI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoDepth"},"9O9RW_8v7GqpA-wgJCIE4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoSort"},"kf7L5KoK8uRPTP4hMF3T0":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoTransform"},"UVx23e90e530oYrEB_jFt":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#backgroundColor"},"q1tCrcpwfHNBYBs6y9Uo3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#blendMode"},"ZSQfV09JZ5BvPeeGc1M5z":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#body"},"UhvMsz2z4KstxpAREC7hP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#bottom"},"Gj6HZ3lu6CKUdVlrtYMqk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerX"},"hlK5UGekeRJnSYyvv_OwX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerY"},"99bryTsjT2rmms4csIUqy":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clipping"},"yjs6IHKtonl1Ahupv3dyV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#currentTransform"},"RKvfS-3Ei_mlAg7aHCrgW":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#depth"},"eWmy_vAK4uVjCipEU75r7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#enableChildBoundsUpdate"},"9r11TUhr9pQaSLugnuOuu":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#floating"},"GG10dqAjydKA6XOzAdSLI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#GUID"},"gkoDAb6RJBCH5ivcaAd31":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#height"},"yGV6wBB6NMCCA7c_WsxQu":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#holdThreshold"},"YU7jUlEWn-xrArZG5dQMP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hover"},"MrrvucWXQsnRWtNuA2hoP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#inViewport"},"tcrykysRmmFXBy8iASYZx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isClickable"},"EApqsEwmXXBIVt_kPrIRg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDirty"},"7iuWG96r96AOBm47aoGEh":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDraggable"},"8H4L5wvPfzT5_Zmqx_3X4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedX"},"smHJTJ33fme1prI69GOxX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedY"},"IwYPhEo3Uhd27zVYu1USI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFloating"},"GGcWIi2PNfROGx9fxMkxd":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isHoldable"},"0FgP2qg-XeijStRtQWpWR":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isKinematic"},"S6zjHqTYyT0j2qpYw84Vq":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isPersistent"},"nYlXUrODgopkOAy4ptaM3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#left"},"mTCB-2uJ2QbuYQD6KVhe0":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#mask"},"gt5MasfaP1juEyETzB8N4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#name"},"JW8tbtz2LJyPQk5AdHxPr":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onVisibilityChange"},"_xSaI379_UjZieSEoqw9M":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#parentApp"},"J9FYJO_UE9oN68BSVpnuO":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#points"},"gKP0wMj0x7jwd8OSP9tu6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#pos"},"zhKQrE3mLdzTV7mkx6vJs":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#released"},"qgkw0G8mP5x1H9D2rEBKn":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#right"},"vRE59zA2b7lroOl4N3Hez":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#root"},"c8WEps5lBZptaJYFzT2nH":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shader"},"Ei6OHnE3lSWUQ4Z_Eo9hT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sortOn"},"IXSzt600gseCNUCdGZPBA":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#tint"},"SOuC75sW6Zqx_VYUpN1D4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#top"},"_j0JyAnjG7i0rQe31_U32":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#type"},"-xPWmHgaBpqBpmyEoShCx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateWhenPaused"},"5C2v4qrw9FqzhH7wwnzVW":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#width"},"rp8FTVvydhWYhDNtydj3r":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChild"},"e0u9Ke5ElMETXIUcBrPtU":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChildAt"},"UjMx2UHCfaxTvbHQZY6PV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#angleTo"},"VJB_t3aZ4C7FfPJ_mlebX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerOn"},"ekMsQEska_EeNUjgXNOeu":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clone"},"LE82IrXOl2cX3EUG2kku7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#constructor"},"fnjL5dA2JEE3FImy33rum":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#contains"},"iCcufeTnunNtrp_qHEUGx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#copy"},"SfKfy3IWzI1bpGTvy38U7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#distanceTo"},"jAuzrQnP_ctDd0jUpnDvR":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#equals"},"ViJYNVtC4z7TPZG8X_CvB":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipX"},"G_Sa3lIQWstdFRI-u55__":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipY"},"uBGP9HUUe2Pfdr5THRASW":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#forEach"},"hzrPkxXWVLqjwE_NtpZqu":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getAbsolutePosition"},"39Xd43aZnh1ZFBmEQvvvU":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getBounds"},"3PZDxPc79m2vmHcbDF3U3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildAt"},"eg3js54ntIh81maaqpbm-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByGUID"},"tNXpCw7zghDXbzLCozYAk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByName"},"0Lo0l2C6q6z03b_it8S7J":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByProp"},"-BFEJf30QoXDJn7R0kORI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByType"},"vK9TKkdkfih57-wSXLhsV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildIndex"},"dGn2vnvak6EyXG_kU2fPp":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildren"},"1c8svwLGlhBxuN6Wfkh9c":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getIndices"},"vKd6ThkxOorYvpwnB5noP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getNextChild"},"Wo2iI0FwZZ3bgGjc9SCnP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getOpacity"},"9W3OVuLznFqy20oI9Iw1-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getRootAncestor"},"ZuniZBAwiBZE85AYvwHpj":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hasChild"},"wk5WZnN5usGZy2swynANi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isAttachedToRoot"},"4uvtseuWjndiNw3XslsfN":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isConvex"},"gKIwSTeZB7gvwvw0yxI-Y":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFinite"},"zpKj7zM9m7T7HelA4zRHv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#lookAt"},"DLeSdcz-AlXB2TkKvaD2v":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveDown"},"k43kMWj0iVl-hkWArLhtn":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToBottom"},"Md5FkWfzzeiWfDMy8vftN":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToTop"},"ss1cw9IWD2D_8BOP6z-ZB":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveUp"},"ZcBOjMiRtO77RveNvgGXg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onChildChange"},"yIVFh7yZgVHFLJ7tZETx9":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onClick"},"3tZ7wiKvX5ZCFsD4cL_S2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onCollision"},"zXJBHPDmxA1Ze7Tv_f33I":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onDestroyEvent"},"cOUzPTv7YkNNLQLhRipsq":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onHold"},"IZu8NZVxoiiZtBG19sBaj":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onMove"},"Jf0QOgegVlir9Jety9UY0":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOut"},"a_Mx60RuETkCj70iWqrin":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOver"},"zbC4AeO_VL-tJWhySNvuV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onRelease"},"4opw2hqe1VSYy9UI6PnSY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#overlaps"},"15VidDsXSdll_k7pcTqCZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#postDraw"},"0fcFJqWNuUIIf0CShJ_wx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#preDraw"},"2q8UUiEpa206SgMtzubS7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#recalc"},"Aaef7V3FYus1phixRyZbX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChild"},"4pmrBEyVRkjXITzg51xGI":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChildNow"},"3X9kAKsg3PTB_VGT9-0iT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#reset"},"W17NyYHpZJuuwmhFFoUfa":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#resize"},"5tR_PliXr7XXJqNS9LZVd":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#rotate"},"xDV73li__0kBY4srHCulm":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scale"},"gG7W0hV_3DtKJ5tMOM2qX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scaleV"},"OAIGWKII0jL9BRsfaNDMm":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setChildsProperty"},"5N0fzgS049ftpqz6eQfea":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setOpacity"},"F256pN84cuKgI1KObV1BU":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setShape"},"bqEAnlP2-cAtDgFXoSG5I":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setVertices"},"O7y_FMoPKMq-kZS1lKM3L":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shift"},"mifJioDnm8QmOFXCyCaMQ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sort"},"25pGHQG2v2QH4t0LieyRz":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#swapChildren"},"PEr7Yehm2IjTXJjv6JjSo":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#to2d"},"fIywklR7mfHs7YqeNpnSQ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toIso"},"7whbZTxVceGMeJnXka6Yb":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toPolygon"},"yHknXqYIF14NmmkFwHsjV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#transform"},"wlrbCapzDeJRCtHGxK4NU":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#translate"},"MWAoeIbewsKi0F8r5w53j":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#union"},"5wHlpMhII-HchIT46hVWO":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateBounds"},"cdnhfPymgIqHBPdWDwkuP":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#draw"},"6cbBtvVyaRC37raDOEOvR":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#update"},"k6Ml1wLVP03TIwgbkMOYm":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onAnchorUpdate"},"Kb0fojDbaBJAISDMFJhMp":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html"},"ldAhdeMF6mO9Op9NlWlU6":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alpha"},"04FLLA1aItlNGJW1irsYC":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alwaysUpdate"},"4VtmskfqhVO9TXZ_JyKdU":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#ancestor"},"3-sIafSjo4R4NJVJhkC3K":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#anchorPoint"},"-YrSKdUHmmLVut7mc7wvv":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationpause"},"FAi9CtqInL_bNT5z5fMYT":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationspeed"},"bNyQmQmOhy1iJQ5f4F2IK":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#autoTransform"},"AWRH3CLtxv0ADMXqbEILO":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#blendMode"},"NfcCy9BMmflbGDI5C5oge":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#body"},"Z8whE3Mc9pNONCVoBJlno":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#bottom"},"Sl6d4YWeBB3hfZx2cXgvi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerX"},"fHU-ri8KPdONZh1BjfLQ4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerY"},"icdbYWhx6yxKVAfDEG1vK":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#currentTransform"},"G0tFX3JJNlwIkhjZNGcGw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#depth"},"ZsWzTHJlg3q527cLxooZZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#floating"},"_Bfqxak7tr8t3NRjPGOL_":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#GUID"},"WhL5MvE3eeruIPyo9a8jd":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#height"},"-POZNjSJimLGYyo7NkCZf":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#holdThreshold"},"Uthya_8JHkkssOmL8T3AD":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#hover"},"B8x2VmviHNikPgWomJT4G":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#inViewport"},"zspTw6u4yFtTIaWt1ua5G":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isClickable"},"cxac0n9cBhIAPNr9EElgA":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isDirty"},"vrUVqytbTNJXIKy2btyny":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedX"},"S9PZzXY8UgLvNO5ldWl8U":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedY"},"EfyllMcj9bD5RfVTLlsLL":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFloating"},"BOxJzgFQ3GDUzuayxDgWa":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isHoldable"},"JUlWAFyE2rfvubAv2BdVn":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isKinematic"},"2ty9T9-GjucaK61pCxFaj":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isPersistent"},"XzKzfFQrWzI73yEzrldqb":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isVideo"},"cGEpJHz9ChTnIvb8e2UxZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#left"},"DBoz82x_oPpk6UcBkOKuz":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#mask"},"uOFpBjfCbFHkUgBSAVsW2":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#name"},"J0w3eWIGLIX96aN3xeNEH":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#offset"},"RWgxGlvxNfmSBRsFialej":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onVisibilityChange"},"LyUCq60SmfnXNTqBXZNws":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#parentApp"},"8gElSzNpNIZy7ngL5QnfF":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#points"},"5MlnXd11Oh7lRfL2nTUmV":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pos"},"uTl6u_OgVtfECiablGRLF":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#right"},"rHywl8RgeR1a2XERZvbJq":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shader"},"mPzt9gMzIBMr9dWEag-P8":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#source"},"Dql1n1lnobg_r1urU2vN5":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#tint"},"6A5xyRkFVoIk-aUlhko1J":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#top"},"CwI1UVt2sEclT5vh2JsD-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#type"},"gJR_QFRCuHw37840yNpxl":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateWhenPaused"},"QMXgSLbiunpnG2w6fDe9R":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#width"},"eklKwEoPdd6oDj4tfWTQO":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#addAnimation"},"IEiGDQ5penS6CC2bdVURD":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#angleTo"},"Z9MExgED_gYqCESfcveWr":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerOn"},"FYT_xGeppULUANg1sp0H4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#clone"},"UZofM3xKhfO6gWPziclnC":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#constructor"},"Bt26Vwuv24BG008pcCM07":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#contains"},"A0lzOIEJZcrdRnkx88oxv":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#copy"},"BqJes0ULS1b_upEfsJ6hY":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#distanceTo"},"AhcwLz_1oK5ZDc076l-nU":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#equals"},"b4lY0Gxr92glyANnJ6S23":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flicker"},"PXudVHD_IVUY8mAkU9QPL":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipX"},"RkpkCIeyyvY0_g7PqN_9n":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipY"},"upq7aDF1qQWBHpZGfN-Qb":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getAbsolutePosition"},"3DEBECJbHLwQwRmfaNEBS":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getBounds"},"6pRalmatS1VQSXT3NiDFQ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getCurrentAnimationFrame"},"rldQq0Hw98XSx2an10Eng":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getIndices"},"dxf35gAPDa_TI4RklgNYi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getOpacity"},"V1h7IGG8NGQkn5NMRWnWm":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isConvex"},"SNcFDN9PCT2O9WncNVJOS":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isCurrentAnimation"},"Qe4IwzCtEtVccJg2s9z1z":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFinite"},"W8Syaau1UKgVu7pMwz-aY":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlickering"},"C9n6bDCbE87FHHkxrDihu":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#lookAt"},"QPepjP4Dpifxn5CWt6gXl":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onClick"},"D-XbpZGSBHb77wQv9SmG2":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onCollision"},"_p-j5QG_ArMbMJuNoYQIO":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onDestroyEvent"},"WdJ_c7ObI0J4Mc6rmWgGo":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onHold"},"S4KGXkum7HYifmnpLzrGW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOut"},"oGlaq88Ws0DaNlT-8isDv":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOver"},"7uBCTs_w_jS_NJUryyEFn":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onRelease"},"inBmSh8qriJYI_ECJCMqK":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#overlaps"},"5Kfq65PLS2JTk30HIh3vW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pause"},"yabKQZtKL4XFp34G0kWJ2":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#play"},"aJdbRtVKAUIEZTZn_lb5G":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#postDraw"},"vdkjrxwKTRcjes0hP9N0A":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#preDraw"},"0trBbkHMfwYg2h3N72KmD":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#recalc"},"wiVYmi-REb43oaf2QKZGe":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#resize"},"mBGN_SrDqGIdAKc8WSjCW":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#reverseAnimation"},"A7NJOv8RiD4_rs-h6dT0u":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#rotate"},"ADhDp3EHGv5qlSrgUhjDP":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scale"},"RvWUBzinvf--RkugCZGeI":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scaleV"},"6-5oikqW0LoC60nZS-m6i":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setAnimationFrame"},"F35jfkyEaACyIEoi1ik-D":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setCurrentAnimation"},"JMHe8A6Z2_MTvirWAdV0b":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setOpacity"},"FYtvbG3dH2UiKrYVh-gLA":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setRegion"},"VYVL7BDJVIxaYdgEvKAas":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setShape"},"rqx2rilNo1-fm6ehnq489":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setVertices"},"5as0T0656vZT0YriRjsv-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shift"},"GVTY4KebhtBDSPaYwSjgt":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#to2d"},"N8v4KtydVn0JZ4eqe7e-k":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toIso"},"FCXglMJPlc12v_qux-74y":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toPolygon"},"H40pZNjZ65O83OmvywMhZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#transform"},"nkpuZLzuvg2hTvHGFPpw0":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#translate"},"nIy0nYFtzKCQg0rINhg3V":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#union"},"vDfHebrKFdlGTi0bOhlWH":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateBounds"},"NHT9ZGwVs-3RD5Mv_Fudq":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#draw"},"099tVFm_pcLbZkx528MiI":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#update"},"y9OzVFbyreTDamwRVvBRe":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onAnchorUpdate"},"OAPGky1O6Ku3jWenKinAq":{"uri":"/melonJS/docs/melonjs/UITextButton.html"},"nOohZ1F0gt1c4C1ARBHeZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alpha"},"IBIAuOLhCTAaqYasSaHWn":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alwaysUpdate"},"Gu-0epEg0eZmoz1zmqHd1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#ancestor"},"Jfp5T3fnX6M6Ds3gVOk0w":{"uri":"/melonJS/docs/melonjs/UITextButton.html#anchorPoint"},"sKYGo9LXgL8hmEqcX8hoF":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoDepth"},"79d5CLpY2KZKdFuvp2RV2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoSort"},"dqIfcTrJstq_7rPIYwwBW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoTransform"},"mxEDW3IuJKZtEmAQPhJ8O":{"uri":"/melonJS/docs/melonjs/UITextButton.html#backgroundColor"},"2J9QndPTXL2CBJvklZAFD":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bindKey"},"L3yUwwnIh14vYt5Lt8m0r":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bitmapText"},"jXkEbRN1T1i1xE9RWWVH2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#blendMode"},"XTpaLyKB9dSy2y7Qq-LvC":{"uri":"/melonJS/docs/melonjs/UITextButton.html#body"},"z4sr7GRJi-Mz1bpEr3bna":{"uri":"/melonJS/docs/melonjs/UITextButton.html#borderStrokeColor"},"dFp93Djb0BlY0sLrKajQX":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bottom"},"ynrOdLpt6YUuv6vtZqCnm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerX"},"5wjb8UAoh0VXcXaoq_ZqD":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerY"},"U5TDRfvsu0jzdPsTBJG31":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clipping"},"qyLVamAP0t_4N5KtO5SvJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#currentTransform"},"aRYG3ONaVBONIAwAYfdsN":{"uri":"/melonJS/docs/melonjs/UITextButton.html#depth"},"znQLfqSRp1FNK4MRuhthW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#enableChildBoundsUpdate"},"8DuStmR5_y1qY3Raed4rC":{"uri":"/melonJS/docs/melonjs/UITextButton.html#floating"},"1xaRtzIcH_2rFOdAPsQy0":{"uri":"/melonJS/docs/melonjs/UITextButton.html#GUID"},"yf9o_gAXPXJGSo_-gSSOH":{"uri":"/melonJS/docs/melonjs/UITextButton.html#height"},"BGzMHCtgp8RUtD11zXSau":{"uri":"/melonJS/docs/melonjs/UITextButton.html#holdThreshold"},"l0C09XGG4mQTk9gyWFZSj":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hover"},"5UfbhaoX4XAnxpyom4-xO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOffColor"},"baCFElhjFs6KccM6Tr7wB":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOnColor"},"WBz50C9DnHX8pBY-7VQiy":{"uri":"/melonJS/docs/melonjs/UITextButton.html#inViewport"},"Lcyypz6b-hlND7Tt_a711":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isClickable"},"BUSQq84h08l6566Ba8EUu":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDirty"},"XWa4M_Y82FpHsFjMWA4qs":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDraggable"},"I3voreIPQT9VzgbDctgqi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedX"},"NAOXkHAa3_xeGCDpXWnj8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedY"},"bnxMkru0zC2hhlYUNUHMo":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFloating"},"0xNa7Zfia3BCN30gScUqw":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isHoldable"},"9Aidm3c32XnSQaQb2wxfK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isKinematic"},"Li5-lDf3yYYCrZ4bGiwFl":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isPersistent"},"jcx2QUX3JEQyI3n9H_Z2b":{"uri":"/melonJS/docs/melonjs/UITextButton.html#left"},"5CLIURt9inCS3ktHVvcdW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#mask"},"B76CapJ7STeuBZN72hUwA":{"uri":"/melonJS/docs/melonjs/UITextButton.html#name"},"qxymYBd5PD46SUJGf7rp5":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onVisibilityChange"},"GetQA40u_9Go2ssf2Fv-j":{"uri":"/melonJS/docs/melonjs/UITextButton.html#parentApp"},"Eh9rICfMjSopciba3s20j":{"uri":"/melonJS/docs/melonjs/UITextButton.html#points"},"gsTOWnwh6P_H-A6Qh99of":{"uri":"/melonJS/docs/melonjs/UITextButton.html#pos"},"6tiZgrcUZ-Y04J41ebGPk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#released"},"LRKhMQYZW5JxL8BKgNpID":{"uri":"/melonJS/docs/melonjs/UITextButton.html#right"},"7s53KJolNudpAcYtF0L9Y":{"uri":"/melonJS/docs/melonjs/UITextButton.html#root"},"4xsFO_V1wPVt5k9cF4yxA":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shader"},"0wQ3mt9YcPUab1sOydEBr":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sortOn"},"qVnwEt0MyPYrQSMsq_EBJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textAlign"},"TOXK3o6hTg5sLghEiadV7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textBaseline"},"EgIeJ8-2TlyFyZp1CA7r6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#tint"},"LSBtSgisqdwotGFRRDZv1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#top"},"t77aoVV7RPOy6biyS7iL0":{"uri":"/melonJS/docs/melonjs/UITextButton.html#type"},"t0VGhi2Vsv-VBOp913xVj":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateWhenPaused"},"9EJxtenRa-PpyfwOIlwQ0":{"uri":"/melonJS/docs/melonjs/UITextButton.html#width"},"KFOY1PTmG64xdFMbhoQRL":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChild"},"XI4upCQoziKqLFGXRhTWS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChildAt"},"AiijUc23YIPiUl_Za-8RD":{"uri":"/melonJS/docs/melonjs/UITextButton.html#angleTo"},"gDNOX-vQxYwrkvfcTX6oO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerOn"},"EC-UQIn25SQcbhMLtZcgr":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clone"},"QWhH8MgIP-3iZEowdUAVf":{"uri":"/melonJS/docs/melonjs/UITextButton.html#constructor"},"kERGvA9W4F5ZuoGv5R7wF":{"uri":"/melonJS/docs/melonjs/UITextButton.html#contains"},"v5qFYYCTBh13hIceGJf9M":{"uri":"/melonJS/docs/melonjs/UITextButton.html#copy"},"WMxXSjlwAKZKBH0OWBU3e":{"uri":"/melonJS/docs/melonjs/UITextButton.html#distanceTo"},"6b_YFrxbkMnRlU45cKyBU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#equals"},"e2hXrLhM-OH4KeMNQ2MeU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipX"},"J5zKu4QBJulN19AFu7Ofk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipY"},"nPKq3G16onqAQnBI5gLqV":{"uri":"/melonJS/docs/melonjs/UITextButton.html#forEach"},"So_802rzxUJ7USdqKllXn":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getAbsolutePosition"},"3stfd6G_xpU0JujoF4rPZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getBounds"},"HsjUqNEoWzI3K3ZknMIZa":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildAt"},"YqQ_vrczcGCtZY__sLg77":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByGUID"},"QGNvbOwVhrb9M-R_keqaD":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByName"},"Pvxx9-o3sY_4clstIUGON":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByProp"},"z-UBrZK7NhVMAPQGBZBYX":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByType"},"j_Pf8Y3FFOe8xHC2kNAzd":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildIndex"},"7sBQhGMuB7zJ8ijPFn6NX":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildren"},"7xO4bdKIV0thqistXBw9q":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getIndices"},"vU1lLZ47MWgeA-E026b_m":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getNextChild"},"YuwEH7xZ9Um2YawxQn8OG":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getOpacity"},"H4yE-dU2mt37N55crnlM0":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getRootAncestor"},"1LyFjVI_5VeB3Rpcl4j7G":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hasChild"},"hfdHGMqGZ7dykxXz7639e":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isAttachedToRoot"},"sKwfawEjuntcFMmZN1BHD":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isConvex"},"XhXy1aRgKKbuIAIJzoCSO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFinite"},"HirPtedatllpW7W_yH8Vy":{"uri":"/melonJS/docs/melonjs/UITextButton.html#lookAt"},"hiHeCAVKrss5F7o7nPRaw":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveDown"},"ret5FrbVyy56WTn_TrxK1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToBottom"},"_3IatvNyIU68cX-NIb54V":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToTop"},"Wam1zaOM7onOpks5BJYqx":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveUp"},"GSQQCsQ7fBHjG4aPMcWfE":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onChildChange"},"8oqPbeAQyh2WhoTZdwMbZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onClick"},"sQxRWyaXEoPOlQ6_UX3Xb":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onCollision"},"xOT_s0vv7ilx-60QwF13K":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onDestroyEvent"},"FECFl32hAl8kcSTTFZWUT":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onHold"},"tLsLSXErTtKqU8R8kqyL4":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onMove"},"c13YQFYV_6WHoBorES-2i":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOut"},"jEs7JFkNnjB2eHCi-ShD_":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOver"},"-bvRYsuCSvi4wjg6YRwVi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onRelease"},"n0qT3QhwpTL97cWnSj0KR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#overlaps"},"XGWYnGJb1yeT-JBtWAUq4":{"uri":"/melonJS/docs/melonjs/UITextButton.html#postDraw"},"yHrj44mlEWeCf7Fh71WON":{"uri":"/melonJS/docs/melonjs/UITextButton.html#preDraw"},"6l8Wabn_tXMlLj0giyeIQ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#recalc"},"IUO4kijjjr7iXv7QZCxKc":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChild"},"ZTECPhSHDw00bUgk-C51W":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChildNow"},"5p8xp48vnYd4kF19H36nd":{"uri":"/melonJS/docs/melonjs/UITextButton.html#reset"},"ftFQbNOr5rOg9NW-a8m_A":{"uri":"/melonJS/docs/melonjs/UITextButton.html#resize"},"X0p96DTXkOuur8UDworqO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#rotate"},"u-hUPVWCB7i9cUS4fM7vt":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scale"},"QQMFnVrzgBxGicCQvhKd_":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scaleV"},"xqRNg4roypuMS1FQcR5ZJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setChildsProperty"},"wiIlqcCr75L14HF0M-XQr":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setOpacity"},"c06PnzGDQklVHAldW7dfU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setShape"},"2Flbc8_X2fi_Sz8JBrXth":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setVertices"},"lkZ3Bo7_re00AOMWt8eST":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shift"},"gVyklHAWvpL7PhWwgr6Xk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sort"},"cc2ClGi3kaoWme1SVarWW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#swapChildren"},"NObWXSM3bvmZMHYpmDwox":{"uri":"/melonJS/docs/melonjs/UITextButton.html#to2d"},"PvTJRP0DPJBbWKLkJapCK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toIso"},"DzmcDeFDNM9W5KdRu6lva":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toPolygon"},"f1319k8ZJW0BlrGJdk8UW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#transform"},"3EHbaSrZVKgUmDAucf6Sq":{"uri":"/melonJS/docs/melonjs/UITextButton.html#translate"},"WLh68RuoaOTb-50iNJIaE":{"uri":"/melonJS/docs/melonjs/UITextButton.html#union"},"DRoIU8pfzigp_UeldTRO8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateBounds"},"Ugz159DLWwrPS1M5fvFSW":{"uri":"/melonJS/docs/melonjs/UITextButton.html#draw"},"JGWFi2qhY-NDHWzIxrpMX":{"uri":"/melonJS/docs/melonjs/UITextButton.html#update"},"CIumTfYDdA6dx6iCalkjw":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onAnchorUpdate"},"f9JBGO30xixzMjk34bfVs":{"uri":"/melonJS/docs/melonjs/Vector2d.html"},"2uwOI8-nIhOjC6ibN4Zya":{"uri":"/melonJS/docs/melonjs/Vector2d.html#x"},"3eZf4-Ti8zgKmfp9TsW0d":{"uri":"/melonJS/docs/melonjs/Vector2d.html#y"},"4fVyi2txZ3ABBncdTCRR5":{"uri":"/melonJS/docs/melonjs/Vector2d.html#abs"},"B7mL5vRZ6zTb_dlLpiyur":{"uri":"/melonJS/docs/melonjs/Vector2d.html#add"},"SBoOwO2sLesQ4l2d9K-JT":{"uri":"/melonJS/docs/melonjs/Vector2d.html#angle"},"q2_Q5Xa1_jafc4a1FGMMs":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceil"},"Cxsgrdsl-WvQ3b8WV1UDq":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceilSelf"},"iDSlTRKQtsH-PVUmNeqUv":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clamp"},"ODKR8wKIlTLG98MS0tNnp":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clampSelf"},"1Qp19CY4Eg2pbaA3sRe5m":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clone"},"0q4RXI98I8FCJk8kQ5sUH":{"uri":"/melonJS/docs/melonjs/Vector2d.html#constructor"},"ZfPsMqEgp3IUtK2O6u4pc":{"uri":"/melonJS/docs/melonjs/Vector2d.html#copy"},"8bw6KxPg-FmIiR3gPqUIN":{"uri":"/melonJS/docs/melonjs/Vector2d.html#cross"},"w6YN40G4FgSbWxdB-xPC-":{"uri":"/melonJS/docs/melonjs/Vector2d.html#distance"},"IciPlXS1Na4Ne1ygeWUpO":{"uri":"/melonJS/docs/melonjs/Vector2d.html#div"},"GGdqagRnRawaKJmnM1wcS":{"uri":"/melonJS/docs/melonjs/Vector2d.html#dot"},"1T620jtOFnGRpin3BecxW":{"uri":"/melonJS/docs/melonjs/Vector2d.html#equals"},"pmeWgFaqE9sgyrtSEUp-t":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floor"},"FkPuL-YW913sHNpo8rmGK":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floorSelf"},"XDEhSEjc9SX88IzIUi0Bq":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length"},"ZgXyI2o7HY9zWf246bAC7":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length2"},"LP0FtmOG6F1QXqCOj6v2c":{"uri":"/melonJS/docs/melonjs/Vector2d.html#lerp"},"hx_HSgC0EBDrM3b9s71GT":{"uri":"/melonJS/docs/melonjs/Vector2d.html#maxV"},"2izgEJqKRk7DPMAL5AuuY":{"uri":"/melonJS/docs/melonjs/Vector2d.html#minV"},"MobJ5XDZWMkZi7XjbU_rT":{"uri":"/melonJS/docs/melonjs/Vector2d.html#moveTowards"},"4RvcZYkPhU-vhR6kMM9Oz":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negate"},"ekHuSp4iwwpHxFO14O3VX":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negateSelf"},"3a6E-AkUFTngwsSaMOsNO":{"uri":"/melonJS/docs/melonjs/Vector2d.html#normalize"},"2ZFsJUYXmkLeExvmt5XEf":{"uri":"/melonJS/docs/melonjs/Vector2d.html#perp"},"EmlqCMIxJSN9pJWVpy0pE":{"uri":"/melonJS/docs/melonjs/Vector2d.html#project"},"8XpgxLEjWt1dPuFd3oYXE":{"uri":"/melonJS/docs/melonjs/Vector2d.html#projectN"},"T7xhsC04mHmqkGqV_Lyj-":{"uri":"/melonJS/docs/melonjs/Vector2d.html#rotate"},"IkkEVoA88eNYSdN7xRWVu":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scale"},"RwR1UDUeecHUk1KYKUVvz":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scaleV"},"zFypDSzsv_rCTxj8gOMso":{"uri":"/melonJS/docs/melonjs/Vector2d.html#set"},"J5rORdXZ0uEjSyMQ02Ynw":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setV"},"dA6livde2r1P3fFiiDHFK":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setZero"},"rzLNvmR7AX0fzdpkIqC_H":{"uri":"/melonJS/docs/melonjs/Vector2d.html#sub"},"P0pJRX65vyOyde-e-GwlG":{"uri":"/melonJS/docs/melonjs/Vector2d.html#to2d"},"6q-2fwFve2YqlxBAm4O13":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toIso"},"FJ02KAMitSAlYpGkUJJpD":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toString"},"3YUJW83qINGjpbIOoh5AO":{"uri":"/melonJS/docs/melonjs/Vector3d.html"},"b6B6sUWGaydWoufIulsgc":{"uri":"/melonJS/docs/melonjs/Vector3d.html#x"},"tPPDcx8IhbHZQ0wFtTJpR":{"uri":"/melonJS/docs/melonjs/Vector3d.html#y"},"_xvdJ0aHBCeojI-CjKAPX":{"uri":"/melonJS/docs/melonjs/Vector3d.html#z"},"0hqVzGA5Oi3pOWSCNKC8B":{"uri":"/melonJS/docs/melonjs/Vector3d.html#abs"},"9w_WG04wsiQNaH6IunFcG":{"uri":"/melonJS/docs/melonjs/Vector3d.html#add"},"7FVt2TeUt5sDIjJScQ1EN":{"uri":"/melonJS/docs/melonjs/Vector3d.html#angle"},"zqrcUj9NRtLv34qpj3Pmg":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceil"},"PbU4IBn6UpZIEFoPqArvA":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceilSelf"},"5QxnpJXVk8hg_4SkhXa2K":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clamp"},"QrtRhCCtaHuaEKLewgv3J":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clampSelf"},"z5Uib4lxQbJDmNDvyUdR7":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clone"},"CrV7Glu78v58B-L6Z3Sgy":{"uri":"/melonJS/docs/melonjs/Vector3d.html#constructor"},"vkEa8lDkYO-BWqUulmyF2":{"uri":"/melonJS/docs/melonjs/Vector3d.html#copy"},"Ae5DSPA5qIdXmlutT1o8V":{"uri":"/melonJS/docs/melonjs/Vector3d.html#cross"},"c4obbNZ5zzMOZAMFSZhir":{"uri":"/melonJS/docs/melonjs/Vector3d.html#distance"},"eFXKJBZrNmnbl0LI16qmj":{"uri":"/melonJS/docs/melonjs/Vector3d.html#div"},"bQZ0-OUp27xZr1KsQ0UE4":{"uri":"/melonJS/docs/melonjs/Vector3d.html#dot"},"PrRtvUiuev3JpEGbotWMh":{"uri":"/melonJS/docs/melonjs/Vector3d.html#equals"},"8S7PBv_bN5raFidQxqTJY":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floor"},"B5bcqN8aqCnBjjiOTC0rw":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floorSelf"},"75D6WxWNSxU-AdG5f44_l":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length"},"E-hxcx5lQASlfs2YdgqpI":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length2"},"jYbfWTgcQ8qYC4WedqoyY":{"uri":"/melonJS/docs/melonjs/Vector3d.html#lerp"},"PMTAgiIQTFAKqhUng7UOq":{"uri":"/melonJS/docs/melonjs/Vector3d.html#maxV"},"3Rs4oBmCzhpGP5PVuMpUY":{"uri":"/melonJS/docs/melonjs/Vector3d.html#minV"},"x0--ApEPNnOStRHE_MD59":{"uri":"/melonJS/docs/melonjs/Vector3d.html#moveTowards"},"IyNlaTtr62Bt1A_Y2eCAg":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negate"},"YR8qbd-aP_kb7CJtlMoUw":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negateSelf"},"6rXXR4pgqDPdi0RRY2EZr":{"uri":"/melonJS/docs/melonjs/Vector3d.html#normalize"},"T9mVZn37nT240bLAYzJpe":{"uri":"/melonJS/docs/melonjs/Vector3d.html#perp"},"z9OLIwqgXlr-wr2qvN99b":{"uri":"/melonJS/docs/melonjs/Vector3d.html#project"},"8GrXJcWw64GUQJB06P5Mk":{"uri":"/melonJS/docs/melonjs/Vector3d.html#projectN"},"9MQd6-qBMeEbB8Q5KMm6L":{"uri":"/melonJS/docs/melonjs/Vector3d.html#rotate"},"UX5HXn_coL9pbtipJ9oJF":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scale"},"t_lu-ar_4kBdnQlKHtCg2":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scaleV"},"kGFMsk4rUmsCMdDNYE2Ok":{"uri":"/melonJS/docs/melonjs/Vector3d.html#set"},"rVdTCXHhu8o8PQLZf2RB1":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setV"},"aBqGqtzjeFntbCSpHf4Z1":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setZero"},"-1eMHIxbnffW9pcGxcUQa":{"uri":"/melonJS/docs/melonjs/Vector3d.html#sub"},"WIAledEkPyK3yIHC3qrLS":{"uri":"/melonJS/docs/melonjs/Vector3d.html#to2d"},"bhT8Cg09ZTuKBlWr51_RY":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toIso"},"0g3teg21neJ9KjrK2XiPO":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toString"},"ZtxOHfKRydE1xoTH7tgaH":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html"},"bTWOrGgiJ1hySOi776Mo5":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#compositors"},"-TSVomlce_Wgrd-iOWX80":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentCompositor"},"v9__i-pSDepviwxWWEu7-":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentProgram"},"tJC10HgSaBOVdPKD-D79t":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentTransform"},"YkjdzLsX7ApSA1uA3OslK":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#depthTest"},"tva2m-PqUDBGebx1Tb-O2":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#designRatio"},"BlzBX7e_Iq2Zc3RqWX6dl":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#gl"},"4ahkNrytgzy2WXYfbEeCO":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPURenderer"},"LUwEKlcdvCW4ZmRaZYCpC":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPUVendor"},"9Qe3y9oeyOWtdfS0EgnM8":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#height"},"3v6_LnsL7te3jVVfuVtuP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#isContextValid"},"IApjgWGBqUdiA1L2DVAjJ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#maxTextures"},"IA_HRf_04FGIVLnrJvYES":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#path2D"},"OnpNcg-5fqfngpjxiV1fR":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scaleRatio"},"9ZnaTwVMYOH3jeutP6TmD":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#settings"},"ocojKAY0H5XriQ4YExg0C":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#type"},"mRU4lmdtWSnXQqJJL6y5u":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#vertexBuffer"},"QldEdQ2FhizzpnOcgJM71":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#WebGLVersion"},"FJIRjEnb-tcRsGS8lruAr":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#width"},"LiCEOT6AwnzATZfF5ywOj":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#addCompositor"},"7j9wzNdIZktmMZ4OjEFhX":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#beginPath"},"UIGHCSTiABBmPX8hP253W":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clear"},"lZwkCtLErWCLhFpBt3sLv":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearColor"},"It2nhfOBtmnyMw2OhfHbS":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearMask"},"r0eIYjDwnRC-Lim7inhfC":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearRect"},"QftmqCIU4WDeYoIwDxPwF":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearTint"},"6eabbJQrXDgkNlJ1wfNM6":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clipRect"},"_fRyYk1esGp4rM_Ja4H2-":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#closePath"},"Klb-EbWqRW_Vl9hekaRfI":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#constructor"},"awxzXQ6IHRq1y1AvECUSN":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#createPattern"},"qlzBm1TnIc3waNV-tu8qN":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawImage"},"-moJsnMkMfWiUtT1Vy8an":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawPattern"},"Al1UFX4BrObnBwHv9Uho_":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fill"},"ChPksEXm7U6npw8QvWFT1":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillArc"},"LqS_vxU0BdPqTKJ_iz3jm":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillEllipse"},"a-tmVSPhkpn9yRT7Eymkp":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillLine"},"XCB_bLqiv1c8Cvo1Fpj31":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPoint"},"Hk1YSM9Jc4eRAcXDDttMP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPolygon"},"j6CmwkN8ewb-070cQQj99":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRect"},"Q7_1vHb-CeFKhdnjKiagl":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRoundRect"},"AbiXcBat9z65BfltgaByf":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#flush"},"_rETdcQ5yC2aFIfC9ViaG":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getBlendMode"},"ta2xm1Ia-_7MRve_T3IgW":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getCanvas"},"u9_cAiKowGSWVM2dSd_jJ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getColor"},"HHwNmZsRr88s_IhcV61mk":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext"},"cFhNflBv68VFq7OCbqtNv":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext2d"},"EegkGR8tGDMNn6JBIAAaD":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContextGL"},"JUJb6eFMpNeJwsiUzdEhv":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getGlobalAlpha"},"tB9pmIysXz_44EGjsy4ua":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenCanvas"},"RUTjp8xg2LT6mzYITzuKN":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenContext"},"KquD2agupoCBQPddgRgtD":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#globalAlpha"},"QCGHscFMcXenBCtRnYvrY":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#lineTo"},"UFBzhVoKTECxgVKqPR2vd":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#moveTo"},"nz4j9KQVfkgzihLMZpnfa":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#overlaps"},"e7jNkuVkbk22ST9UXYcgU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rect"},"GO5ldEC2IrcwBrAw41IAh":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#reset"},"-Wjam54424D7Qj28OTp-F":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resetTransform"},"_EI2mlMf0jkfNZFxwuBVO":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resize"},"x0AAG78migi7T08bYSoRl":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#restore"},"tkfbjqIvScjhvWyRx6bwD":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rotate"},"egKKBcibfQqlZV8XDCb3C":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#roundRect"},"qGC49UI0z8T1pnHb3bGVX":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#save"},"fvMeHhC3RoOskeVuEOviP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scale"},"t7drj8xOIeaZdQG6qmjx8":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setAntiAlias"},"S2zeSfuQshSqPfrlIhV1f":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setBlendMode"},"8NsjcVUetPcW5JEORet-N":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setColor"},"q667NUZQSA6IXE_R5GF__":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setCompositor"},"ZKMqG_9eaO68QgzP1wGwf":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setGlobalAlpha"},"rqvQco-OeKcLN-rzOzEqK":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setLineWidth"},"SYrhuaaovn2EvsWXQrvLj":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setMask"},"oIENnxnggYs7313T-Ydok":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setProjection"},"8xyDmX3U5WSmm-QtDHby7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTint"},"kENCSqcklx02iR_Q8uop_":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTransform"},"bjjihOyI0KETAuqJaNELF":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setViewport"},"ZZMQWoUsu4Xn8i9XFB0gA":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#stroke"},"9i2JwSRH8JVW-8esnp0AU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeArc"},"FRW9MCPU37ea3lmj1TUdC":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeEllipse"},"h82BtkPJYqUd1qoB_XeQq":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeLine"},"SHIw-JKKrHp3x0IP-7OBT":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePoint"},"_kcPoJdOXaCYBmZqvtPuB":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePolygon"},"ZTzv2-0XLBT75PGylJS9p":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRect"},"FN37zsFzCnlnAdgVYyOR7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRoundRect"},"HTtZ6KvO0YlSqd9IYGR1U":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#tint"},"zuZywr-khEGdQNjm4NFpU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toBlob"},"56kMBhJJKaE3uYAMWdepq":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toDataURL"},"D_wp7R5waQx1EOjoV_4s5":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toImageBitmap"},"CdFwz4ZEhAmpvzTfQp3NB":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#transform"},"VGt_4F7zzAn8KjdWsA5Rv":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#translate"},"PRqOqtwQpRjcG4iOfyTIQ":{"uri":"/melonJS/docs/melonjs/World.html"},"E1GGjeDj9koLTjwUWxswy":{"uri":"/melonJS/docs/melonjs/World.html#alpha"},"0DGQMRz0bCYUroIOG3Xh9":{"uri":"/melonJS/docs/melonjs/World.html#alwaysUpdate"},"Jlbxc4N3rqL-3hvyDEACj":{"uri":"/melonJS/docs/melonjs/World.html#ancestor"},"Figud8dq8oyp1I06c3BkG":{"uri":"/melonJS/docs/melonjs/World.html#anchorPoint"},"wYks1o4mG-vZ1-jMAsy_z":{"uri":"/melonJS/docs/melonjs/World.html#app"},"lUVXzhJDMp7VJafSrZ2j7":{"uri":"/melonJS/docs/melonjs/World.html#autoDepth"},"5_zQ5-K-uPV68hMyt-Aa5":{"uri":"/melonJS/docs/melonjs/World.html#autoSort"},"t6kFutLePG3-uBIQ0RgxM":{"uri":"/melonJS/docs/melonjs/World.html#autoTransform"},"cSSlHylTwJ6cP9X6GMPK2":{"uri":"/melonJS/docs/melonjs/World.html#backgroundColor"},"JbgXITQe2v-3LTi3qmsjn":{"uri":"/melonJS/docs/melonjs/World.html#blendMode"},"_1UpYpZ6qdQjsUmSL8-TW":{"uri":"/melonJS/docs/melonjs/World.html#bodies"},"x7R6ys3G--n0fVQYKCyLp":{"uri":"/melonJS/docs/melonjs/World.html#body"},"BtSRu94V1nxNeE08m4x6S":{"uri":"/melonJS/docs/melonjs/World.html#bottom"},"kCV48I9rC9ix_E30AWzFy":{"uri":"/melonJS/docs/melonjs/World.html#broadphase"},"G_chOH-U-H7v8UXm7cAVG":{"uri":"/melonJS/docs/melonjs/World.html#centerX"},"k031rpQpFMvpUFCa5kbB6":{"uri":"/melonJS/docs/melonjs/World.html#centerY"},"dkP5_ZTp5_MXMEL2FLSqh":{"uri":"/melonJS/docs/melonjs/World.html#clipping"},"bKBM6V6AP4RLP0Ohqm7YE":{"uri":"/melonJS/docs/melonjs/World.html#currentTransform"},"P3zP1h_qWSudwjWb_fVk3":{"uri":"/melonJS/docs/melonjs/World.html#depth"},"C8VsVDPG-IPb-zxyDp3f9":{"uri":"/melonJS/docs/melonjs/World.html#detector"},"q_Gb9QAofhmH2hd98aqNz":{"uri":"/melonJS/docs/melonjs/World.html#enableChildBoundsUpdate"},"S8aGUYU3aiMFI00_WOBEE":{"uri":"/melonJS/docs/melonjs/World.html#floating"},"tYygOlJZNPQc6GE6LxGsd":{"uri":"/melonJS/docs/melonjs/World.html#fps"},"3ztwmiuPx788XTUjaacZv":{"uri":"/melonJS/docs/melonjs/World.html#gravity"},"6czociF7jZu2DccwF89M1":{"uri":"/melonJS/docs/melonjs/World.html#GUID"},"ZWLzwdnFSUpJXHgDiCXkp":{"uri":"/melonJS/docs/melonjs/World.html#height"},"ZxEgJmO1IhX2zNzg5hVED":{"uri":"/melonJS/docs/melonjs/World.html#inViewport"},"9yOpjhvTCsYCQTv0sY6nY":{"uri":"/melonJS/docs/melonjs/World.html#isDirty"},"DWmIvTLXvMeyeHJvKBFXd":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedX"},"wQPRXj9jomT-IRh8mEioV":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedY"},"eboTK2JAqFtTG9hmu-jyl":{"uri":"/melonJS/docs/melonjs/World.html#isFloating"},"ebx99VySY9H64gu4tvaqz":{"uri":"/melonJS/docs/melonjs/World.html#isKinematic"},"4g7Be0bIUrH9AkWDGwjC-":{"uri":"/melonJS/docs/melonjs/World.html#isPersistent"},"JBO935moVVWaPlU0KNKos":{"uri":"/melonJS/docs/melonjs/World.html#left"},"xmEmUTD58hrlCS2VdzmnL":{"uri":"/melonJS/docs/melonjs/World.html#mask"},"1YxBxCGvq4FIpDJGmoHQN":{"uri":"/melonJS/docs/melonjs/World.html#name"},"c-C_MXeeA6vcd3zL0XrAV":{"uri":"/melonJS/docs/melonjs/World.html#onVisibilityChange"},"EAXA89-NgurH_4i9ca-jK":{"uri":"/melonJS/docs/melonjs/World.html#parentApp"},"g0Q8nYzEbBPq5pqijB1-E":{"uri":"/melonJS/docs/melonjs/World.html#physic"},"EHi4WuUsC5oIb851synL1":{"uri":"/melonJS/docs/melonjs/World.html#points"},"AbXEv7W1_YJ4izJFQBcU5":{"uri":"/melonJS/docs/melonjs/World.html#pos"},"f8hFiOfBt7eqJAeVLU_Du":{"uri":"/melonJS/docs/melonjs/World.html#preRender"},"P_8tL3QD98plra6IV1KoM":{"uri":"/melonJS/docs/melonjs/World.html#right"},"YTXwmbZdguPt864lYqIPm":{"uri":"/melonJS/docs/melonjs/World.html#root"},"vuUuxAD8Gj-ypDsoifvS3":{"uri":"/melonJS/docs/melonjs/World.html#shader"},"U52aFhZ7hWoQ7WDbnMwi9":{"uri":"/melonJS/docs/melonjs/World.html#sortOn"},"zFTfzOLKLP_6p0FaCBDU9":{"uri":"/melonJS/docs/melonjs/World.html#tint"},"rUgqxxhAalk6x7I_9fV7T":{"uri":"/melonJS/docs/melonjs/World.html#top"},"7EJuG45G65ehhNQ_VUzcc":{"uri":"/melonJS/docs/melonjs/World.html#type"},"33IcTQVAGaZpY_6e7RSab":{"uri":"/melonJS/docs/melonjs/World.html#updateWhenPaused"},"MP9HQ8XZEKVZTl_c_TOd2":{"uri":"/melonJS/docs/melonjs/World.html#width"},"vgLkwunye5UI79GOUHRoj":{"uri":"/melonJS/docs/melonjs/World.html#addBody"},"dwEitVZV1prahMhHaz541":{"uri":"/melonJS/docs/melonjs/World.html#addChild"},"FzNSKmvRYBxMQfiQrZy-1":{"uri":"/melonJS/docs/melonjs/World.html#addChildAt"},"6EgI_1OSHy_v-4UJnj7HM":{"uri":"/melonJS/docs/melonjs/World.html#angleTo"},"ln4R2iAMhAKijo57yExmx":{"uri":"/melonJS/docs/melonjs/World.html#centerOn"},"bwR6J7Ep3BzOOjFqS6HoS":{"uri":"/melonJS/docs/melonjs/World.html#clone"},"nDu-rFtwmRI8YDjzl8xtk":{"uri":"/melonJS/docs/melonjs/World.html#constructor"},"UkDUuZlNk85c4UxhCKOVv":{"uri":"/melonJS/docs/melonjs/World.html#contains"},"-udcRKOPqXOtS1k1acKDU":{"uri":"/melonJS/docs/melonjs/World.html#copy"},"s2l5Ryxpf98ngXReBa2H8":{"uri":"/melonJS/docs/melonjs/World.html#distanceTo"},"Ls-nqYfjM0xZFJDgvsYgQ":{"uri":"/melonJS/docs/melonjs/World.html#equals"},"1IFRbbx74aYKhWG2Umm7H":{"uri":"/melonJS/docs/melonjs/World.html#flipX"},"T4rztKcRJLDrWqASpNT-P":{"uri":"/melonJS/docs/melonjs/World.html#flipY"},"ZiNSLZKcXwtx0rwkqFMhN":{"uri":"/melonJS/docs/melonjs/World.html#forEach"},"acARSaztGR5sXWfOdh-AU":{"uri":"/melonJS/docs/melonjs/World.html#getAbsolutePosition"},"hYfQQter0o6I7ryumJlxe":{"uri":"/melonJS/docs/melonjs/World.html#getBounds"},"CZE9apVW839KTR5aO1-wr":{"uri":"/melonJS/docs/melonjs/World.html#getChildAt"},"8zwG96VZ-UdbzdxV7VDU2":{"uri":"/melonJS/docs/melonjs/World.html#getChildByGUID"},"KN5BUmPfhG325xvhm8OvN":{"uri":"/melonJS/docs/melonjs/World.html#getChildByName"},"PTWkXX48kND7FmYKIjIpk":{"uri":"/melonJS/docs/melonjs/World.html#getChildByProp"},"RHy4L1NAAowxb_1LEY9AL":{"uri":"/melonJS/docs/melonjs/World.html#getChildByType"},"ghfBzBLNTrINDn9J1ml1J":{"uri":"/melonJS/docs/melonjs/World.html#getChildIndex"},"M4IMqvlWwRJWmc8kiaG4Z":{"uri":"/melonJS/docs/melonjs/World.html#getChildren"},"VygzvGe1qxZ951WAsQUXV":{"uri":"/melonJS/docs/melonjs/World.html#getIndices"},"tJixxof0TrQOS3UuDHY8g":{"uri":"/melonJS/docs/melonjs/World.html#getNextChild"},"KISWNr1gqaWrgzVRUMsxP":{"uri":"/melonJS/docs/melonjs/World.html#getOpacity"},"GQz0BoPftz2RZvzTYzPMj":{"uri":"/melonJS/docs/melonjs/World.html#getRootAncestor"},"NKJqhXC-zrLMrdjGDSLdn":{"uri":"/melonJS/docs/melonjs/World.html#hasChild"},"xqnRJgVSDGHSI46gw6OWC":{"uri":"/melonJS/docs/melonjs/World.html#isAttachedToRoot"},"-YzXfEW-PwnbFMRbEMWoP":{"uri":"/melonJS/docs/melonjs/World.html#isConvex"},"1ge6RcjY8FL2TpsAkq0xB":{"uri":"/melonJS/docs/melonjs/World.html#isFinite"},"9ZcXmwia4JvCLuWRd6iVj":{"uri":"/melonJS/docs/melonjs/World.html#lookAt"},"t-SOlU8mwQccf8DNeMsNR":{"uri":"/melonJS/docs/melonjs/World.html#moveDown"},"MhI6NFMYfp9fP4EzPuQ4F":{"uri":"/melonJS/docs/melonjs/World.html#moveToBottom"},"wLc-xdYPFFX455r1jgANM":{"uri":"/melonJS/docs/melonjs/World.html#moveToTop"},"m_PlmrUGEtCnUdG33-q3a":{"uri":"/melonJS/docs/melonjs/World.html#moveUp"},"AFizUP3bCNb7r89yWqZ5l":{"uri":"/melonJS/docs/melonjs/World.html#onChildChange"},"u4Z9rzndz5ei3MtHYYU95":{"uri":"/melonJS/docs/melonjs/World.html#onCollision"},"cHS51M0Guv9dyWdmEvDQr":{"uri":"/melonJS/docs/melonjs/World.html#onDestroyEvent"},"RLjClii821X7FjSqXd_sy":{"uri":"/melonJS/docs/melonjs/World.html#overlaps"},"sfXBcD7Lf84cQHM5zvmpj":{"uri":"/melonJS/docs/melonjs/World.html#postDraw"},"v1N7A2Nqs4wp8RHgG3olp":{"uri":"/melonJS/docs/melonjs/World.html#preDraw"},"cX36pUVK9fkUyb_LYaPpV":{"uri":"/melonJS/docs/melonjs/World.html#recalc"},"fKdLloH9gLmlDjLADHGA3":{"uri":"/melonJS/docs/melonjs/World.html#removeBody"},"kzPQq5WAfetCm4wAb9z7Z":{"uri":"/melonJS/docs/melonjs/World.html#removeChild"},"jubNw9t2dPcyDplHTEKie":{"uri":"/melonJS/docs/melonjs/World.html#removeChildNow"},"sWdQbmXTQx0GhF6gAVgUT":{"uri":"/melonJS/docs/melonjs/World.html#reset"},"ZXRPQ0ccz_Ey3JHELI3v2":{"uri":"/melonJS/docs/melonjs/World.html#resize"},"BBmm6u9oH90SW39SbM5Jk":{"uri":"/melonJS/docs/melonjs/World.html#rotate"},"lCOFMjRf2swBFCnrSj_FD":{"uri":"/melonJS/docs/melonjs/World.html#scale"},"qmcJoCsrd1y0tkdrLl0Bb":{"uri":"/melonJS/docs/melonjs/World.html#scaleV"},"k_ZBSEYIF9fFuwchbJcYU":{"uri":"/melonJS/docs/melonjs/World.html#setChildsProperty"},"-I6JPKoO2kDr1BXSbqPBH":{"uri":"/melonJS/docs/melonjs/World.html#setOpacity"},"kOvDc1yTpiRGIqxlvrGii":{"uri":"/melonJS/docs/melonjs/World.html#setShape"},"Z84Xo4tApzRJlEp5OzO1q":{"uri":"/melonJS/docs/melonjs/World.html#setVertices"},"-D5FA5gHSEZDP7ckIoTfc":{"uri":"/melonJS/docs/melonjs/World.html#shift"},"xayXtBR4rkDjwOFyA599d":{"uri":"/melonJS/docs/melonjs/World.html#sort"},"1IJVc0aYg96H_Qq3BM3-O":{"uri":"/melonJS/docs/melonjs/World.html#step"},"RAKH8qn-GH4CER_3KNnD4":{"uri":"/melonJS/docs/melonjs/World.html#swapChildren"},"FNEkxZnYTo523kt6dB0r0":{"uri":"/melonJS/docs/melonjs/World.html#to2d"},"SwxPSazuN_IjvOp5vA_J9":{"uri":"/melonJS/docs/melonjs/World.html#toIso"},"ro0h3sqMzf2dWMOTi_wOq":{"uri":"/melonJS/docs/melonjs/World.html#toPolygon"},"bIAZGMwKZRCPiWID276mN":{"uri":"/melonJS/docs/melonjs/World.html#transform"},"icuXzIuNZQjgIvooSQHJm":{"uri":"/melonJS/docs/melonjs/World.html#translate"},"UTUzPwA1UfpzqviTu8Vij":{"uri":"/melonJS/docs/melonjs/World.html#union"},"5rAMYxNp_J1R9uQlCa1ln":{"uri":"/melonJS/docs/melonjs/World.html#update"},"CE_MdOEKd8lyJgOP-TGg2":{"uri":"/melonJS/docs/melonjs/World.html#updateBounds"},"D0U1eWLQKbuWSqPvYr6En":{"uri":"/melonJS/docs/melonjs/World.html#draw"},"Q1BpiC0m-j2I0FkzobnAO":{"uri":"/melonJS/docs/melonjs/World.html#bodyApplyGravity"},"U6nDO6GypcPQFS117_KEL":{"uri":"/melonJS/docs/melonjs/World.html#onAnchorUpdate"},"JIGGiUEDFP3qvY2X_yXCY":{"uri":"global.html#AUTO"},"s5Q2tvlb0irRIqbOqXSZB":{"uri":"global.html#CANVAS"},"mlAOj36R9NfTYPBNA7MiY":{"uri":"global.html#version"},"HSm4eSBZvdYHsuy71NN6_":{"uri":"global.html#WEBGL"},"EKauWblct8I0ovymT9pnC":{"uri":"global.html#failureLoadedAssets"},"MYbFod_c5B4NIVCdu_qjL":{"uri":"global.html#imgList"},"ylBggsk3XIuQMrFvJxvDb":{"uri":"global.html#initialized"},"0lqS6SfSLSd9GOwSlHvaV":{"uri":"global.html#parserInitialized"},"GMuhAC58bqxUetLOpZMI7":{"uri":"global.html#parsers"},"Ervl5T6Y3e3_ixZ1PY742":{"uri":"global.html#skipAutoInit"},"4vWwrUj5Csw4cGyvFYef8":{"uri":"/melonJS/docs/melonjs/boot.html"},"-0EJB390tg-nowyp6M1zY":{"uri":"/melonJS/docs/melonjs/consoleHeader.html"},"m3WajUF0X6U12jUN0kMLP":{"uri":"/melonJS/docs/melonjs/warning.html"},"rtW3YpXzcGogbOuIebTBT":{"uri":"/melonJS/docs/melonjs/onresize.html"},"plrgqqPCwBOFCoVisZ1eV":{"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-SGxZV3WF-kcUbJyykbf9y","name":"","type":"RootDoc","members":[{"id":"NDExJT8nzcPALPVq2b1Dz","name":"audio","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"dsa-up90kR0fE-UDUQ9y-","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":"yi5Ea31xEgvF3BT0nly64","name":"disable","brief":"","type":"FunctionDoc","description":"

                disable audio output

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

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

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wb41QL3RkQ8D_6N1WVH7d","name":"fade","brief":"","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":"grPXVcDwDbiPKP2URU9Lw","name":"getCurrentTrack","brief":"","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":"es_JuZPvWtkMBcxvVR1qQ","name":"getVolume","brief":"","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":"gb9FiddK1K4-efdEw5ASv","name":"hasAudio","brief":"","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":"ggIVU4AxM_0cOUQR0m_pe","name":"hasFormat","brief":"","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":"AWH23om8L7QI3lufLq7zg","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}"}],"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":"f5VZS8HQrZFAOofuhQesR","name":"load","brief":"","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"}},{"identifier":"settings","optional":true,"description":"

                custom settings to apply to the request (@link https://developer.mozilla.org/en-US/docs/Web/API/fetch#options)

                ","dataType":{"tokens":[{"value":"Object","kind":"canonical"}],"template":"Object"}}],"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":"kT8QbR2A4zweimVr0FpnQ","name":"mute","brief":"","examples":[{"caption":"","code":"// mute the background music\nme.audio.mute(\"awesome_music\");"}],"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":"GFPiFzkiQaR80zKHhiDaL","name":"muteAll","brief":"","type":"FunctionDoc","description":"

                mute all audio

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J9F9O5AGDmyTQKohupfl6","name":"muted","brief":"","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":"fzAPZbMBRE17fQkVbj3NR","name":"orientation","brief":"","type":"FunctionDoc","description":"

                Get/set the direction the audio source is pointing in the 3D cartesian coordinate space.\nDepending on how direction the so...","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

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

                the x-orientation of the audio source.

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

                the y-orientation of the audio source.

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

                the z-orientation of the audio source.

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

                the current 3D spatial orientation: [x, y, z]

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"Khrbh1IDQ2sg1QbKV5tcl","name":"panner","brief":"","examples":[{"caption":"","code":"me.audio.panner(\"cling\", {\n panningModel: 'HRTF',\n refDistance: 0.8,\n rolloffFactor: 2.5,\n distanceModel: 'exponential'\n});"}],"type":"FunctionDoc","description":"

                get or set the panner node's attributes for a sound or group of sounds.\nSee {@link https://developer.mozilla.org/en-US/doc...","params":[{"identifier":"sound_name","optional":false,"description":"

                audio clip name - case sensitive

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

                the panner attributes to set

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

                A parameter for directional audio sources, this is an angle, in degrees, inside of which there will be no volume reduction...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.coneOuterAngle","optional":true,"default":"360","description":"

                A parameter for directional audio sources, this is an angle, in degrees, outside of which the volume will be reduced to a ...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.coneOuterGain","optional":true,"default":"0","description":"

                A parameter for directional audio sources, this is the gain outside of the coneOuterAngle. It is a linear val...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.distanceModel","optional":true,"default":"\"inverse\"","description":"

                Determines algorithm used to reduce volume as audio moves away from listener. Can be linear, inverseThe maximum distance between source and listener, after which the volume will not be reduced any further.

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

                A reference distance for reducing volume as source moves further from the listener. This is simply a variable of the dista...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.rolloffFactor","optional":true,"default":"1","description":"

                How quickly the volume reduces as source moves from listener. This is simply a variable of the distance model and can be i...","dataType":{"tokens":[{"value":"string","kind":"canonical"}],"template":"string"}},{"identifier":"settings.panningModel","optional":true,"default":"\"HRTF\"","description":"

                Determines which spatialization algorithm is used to position audio. Can be HRTF or equalpower.

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

                current panner attributes.

                ","dataType":{"tokens":[{"value":"Object","kind":"canonical"}],"template":"Object"}}],"extends":[],"implements":[]},{"id":"lcjjeHTfTVWjtObKYozpR","name":"pause","brief":"","examples":[{"caption":"","code":"me.audio.pause(\"cling\");"}],"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":"pQSbuydhon4nZyI3Jbc1O","name":"pauseTrack","brief":"","examples":[{"caption":"","code":"me.audio.pauseTrack();"}],"type":"FunctionDoc","description":"

                pause the current audio track

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l6vXYnvQ4zBUkZbb5D7U0","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);"}],"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":"N9Pj3x6yiwVoZ-LQ_nzml","name":"playTrack","brief":"","examples":[{"caption":"","code":"me.audio.playTrack(\"awesome_music\");"}],"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":"H4xkapk1hRy9xpeVyH0Pw","name":"position","brief":"","type":"FunctionDoc","description":"

                get or set the 3D spatial position for the specified sound.

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

                audio clip name - case sensitive

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

                the x-position of the audio source.

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

                the y-position of the audio source.

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

                the z-position of the audio source.

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

                the current 3D spatial position: [x, y, z]

                ","dataType":{"tokens":[{"value":"Array","kind":"canonical"},{"value":"Array","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"5HfIIwYFbmBbELhFNQL6H","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);"}],"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":"a1pcFjEB0c0u23zvUgXxK","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);"}],"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":"SIeUODLRZfxGVih4ckMFq","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();"}],"type":"FunctionDoc","description":"

                resume the previously paused audio track

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1xbwGOWn_6TTOLx257ugG","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);"}],"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":"FYhJCfhvQRICzJ2x0c1bg","name":"setVolume","brief":"","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":"1KEXzs6M-4l_IhYqDmD4M","name":"stereo","brief":"","examples":[{"caption":"","code":"me.audio.stereo(\"cling\", -1);"}],"type":"FunctionDoc","description":"

                get or set the stereo panning for the specified sound.

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

                audio clip name - case sensitive

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

                the panning value - A value of -1.0 is all the way left and 1.0 is all the way right.

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

                the current panning value

                ","dataType":{"tokens":[{"value":"number","kind":"canonical"},{"value":"number","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"DuxCV5I5r_R-LF-fVQ8oO","name":"stop","brief":"","examples":[{"caption":"","code":"me.audio.stop(\"cling\");"}],"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":"XE2_ygYYgzu0QBMKTZUmZ","name":"stopTrack","brief":"","examples":[{"caption":"","code":"// play a awesome music\nme.audio.playTrack(\"awesome_music\");\n// stop the current music\nme.audio.stopTrack();"}],"see":["audio.playTrack"],"type":"FunctionDoc","description":"

                stop the current audio track

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"esAU6JWhZSuHz1a5LQc_R","name":"unload","brief":"","examples":[{"caption":"","code":"me.audio.unload(\"awesome_music\");"}],"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":"NHlw2Ky1Ip8xrxtKT5jwd","name":"unloadAll","brief":"","examples":[{"caption":"","code":"me.audio.unloadAll();"}],"type":"FunctionDoc","description":"

                unload all audio to free memory

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QLdeZZVBjKz3uVludLN7C","name":"unmute","brief":"","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":"XdTvbqi1Dusw9hoBZjGMr","name":"unmuteAll","brief":"","type":"FunctionDoc","description":"

                unmute all audio

                ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"EYQilUD3PiVnuWFHsrktW","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":"jveSudOuKM2OTceM-sT-Q","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":"s7LmqafPUPNCqpoCJvTiR","name":"ACTION_OBJECT","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                e.g. doors

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

                all of the above (including user-defined types)

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

                collectable objects

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

                enemies objects

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

                to disable collision check

                "},{"id":"ZqZqSHgVOq4ti4k6YEr2u","name":"NO_OBJECT","brief":"

                to disable collision check

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

                non playable characters

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

                playbable characters

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

                e.g. missiles

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

                user-defined collision types (see example)

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

                e.g. walls; for map collision shapes

                "}]},{"id":"PY9M5ZgYGyMDi6ZOx5ZWw","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":"ktG6ydr3x2LBnBVdYSRJW","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":"cFV534t-nnmSRPGwwELAR","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":"Und9Dm9vswqZOX6D83VTo","name":"device","brief":"","defaultValue":"false","type":"NSDoc","description":"

                device type and capabilities

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"0m-MWC1KhoEmNvUl1WN2Z","name":"platform","brief":"","readonly":true,"type":"NSDoc","description":"

                The device platform type

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

                true if the device is an Android platform

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

                true if the device is an Android 2.x platform

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

                true if the device is a BlackBerry platform

                "},{"id":"nO54_I_pqVKcU_Dy6Q-_N","name":"chromeOS","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if the device is running on ChromeOS.

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

                true if running under Ejecta

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

                true if the device is an iOS platform

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

                true if a mobile device

                "},{"id":"54xgl6Yh1jliDKkR09Xko","name":"isWeixin","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                true if running under Wechat

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

                true if the device is a Kindle platform

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

                true if the device is a Linux platform

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

                true if running under node.js

                "},{"id":"F68n1JV-3KpsFRVqngNFX","name":"ua","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                the user agent string for the current device

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

                true if the device is a Windows Phone platform

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

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

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

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

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

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

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fy60D97qkwdzcxvMDkade","name":"alpha","brief":"","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":"P06viLe3xHUAKZftYhwGz","name":"autoFocus","brief":"","defaultValue":"true","type":"PropertyDoc","description":"

                Specify whether to automatically bring the window to the front

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WvkWWaEH1Hh70Rux9Rrrl","name":"beta","brief":"","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":"HDaqWx9YtgeTmjTqHKVc5","name":"devicePixelRatio","brief":"","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":"BBcszdvSJAVbWZF7fG18b","name":"gamma","brief":"","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":"OcHkc7lB-3AHJUlMcZwxe","name":"hasAccelerometer","brief":"","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                Browser accelerometer capabilities

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

                Browser device orientation

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

                Browser full screen support

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

                Device HTML5Audio Support

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

                Browser pointerlock api support

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

                Device Video Support

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0QuGdQ-Zfs3-Qm3GlTk0G","name":"hasWebAudio","brief":"","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                Device WebAudio Support

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bP5Z2tpWaEgLFIsKhfydq","name":"isMobile","brief":"","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":"eGapLonwXt8VYF2hjx8xI","name":"language","brief":"","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":"Hp4VIxjR241GvFz9WI9dK","name":"localStorage","brief":"","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":"Jb4dt1SKGgpF_HL7z1M0E","name":"maxTouchPoints","brief":"","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":"Fm5bcuk6TaYX1OkvryJhN","name":"nativeBase64","brief":"","readonly":true,"type":"PropertyDoc","description":"

                Browser Base64 decoding capability

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ct3E648sL9Dk9EjexZEJL","name":"offscreenCanvas","brief":"","readonly":true,"type":"PropertyDoc","description":"

                equals to true if the device browser supports OffScreenCanvas.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lYSSAaYPK9p4-q6kpgY_c","name":"pauseOnBlur","brief":"","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":"v_ZQCvTx23ioU4JQJARbD","name":"platform","brief":"","readonly":true,"type":"PropertyDoc","description":"

                the device platform type

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9sNVd_4trF-zcZbsd10Me","name":"pointerEvent","brief":"","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                True if the browser supports Pointer Events

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fimIGUTGd2pXgmHi7NIBN","name":"resumeOnFocus","brief":"","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":"2Kwr7cWOqwgi-0qXW-8c_","name":"screenOrientation","brief":"","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":"7gyyPx9-faSBXbfd3uWL4","name":"sound","brief":"","readonly":true,"type":"PropertyDoc","description":"

                Returns true if the browser/device has audio capabilities.

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"63pw3zUA0MsFjm3HdqR6G","name":"stopOnBlur","brief":"","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":"fVxy_ziLlQKga4dajlYQ2","name":"touch","brief":"","readonly":true,"type":"PropertyDoc","description":"

                Touch capabilities (support either Touch or Pointer events)

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Bpp0-MspnW4AqrY2vYO-G","name":"touchEvent","brief":"","defaultValue":"--","readonly":true,"type":"PropertyDoc","description":"

                True if the browser supports Touch Events

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

                W3C standard wheel events

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jhxYnJz2eLRLzeMxZZrDA","name":"enableSwipe","brief":"","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":"t4IH8q7mHfJkx0fNPu-mX","name":"exitFullscreen","brief":"","type":"FunctionDoc","description":"

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

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x_IC1hLXA0zBt7wNNWMPL","name":"focus","brief":"","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":"YNPmyRZXMyII2O8-S-jUt","name":"getElement","brief":"","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":"pJnudO4M7jNbAyfRfJkJg","name":"getElementBounds","brief":"","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":"jVvCY17ncHjUcnbRG_CMS","name":"getParentBounds","brief":"","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":"tzGkhTwK7LX6BdHtVvDAj","name":"getParentElement","brief":"","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":"NjHKKNeIIuhhnG0KVDvke","name":"getScreenOrientation","brief":"","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":"qAYVz_ep1zNvjlZaydUeZ","name":"getStorage","brief":"","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":"CkJXq-M3cMLA0hH5vZts3","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":"ZVf3gVs-NfPHg2D2_QFi5","name":"isFullscreen","brief":"","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":"RxNV6n8uzgQNBLDAju74s","name":"isLandscape","brief":"","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":"hE2Wcffe82j_4y4YEFAOC","name":"isPortrait","brief":"","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":"vL3qkFJblXO1UFpyS3ZlA","name":"isWebGLSupported","brief":"","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":"TbGz4xZ9NSkPcMX5STt5n","name":"lockOrientation","brief":"","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":"JNmAPk5n7X_MRN9UhsLzO","name":"onReady","brief":"","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":"Jz7rbvVgXMuzOlbqTjO2N","name":"requestFullscreen","brief":"","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":"d3G5X3OI8C9btVFrdk1O1","name":"unlockOrientation","brief":"","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":"Wm1aZ3VIP8WPs7S2jyTlo","name":"unwatchAccelerometer","brief":"","type":"FunctionDoc","description":"

                unwatch Accelerometor event

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

                unwatch Device orientation event

                ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aVqQy7VCMAN3IqBDUMRKz","name":"vibrate","brief":"","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":"ZLPD5gGUTkd-605PFi_t5","name":"watchAccelerometer","brief":"","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":"zudsyWx8CxaN3r0ZJk1_E","name":"watchDeviceOrientation","brief":"","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":"-Sf5O9DEkyGoIs5K9zVZk","name":"event","brief":"","type":"NSDoc","description":"

                an event system based on nodeJS EventEmitter interface

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Cz8uuvO8EiaGx7TlZ-tzn","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":"bnS4z36Q8vKAlHmRJxd0Q","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":"nQdpgqVtwkefb7vt4cWwh","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":"62jHCajdJiFP3gEgCvyOL","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":"VbdeuqR9XSnWPjhZpgTQq","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":"IshosblLEQjJT22OAbhgD","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":"x3ilpKK99YcDy5MNXqLDO","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":"V-wYnGqKqDX5Qn5Yg1JnY","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":"oZDsylVGCnLQeHAg3gxlk","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":"SrypF1uJCSy-6zXMjS8zo","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":"r1336SxJZ0plXpXu8mx9k","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":"1imXhUlVZi1HFvNCYktdz","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":"tiuIuxaBvlAT0lYgzIGIq","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":"o120GXAa8cm_9SmMPbq3x","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":"t8FgtA0ZNYeEt4jRHlxGS","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":"QSbPN-h32yEKL3ftCc-AG","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":"mv_hcy3CWLmVhc1DnISiU","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":"50jv39lLOizqH-U-G3g6x","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":"MkNbo9dZPsSbYB1s97aRO","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":"iK-dMYNGhfCGu1-CwIaeE","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":"YTeJ0jZdcYwIdLhMmGrF5","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":"X-reDl6l4RHjjUgRUlt4Z","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":"h1bMQY8l6rzsWXxzcb5xj","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":"5tKadqQ-zKZVskGSVNpzC","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":"VdxQ14f9aHowXGrDnuj5t","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":"sYvK3FQz47GuYW22kHH4g","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":"eQM0mFCa6hw4uYNs557Y7","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":"pK-pGFU6Nh-vXnIjG5DcB","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":"oDeLCyAqFDku_Qyu7zOmu","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":"cfBcUS_kGm0ITL7th1mMp","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":"vQEX5smH8K5qke_ehsOdX","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":"BzPhQqhllRTTCRvJQO5ck","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":"25rjEmFcqYgIGbvxyOSt2","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":"b3geOvMX8aKOlqEyxvT36","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":"CZxuFW7xnDGiPVDliEvOB","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":"Z5fR1o-Erj3dhE9FSYIbF","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":"G2RR1ifd6sYXvc-KEooFo","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":"BWEVU4blZbqtfmMzhRRjl","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":"SkRgTNeepaIorSVx7cMhs","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":"KOB2vcCIS5mjzMZTBPjwF","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":"args","optional":true,"variadic":true,"description":"

                arguments to be passed to all listeners

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

                true if the event had listeners, false otherwise.

                ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"extends":[],"implements":[]},{"id":"iWhFnU3-i0Os8w_MUVcWt","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":"jZYOlfINikHG3c_CBYbvP","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":"GjmFUHbzd5mDqIS0ndLOd","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":"jY4xq9kSl1RFoHiQ5d97l","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":"PjfFupAFJWYpXWM8vhgkK","name":"input","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"QKKYFTWCla84OYJ3tC7jv","name":"GAMEPAD","brief":"","access":"public","type":"NSDoc","description":"

                Namespace for standard gamepad mapping constants

                ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"89r8tslyl4Acodm6YRbGZ","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":"QgrDpRiNWXGYfQhLoEegE","name":"A","brief":"","defaultValue":"65","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8IOAbJF6x2QubRuJ_CHve","name":"ADD","brief":"","defaultValue":"107","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xe2NvZ6J0L21CtQH-hlX9","name":"ALT","brief":"","defaultValue":"18","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DE-FR4T_hgqBNZL1PLyTV","name":"B","brief":"","defaultValue":"66","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uV5tlu-IxZc7doAk4T9gO","name":"BACK_SLASH","brief":"","defaultValue":"220","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XJUeuVOl_1nT_t2QsHkqj","name":"C","brief":"","defaultValue":"67","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wpNitrbxtLIIvn-bCfoqi","name":"CAPS_LOCK","brief":"","defaultValue":"20","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XYb5ALAZzjCklqkdWOy58","name":"CLOSE_BRACKET","brief":"","defaultValue":"221","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RNLaX4uCDfi8Lrwzymba6","name":"COMMA","brief":"","defaultValue":"188","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KB0P6mG8xfGyvjUZZOn4C","name":"CTRL","brief":"","defaultValue":"17","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"J6RY5Zs7pwvTBfOjVklX6","name":"D","brief":"","defaultValue":"68","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hEe-lLvLMdfglL4qiBDuW","name":"DECIMAL","brief":"","defaultValue":"110","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NuFB-PYDRO6Ti_hu6Ra8x","name":"DELETE","brief":"","defaultValue":"46","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iMPzRCn8eKP0pEwipxKxJ","name":"DIVIDE","brief":"","defaultValue":"111","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4enXzBVUFM9E2LpaGb_TM","name":"DOWN","brief":"","defaultValue":"40","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dUSwbob-9BdHhKlD99FX3","name":"E","brief":"","defaultValue":"69","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4XGEXt3uH8Lz7fpce8ON7","name":"END","brief":"","defaultValue":"35","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pway8jnKhXcoGGin3QTF4","name":"ENTER","brief":"","defaultValue":"13","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XEnJM_KtQHSqtscHOC57L","name":"ESC","brief":"","defaultValue":"27","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DfOEAkwD1gQehGLKa7vfH","name":"F","brief":"","defaultValue":"70","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"c0tJECh6CkDB1OjOY1sPi","name":"F1","brief":"","defaultValue":"112","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2KvcFj_qpBYiYJill0WSz","name":"F10","brief":"","defaultValue":"121","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pm0qsIvbGipAA2YlvzmWy","name":"F11","brief":"","defaultValue":"122","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-kYt_bFPmLzzWLdwlDJkR","name":"F12","brief":"","defaultValue":"123","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"biSwEoXD4TkBbUAWGquCQ","name":"F2","brief":"","defaultValue":"113","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GwJsK0vNlHhwqbsfz0JnR","name":"F3","brief":"","defaultValue":"114","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l4uz_7XX4lAHKkwL05-_p","name":"F4","brief":"","defaultValue":"115","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ocqFmajT2XHKZGFWH70m1","name":"F5","brief":"","defaultValue":"116","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"onuiaRuNVplTBSwqEbdpS","name":"F6","brief":"","defaultValue":"117","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"41kDME4RmKfVN7zYGt2eR","name":"F7","brief":"","defaultValue":"118","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_N0AvwUDgTnUNzgR-eUJy","name":"F8","brief":"","defaultValue":"119","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v0-SikI3AGbH8WRc68dis","name":"F9","brief":"","defaultValue":"120","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ULuYG5l2Y7xctULRJc6dP","name":"FORWAND_SLASH","brief":"","defaultValue":"191","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TG5V8JA83md5X6BngSKCV","name":"G","brief":"","defaultValue":"71","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NX8kBE6X3npFMGz7xacGx","name":"GRAVE_ACCENT","brief":"","defaultValue":"192","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P7sdHM_gHB_K7y7wJ5PG0","name":"H","brief":"","defaultValue":"72","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uLC_bGHYA_PR0EuNeVe_r","name":"HOME","brief":"","defaultValue":"36","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vRjXDEMLuWf9kNmS7XG6T","name":"I","brief":"","defaultValue":"73","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q6hDZler-USppk4ZBnGQj","name":"INSERT","brief":"","defaultValue":"45","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4cxKfR7ecybQDN-OODQrl","name":"J","brief":"","defaultValue":"74","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rHyROuvpAD8sOaZnYmBv_","name":"K","brief":"","defaultValue":"75","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5QPpNqvfrPsTWGvnEbUXd","name":"L","brief":"","defaultValue":"76","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sxByvkIy3OKk2B0AuOsxS","name":"LEFT","brief":"","defaultValue":"37","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GwCRlNc1vCCvlSUNGX8Fe","name":"M","brief":"","defaultValue":"77","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IClJdxLqsIYOYEo9FzAsO","name":"MINUS","brief":"","defaultValue":"189","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q30N8gPTXNd864mtsD9JB","name":"MULTIPLY","brief":"","defaultValue":"106","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xq1IV_eSzdD7oVT4kK5TV","name":"N","brief":"","defaultValue":"78","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VMuGw07CM1cBnKbrPzIRc","name":"NUM_LOCK","brief":"","defaultValue":"144","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TVCEJ102_lc-7ZlWrVZ4p","name":"NUM0","brief":"","defaultValue":"48","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1balF4oEpP1dF85ELr1pH","name":"NUM1","brief":"","defaultValue":"49","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rnUSmpd_vz6P-JMql360v","name":"NUM2","brief":"","defaultValue":"50","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KJrnTKZyIvwDUdaviqMny","name":"NUM3","brief":"","defaultValue":"51","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hA2NJMwG7Vodhegn44JrO","name":"NUM4","brief":"","defaultValue":"52","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QrmvIKUEPnlhdw76UP5gO","name":"NUM5","brief":"","defaultValue":"53","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vSZeuCsvnBYP16LsWYg6D","name":"NUM6","brief":"","defaultValue":"54","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xwSihnmRag8YUwldiC56x","name":"NUM7","brief":"","defaultValue":"55","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ek6dWgNCBnbYXFXUkvOr8","name":"NUM8","brief":"","defaultValue":"56","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LX8XDdYhBcX1mp52flbgI","name":"NUM9","brief":"","defaultValue":"57","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LUuBfDScyOWg-23jkJaIn","name":"NUMPAD0","brief":"","defaultValue":"96","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_B4t1_pndXLS_ZnFvPa5G","name":"NUMPAD1","brief":"","defaultValue":"97","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zguMYbKWgybV7EBUeXlJQ","name":"NUMPAD2","brief":"","defaultValue":"98","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ha3PgoNnlpHk4TcqU2isR","name":"NUMPAD3","brief":"","defaultValue":"99","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v1sZ-A-5h3F5I_uofsY7W","name":"NUMPAD4","brief":"","defaultValue":"100","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Vb-dcN7WapMzpdmoffYAS","name":"NUMPAD5","brief":"","defaultValue":"101","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CCFIJqS7t_7wx2zX9cb2Z","name":"NUMPAD6","brief":"","defaultValue":"102","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"61IYUX5laETXThG9HJBs5","name":"NUMPAD7","brief":"","defaultValue":"103","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gZVJ9V-YQgmIxzvT6IAI1","name":"NUMPAD8","brief":"","defaultValue":"104","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BusaJZWogxc5b-tXVUpji","name":"NUMPAD9","brief":"","defaultValue":"105","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wz8sc3i-Sj4cO9uDjYosI","name":"O","brief":"","defaultValue":"79","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cJwzvZkR00DroeqDMhE7z","name":"OPEN_BRACKET","brief":"","defaultValue":"219","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mfCDDOfurH50YeErLC3fB","name":"P","brief":"","defaultValue":"80","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ydtnutZOrQQoN4PmeALZO","name":"PAGE_DOWN","brief":"","defaultValue":"34","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3ndGeas96SDEU3O_KI5Ac","name":"PAGE_UP","brief":"","defaultValue":"33","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"upx6hHqz2K8ZJ0EDiAOh8","name":"PAUSE","brief":"","defaultValue":"19","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u4YeoEfueS9zHAg6bVUvY","name":"PERIOD","brief":"","defaultValue":"190","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iYlYXDx0jFuhI41Ymjert","name":"PLUS","brief":"","defaultValue":"187","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mYQXRNFk-DInUY4t9tMs5","name":"PRINT_SCREEN","brief":"","defaultValue":"42","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bT_64aXXpiTShHeTPsvQp","name":"Q","brief":"","defaultValue":"81","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IOjPWYvVZ5QlbYHXW3n6q","name":"R","brief":"","defaultValue":"82","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pDg2U1iSuZ0mA82l1RJ2D","name":"RIGHT","brief":"","defaultValue":"39","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bPcNzd4i-uaQhM_1RHU2a","name":"S","brief":"","defaultValue":"83","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eFdx6yriwKrgvTcq7VM-j","name":"SCROLL_LOCK","brief":"","defaultValue":"145","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Nq8I4Emh6pODNczE5JuwQ","name":"SEMICOLON","brief":"","defaultValue":"186","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xKl49M9NnYH2UAK_RVeg4","name":"SHIFT","brief":"","defaultValue":"16","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TA2BLNgyTfO6_fwxfDmJG","name":"SINGLE_QUOTE","brief":"","defaultValue":"222","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BuJ7hFxygPR4bxz-8EIGg","name":"SPACE","brief":"","defaultValue":"32","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ra7JV358w9CBtG9RFmmCT","name":"SUBSTRACT","brief":"","defaultValue":"109","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VZIMrAMq0xfKhqW6kwHF9","name":"T","brief":"","defaultValue":"84","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9QKfQtgH2AyzFvtbGtbPY","name":"TAB","brief":"","defaultValue":"9","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xy0dro0SIiFtO5z1hnaYV","name":"TILDE","brief":"","defaultValue":"126","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3hQUfG28lYpBgbJgP8Z_r","name":"U","brief":"","defaultValue":"85","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eZcs8tvImjlyToy0RGa1O","name":"UP","brief":"","defaultValue":"38","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pFhb4aaQy0_wxJjb9V6pF","name":"V","brief":"","defaultValue":"86","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lGagUB5BPMlAFrwxIMbai","name":"W","brief":"","defaultValue":"87","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t0LW3RAggtuqsIuhCvchK","name":"WINDOW_KEY","brief":"","defaultValue":"91","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eRm5QX8xz5XqzoJPiNKxR","name":"X","brief":"","defaultValue":"88","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lGNcv2rSNf2PcGqT8f5QH","name":"Y","brief":"","defaultValue":"89","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H5F4qAKxTzw247kls63dZ","name":"Z","brief":"","defaultValue":"90","scope":"static","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"UcWYBQKRsZxt8UkLVNDE-","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":"hqv5JMFBtj5FbZZf40OJM","name":"locked","brief":"","access":"public","defaultValue":"false","type":"PropertyDoc","description":"

                    indicates if the pointer is currently locked

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

                    Pointer information (current position and size)

                    ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MfSW6s6M3qHq-u4dcnfaf","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":"bdi5Hy_ZfKNhtWF-RFTSe","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":"qWp2-odMMzZUpzm-PqGxS","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":"Yt0Mad3CMDq9LJLDpkv_r","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":"cd3WHU2A4AgbUkjkzqFEZ","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":"uI_D1xBnEUnPsH81nA9ee","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":"7B7fg6Qj9JZG_tnDitsS5","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":"ljcIUlc-X5PMNBxpWegnQ","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":"Bm5GEP7hGY2INfYWAy8MZ","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":"McXd4qDQn5eLWYDOrITjT","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":"Mqcp0n2EeNHSCEQ4StFQZ","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":"Glual99W1Im3MJ5hsWb9G","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":"_NI31IpGmPwAlzuQ_S7xp","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":"Q7gIZNV4xtmvgB8dNUwkE","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":"2YpPqYCt2JYF1auYsKAJz","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":"snXbO2cfVNGraGLZDiAjp","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":"M6GI3nmzNdLZ-wVLAkJAP","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":"SRhaSUdMF6XaZGhC9K1Bk","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":"Z_upAUEsRK0BRzzb6p1RP","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":"jhiPzfUAnDqyzR6I_auOn","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":"9KfimRhChacWs-bbVZAy6","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":"1TzBUYZal_TOZprQK-qic","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":"0adoQa4SoVe4X_jJuzfKT","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":"aQCdI7wQ_xDb8CvRJKPNz","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":"MWZSdMf2IRvqO0OcEOBcW","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":"eH8vUsV29rY9RDzDdrLSg","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":"sYgyzTqOn6dl3qVTzac55","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":"hzsdb4sZq8AzhQ3nfNItx","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":"kZ7UVaZqkNlvjIsT0LQgG","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":"jRx9itsI0waZaa9Rc3EjT","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":"HuYXbRacwyh-Xuu1efGEi","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":"vFkzFNnvAGQlp2UsOthWj","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":"ylBmH1EXMgvDSfSFAZi3b","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":"Ratzd2YAG7320tyspb98G","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":"X3Wr2rGWqxa8JVxnUrMcL","name":"loader","brief":"","defaultValue":"\"\"","type":"NSDoc","description":"

                      a small class to manage loading of stuff and manage resources

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Qig5rXVEY3wx9NW1wMyga","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":"aU4Fng2mep1MVz6zn9Q5G","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":"1BeLzGORhBZfrrJsLGYf6","name":"data","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      TMX data if not provided through a src url

                      "},{"id":"o4ENE0QFs9h8DjHDdCMjJ","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":"De2itJXr1Od7lzoEMmkvn","name":"name","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      name of the asset

                      "},{"id":"F6bLuM34xgqxSnxrv_jqB","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":"gEJ7446IDKSTd7u5nzAET","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":"ryyIxBHmRJWUOKAhgZ1sU","name":"type","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                      the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx&qu..."}]},{"id":"eYAqbEWy1l8au3I2mzEo8","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":["loader.setOptions","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":"O6LeokjuHTicu7ukapt6-","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":"OlXjqK8lenJO1tKA-V-5A","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":"X9-bVSZoyfGgyBNZR7SQ7","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":"7sMY6wOvQJ8Ul4ThXKs8B","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":["loader.setOptions","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":"UtqRRvX82FqJ1Bkq6RZWt","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":"wUZk8V5xSbat4Td-wI1ta","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":"KmfvJjVKyP5HHSk7DC_PS","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":"7BpqmieFP2oHvM_j6M-K1","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":"1Wg82bwYexDk9bgPLsAYT","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":"m7K-9C1tEleBe0MilUIes","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":"rWgloio8Jw3hc9jUPARO7","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":"lFDD3U1ctKFIMRqpr-uZS","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":"7jh5kvjDCmpqN1dSZtTtD","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":"rj4uJnQitduXjYyQDT66C","name":"setOptions","brief":"","examples":[{"caption":"","code":" // Set the crossOrigin attribute to \"anonymous\"\n me.loader.setOptions({ crossOrigin: \"anonymous\" });\n\n // Enable the nocache mechanism\n me.loader.setOptions({ nocache: true });\n\n // Enable withCredentials\n me.loader.setOptions({ withCredentials: true });"}],"type":"FunctionDoc","description":"

                      Sets the options for the loader.

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

                      The options to set.

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

                      The crossOrigin attribute to configure the CORS requests for Image and Video data element.

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

                      Enable or disable the nocache mechanism.

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

                      Indicates whether or not cross-site Access-Control requests should be made using credentials.

                      ","dataType":{"tokens":[{"value":"boolean","kind":"canonical"}],"template":"boolean"}}],"returns":[],"extends":[],"implements":[]},{"id":"xHow28TT0gi6zzsAhG40t","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":"Y1i7WYEKLrW3biMRBEa3N","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":"ruOQO1P7Av13A2RzUHUBi","name":"unloadAll","brief":"","examples":[{"caption":"","code":"me.loader.unloadAll();"}],"type":"FunctionDoc","description":"

                      unload all resources to free memory

                      ","params":[],"returns":[],"extends":[],"implements":[]}]},{"id":"57O0oGNlsKQPViahqLZGo","name":"Math","brief":"","type":"NSDoc","description":"

                      a collection of math utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"0zcUf9KH3Zi7tY5zev4cF","name":"DEG_TO_RAD","brief":"","readonly":true,"type":"PropertyDoc","description":"

                      constant to convert from degrees to radians

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IFOwoBln_3ia1b7jgs1yW","name":"EPSILON","brief":"","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":"Of59YUCCDJX3zdtA1UXmm","name":"ETA","brief":"","readonly":true,"type":"PropertyDoc","description":"

                      constant equals to half pi

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dOo-wPRTFsuN4opsGJ_aO","name":"RAD_TO_DEG","brief":"","readonly":true,"type":"PropertyDoc","description":"

                      constant to convert from radians to degrees

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

                      constant equals to 2 times pi

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gTT0bSciarHzQgHERuUfR","name":"clamp","brief":"","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":"T2fGm2Trx-R3EmiV1uDpz","name":"degToRad","brief":"","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":"58hhwTKrl4VI1QDJa3aiU","name":"isPowerOfFour","brief":"","type":"FunctionDoc","description":"

                      returns true if the given value is a power of four

                      ","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":"LN5MMEk2fR3ruB08wbNKq","name":"isPowerOfTwo","brief":"","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":"A-YPPGwriSaC-ZDQ3b8QQ","name":"nextPowerOfTwo","brief":"","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":"7Pl-sHEEqN-grtYn_VR0J","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":"nXyI5oclynjn8C2TckLYl","name":"radToDeg","brief":"","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":"Dcxp9qDON7-IKWNZiRbxV","name":"random","brief":"","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":"Emk0EU06ivKtw2v-I8MCZ","name":"randomFloat","brief":"","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":"K6jUFA2WIWYsL3FwVX39p","name":"round","brief":"","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":"Rc8RvVWcGl3vAv4QeY7Cb","name":"toBeCloseTo","brief":"","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":"w3wme5WXWrHqnXHRCxDuU","name":"weightedRandom","brief":"","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":"uMa7iAYFGjU4oW08jacHt","name":"ParticleEmitterSettings","brief":"","readonly":true,"see":["ParticleEmitter"],"type":"NSDoc","description":"

                      ParticleEmitterSettings contains the default settings for ParticleEmitter

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"UErNfyYeIku7CgAX_Kqza","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":"iTOh9LTkzUeBEnAVfUKY4","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":"jHB1DfpPD7bqjN1eM0Vi4","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":"bH0kCIS2drXsA0EA_iqYH","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":"8rfic_DFPOtlu_96gSghV","name":"floating","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      Render particles in screen space.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GLh0wKQeYUcCinVDObAL7","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":"WkJpN38VSwRWbGVc-2u9w","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":"_O-1xHQKDs2-F8acSU_W9","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":"P5eSKgkik9YHNmfrR8n-s","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":"L8Ng1EUbDyAh5sTBEMxiv","name":"height","brief":"","access":"public","defaultValue":"1","scope":"static","type":"PropertyDoc","description":"

                      Height of the particle spawn area

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kJ5gqLnzD3UPak8ooAftV","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":"3PQSzASuHFGx1wN8ddWGi","name":"maxEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Maximum end scale ratio for particles

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KPMrYhLEPuWDPJCrCemAf","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":"ki690-8vB_ebCCCMbqt8g","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":"IodqdZmQLLlDrb4NohSoD","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":"8OeDGkI3Bf39sFI4eJrwp","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":"NvReM80aqDwSsp6oaynYX","name":"minEndScale","brief":"","access":"public","defaultValue":"0","scope":"static","type":"PropertyDoc","description":"

                      Minimum end scale ratio for particles

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h7YBLr9FtUoB25-yuEmTP","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":"S74_3JopNrGnzuwwDVtjD","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":"Rh2vumjnpHiN0wU7luYaZ","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":"V0Z-uhiYSKPl5RnYWtQnj","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":"EYkY3C_xNo86d4zQxQMiN","name":"speed","brief":"","access":"public","defaultValue":"2","scope":"static","type":"PropertyDoc","description":"

                      Start speed of particles.

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

                      letiation in the start speed of particles

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LSyqkLRR__w3tFJjOngCo","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":"dijiq7FVCiq20p0IDnwXP","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":"tkemxeMo_XOgVxHgkAicl","name":"tint","brief":"","access":"public","defaultValue":"\"#fff\"","scope":"static","type":"PropertyDoc","description":"

                      tint to be applied to particles

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

                      Total number of particles in the emitter

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

                      Width of the particle spawn area.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mej-Rb6v0zRvuiJhMBnPo","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":"eyVJcovKievisH5y3AwkM","name":"plugin","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"FjFkEhTA5z__NeHHdSog2","name":"Base","brief":"","deprecated":"since 15.1.6, see {@link plugin.BasePlugin}","type":"ClassDoc","params":[],"returns":[],"extends":["plugin.BasePlugin"],"implements":[],"members":[{"id":"4Q2BQ2Dc-pfBtYFpBdsYB","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                      a reference to the app/game that registered this plugin

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a3V64YB0ts1uyRkLBHPnu","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":"xAh4XkiZC-4jigRgqll-9","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":"npkbAqipLYsgc7qI88p_a","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                      a reference to the app/game that registered this plugin

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eKmehWGuZB1X0RzNSCFJF","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":"_GWTZAJJxp0CoiMIRQlrP","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":"07lG7bz7B3xEmXZ-RQpAo","name":"cache","brief":"","type":"PropertyDoc","description":"

                      Contains all registered plugins.

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vNa0IfPLs8ACn7hmw9ysO","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":"waFlXRTubXk2Qy2E5HL6t","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":"WpSLzeAcmuWqKQjl4a-Zx","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":"args","optional":true,"description":"

                      all extra parameters will be passed to the plugin constructor

                      ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"82Qj6TgVMondf96kN31Co","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":"M2s2A-65HpfQxGLgPYRx8","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":"7b0xxweDoeLtdVj31B4of","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":"ie-rWmgP9QKliS5XUqpq4","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":"fKU9bsqDh7eym34Lv3Awx","name":"state","brief":"","type":"NSDoc","description":"

                      a State Manager (state machine)

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

                      default state ID for Credits Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OOU9k7w8k4vJ6h1GZvPu3","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":"vckn0FnW2wvVuKOHCVb4x","name":"GAME_END","brief":"","defaultValue":"5","scope":"static","type":"PropertyDoc","description":"

                      default state ID for Game End Stage

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

                      default state ID for Game Over Stage

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

                      default state ID for Loading Stage

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

                      default state ID for Menu Stage

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

                      default state ID for Play Stage

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

                      default state ID for "Ready" Stage

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

                      default state ID for High Score Stage

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

                      default state ID for Settings Stage

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CpQBogS_H3w7khr0V5Vzh","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":"bEXkzdvUGhS8yt2G0BBvE","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":"args","optional":true,"description":"

                      extra arguments to be passed to the reset functions

                      ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[],"extends":[],"implements":[]},{"id":"s0s1RrNgilXxrBIA_t-8a","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":"eFPsOVHZShi8hzFQhkCCV","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":"MYcAoUo3wpHBIMFpIWGmR","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":"fePzCgG-CHYspH1wVdLZD","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":"A4Hd88yK53suREeQBrGRs","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":"C5mRrzlHC7dbnlk5FNcWz","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":"s8K1CL8j9JjXIWfR41wjs","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":"Wcpl2A5SvC-qUIuoaV5lD","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":"TnFiDGW2BvRndBf5kd8yb","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":"_TggAc_nGWDQ0HYhnG7gH","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":"hUOq6BJJPhUpJAbVgYigB","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":"MkyPFGy-R9J84qjgCEumN","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":"DEbY-B9sEB8UNNyT7FlQb","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":"a-jSZx-SnfjXDRRYD3sgc","name":"TMXUtils","brief":"","type":"NSDoc","description":"

                      a collection of utility functions for parsing TMX maps

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Atzj2lRVRmuAzlVzvP_uV","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":"LevGzVQXLCzM1UAL7M2P6","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":"QS7V-XejzQH51YF2mIWjE","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":"qWLXADapSqESF3ycDSCKZ","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":"ntoV8DRL2pycGLhqXbSjU","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":"9xyw2KnvzlhDItaOx2tdz","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":"A3BjWKln2Xpna-Ta2KN96","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":"ucAuftJCChBZDHVdYLwhu","name":"utils","brief":"","defaultValue":"\"\"","type":"NSDoc","description":"

                      a collection of utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Tz1auN-GkgtGmfP3p8fCi","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":"tXtpKhwvD1Ime1CMbxU4F","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":"ry80E_3aEURQXVgcRqnmF","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":"j4pJsuxWQTadthqNnf8Os","name":"array","brief":"","scope":"static","type":"NSDoc","description":"

                      a collection of array utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"RH0QQFigFuwWrh8pq05hu","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":"gx0_Usybq4_S7cXweA4JA","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":"RA4QhM47f5C9loHP0pC9V","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":"K0YHHK-e7mguToPFtYS20","name":"file","brief":"","defaultValue":"undefined","readonly":true,"scope":"static","type":"NSDoc","description":"

                      a collection of file utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"0qKLVVW6N_oG4Jg9SmJaG","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":"WPbe_ttzZUdxPVkD024QY","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":"5qx8GNeIMe3_PZrsF8hgK","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":"ezvitXywfMaiKIMKBu4fI","name":"function","brief":"","scope":"static","type":"NSDoc","description":"

                      a collection of utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"hkSIIjBHotZsgFOcXqdyK","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":"61YNbSK5XrGABlmjeFqRA","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":"LAU3P2WfSO2NGPsidcq4n","name":"string","brief":"","scope":"static","type":"NSDoc","description":"

                      a collection of string utility functions

                      ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Vgb9Zh9UZahbXP0_2R7CP","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":"dNO7xPmZ657I-Cz9nN96v","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":"C96FZV4i3brAg_D6XDB3R","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":"aBZhQPHrIivQ0E7Pgm4CL","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":"41GLwF0VLh7furP42ZlEh","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":"yzKcUmmVpkDytuc3ziqdQ","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":"RmjSihqQLPYAAApAUnJ1G","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":"8Mk0bBYku1xwPSthLJs4Y","name":"debug","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      display the debug panel (if preloaded)

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

                      show/hide the debug panel (if preloaded)

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

                      draw the hitbox in the debug panel (if enabled)

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

                      draw the quadtree in the debug panel (if enabled)

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

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

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

                      force the renderer to WebGL

                      "}]}]},{"id":"3mkZnf_NVnX22OjxWaZRs","name":"video","brief":"","type":"NSDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"JLGkALd27frCSxi60Q-_t","name":"renderer","brief":"","defaultValue":"undefined","type":"PropertyDoc","description":"

                      A reference to the active Canvas or WebGL active renderer renderer

                      ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"liIGSfNds6WwoFc25d3OJ","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":"vj2xVzhxQKU04AMiVEigo","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":"Fb8MxEOeupFuau023kdzC","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":"eqSpFDbB7zaCqTmBzIagl","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":"emrkRFePNBInvZhxEam-E","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":"_ZhxIqlZ6lZXjQ6wOc0dM","name":"antiAlias","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      whether to enable or not video scaling interpolation

                      "},{"id":"DC8HsGU_H1JU9dHLdnwvD","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":"vk00nOqHszUfaytfCzJ7G","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":"tmADi2XV-7jUOl37lRjnW","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":"3IiuLooe08eavlXpRsYFx","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":"kU5JyZXh6egd5VSRRP3Te","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":"4zaWcpPWmmbIAWIy9qiGI","name":"preferWebGL1","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                      if true the renderer will only use WebGL 1

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

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

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

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

                      "},{"id":"_gKb_9vp-LVf2CSpy9R9U","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":"yHhx5B_VHIfgPts5n7YNO","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":"lZtw4W1BwhlKc7r3lLdSo","name":"transparent","brief":"","access":"public","defaultValue":"false","scope":"static","type":"PropertyDoc","description":"

                        whether to allow transparent pixels in the front buffer (screen).

                        "}]},{"id":"ULPEzAYJti5_CX9WNYLdO","name":"isInitialized","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        true when this app instance has been initialized

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wdQlctijuZcMJEjlFlJgD","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":"CDAZiS7UPtGKMx-dKv7RK","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":"KjT8839yFXJOO3zXFz6w7","name":"parentElement","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the parent HTML element holding the main canvas of this application

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fUBmuJ7q_COeU5U2t1Gwo","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":"hUeuMI1HSpenly85DI-zH","name":"renderer","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        a reference to the active Canvas or WebGL active renderer renderer

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oNjKd15jwWdBs8znNmW3I","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":"aEP9Iy4PE5rB0DyEzrhx2","name":"settings","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the given settings used when creating this application

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lAkVFAIOKi9DgCHCop67b","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":"hpSfZ9G6P-D1Bb7ugusRy","name":"stopOnBlur","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        Specify whether to stop this app when losing focus

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uUIfmLNdzFS6sgGX4XB_t","name":"viewport","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the active stage "default" camera

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H1eUreR3waQFHm07FcWrv","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":"dHC7r80if7lQiNT__a2eh","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":"qOPMKINJbAUvRAHh0_axT","name":"draw","brief":"

                        draw the active scene/stage associated to this game

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"q0Jwtukc2Xku-uGaniyhi","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":"r0vTqV9wK9Yl7eWjsZeaN","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":"L7BCx31TeQjHzbFqsAiC6","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":"o85_BC6NkxppejMMb5N-A","name":"repaint","brief":"

                        force the redraw (not update) of all objects

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OjeXqPMLwrV--Aa73hj7K","name":"reset","brief":"","scope":"instance","type":"MethodDoc","description":"

                        reset the game Object manager\ndestroy all current objects

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wxzIIw0aoXoCVTO9YMXtq","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":"C1rl23Xa00vsGa9uGOwOC","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":"30FthVdCx8OmpPz_zrTy3","name":"BitmapText","brief":"","type":"ClassDoc","description":"

                        a bitmap font object

                        ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"D7N8o07FZUf1vhRmBgK2D","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":"I7y2UdSVtaL9j6VduDAZV","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":"eUEeegojdrA-uBHr_Clnp","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":"ylgLuJPoLoeUYQjxW3nA_","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":"j43rrLLFrtgJRZss6eEvG","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":"vfJzxgiZjrA1HcZ7NEA1Y","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":"jNOeWr-krK0HQmH22t9iy","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":"FBea9IYC79aENsV3vR33A","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        bottom coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SzmYEcudtg0FFnRFs2HHI","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the horizontal axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jzyqrDScjFmfcVh2jTv21","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the vertical axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cPMtop2LAbYo1ycHBtayp","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the renderable default transformation matrix

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F-SNjFNpKDQ4hzT6rv85F","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the depth of this renderable on the z axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C-5uY-ZCF3olhXGgt5O59","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":"1ZYZgbvebAiedrgHcDKXK","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":"_TGXaZQaocL_wvXDQiAHi","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":"f7dwa-kOYaQtQs6q4k81K","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        height of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lt7YjQTP_KNtNPZuPfqqm","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":"YxZ11Wj8gv9My3VwwXfpl","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":"J_DtlLQz34K_2CJABF2HL","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":"Qoh02oEqHwyqtFcwzyHv5","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":"c8VsdDNyQ46z8c_5rVbBW","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":"Fs5X0guX_VDWAxRi1fj7V","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":"E54g3HWUBIj8ggt6jl4X0","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        make the renderable object persistent over level changes

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JAlYECqUBzcKCWuLZ_G7a","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        left coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i_5DqoFspm1_xEofFXsPV","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":"w3Tzk77uOPj-8qJdbiw2_","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":"yUoLr8yWgw6GZ_qnA7qLD","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                        The name of the renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TC33QqFP-ATgZTzBFWAny","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":"tgn6DE_R7h3J78kXe0zxB","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":"aU3dqa5vfS2wjfe_jhBsA","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":"9JLBfGmOiewmehMBVEg-C","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        Position of the Renderable relative to its parent container

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U6dpts6h5iBG3fo9uiiOG","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        right coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H6deqhzdVHFcCX0zf2MQe","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":"hFTQm9NLRfNS6igDw8e1J","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":"wm-iC0GwyLya0sJa76NY0","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":"_qzkCUtpUquT57uQL3Leb","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":"TtDGx4M53kgdiy_h407IL","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        top coordinate of the Rectangle

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

                        the shape type (used internally)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dUNCmEgwmyTZNEPoVlnvk","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":"77jYxTfzc2vr35QQZL-Sf","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bHLr1cT5O6-JVQgLAfpkJ","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":"cuxz0Rz9r37J3IJcOigcD","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        the text to be displayed

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uXHRM62fHkHkFMSsTBwuH","name":"fontData","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        font data

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8ppewfuVjQVvVuiEXDbsz","name":"fontImage","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        font image

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"72IO_G1uZ0yqTw3aHNZn8","name":"fontScale","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                        scaled font size

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"juTAm5xEcOm18pPzjE5qx","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":"XOT1YDWIRY0Gta5v8EVpS","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":"pjgpkhVdYPBjJQGCbHtFG","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":"IgNSOO-z0XCA_VJPTSXmA","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":"yS0Lsre2iCT1Bv59Fwnwt","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":"Pdkspuoa1NuFliw4LPGeV","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":"xTlth3FgoWT1lx4IEyYdK","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":"QBk6IJGvfuXOp2XnAtrAb","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":"9MK6Y49nxeek0jpsEaCNO","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":"Kg0TgH7XUbPTjN0bsj4xW","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":"eDQV5y6Dx8vH7PFNMOnDT","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":"NdFB0l2AwnB9j90eh9O3F","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":"tNM0RYk5B13rDMyIRhiMj","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":"z9a-U7VHSEu-BKHjhc5nG","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":"uE6EclIwO3dabjn3CkRnX","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":"pmFXR1QOxQgOJJbBEZHE9","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":"GHQ9m1e6qck_MWeIar4sY","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":"0e-y8FjvY6qGlCU_zkrXO","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":"snaxY6d5yuKX-731FpOB3","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":"mSUEWhbsea0or4TXkaNae","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":"gvpGO6I1xgInn4j03oAfc","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                        OnDestroy Notification function
                        \nCalled by engine before deleting the object

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yISdh4ndUBuaUHammeSOq","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":"DsEzsU7P4E6BrhIoTdsUa","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":"c29dj-qqFxENUr1npbvFm","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":"V0zFk4U0k2sCJcOphRp6p","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":"0YMcRgiVD7QrZVmuoRPcy","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":"GXgaZBmQGi-bJgtZimhEG","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":"9h2lcJEc9mOmh6GUIR-jM","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":"CN7C3e5kMFpNUa5IYAd0j","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":"0ZOcZumX_in7rRArHVTqb","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":"hP2FV_qTyUJ3BKKQbSS3w","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":"TZHAm9JxjgCD0516ztyK_","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":"hpw_0JMHvFXBdpLQfDT1j","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":"nQCx3hHo-YiYGQ4ZYz5vx","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":"tHH1jjNzKSrfoh0koUbFX","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":"P6iUwsnfPBkxF2ABHfBXX","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":"aTJdPaB6wj1jV7NXBl1jj","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":"P-15sJDiIyHh6AO1o8D4H","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":"dKYM88ndod99dPTa3uJTk","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":"0GdIuzhfEbji5f-v7kx84","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":"lU_ypgwkzOwXpUuxEaxoA","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":"a2ozJfDpp7xq0BFCG2mVK","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":"-UXzw-p_53sSTcx94GSrP","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":"tKTFfagvOxFHZDEcnQtpM","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":"sg4o2piYlKA9qxP5ew12I","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":"-c4j4a8VKfLaTFs9Plz3L","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":"U8DEsqG6tpiBAi5somixt","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":"vvXVxCrESHriE-yk0jk8s","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        The AABB bounds box reprensenting this body

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aKuK87Js0muvOM31oDfri","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":"qKFVX3E3PrPGjL_JUhpBi","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":"c23xUg5ck4CyjACQPbTGi","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":"-27lszq5-R_eds3LERp0_","name":"friction","brief":"","access":"public","defaultValue":"<0,0>","scope":"instance","type":"PropertyDoc","description":"

                        body friction

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yBozAWAgiuy5edFEYnkQA","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":"IjNIg6xc5vwNAPy5GurRt","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":"HLV9lHrWtmrE17u2fNqod","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":"y0XVzmQA17twsNEA-ZwtD","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":"LdOGTiZPMm4__ZIauhVN-","name":"mass","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

                        the body mass

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8Nzdqlho_Whb5zgI86xk3","name":"maxVel","brief":"","access":"public","defaultValue":"<490,490>","scope":"instance","type":"PropertyDoc","description":"

                        max velocity (to limit body velocity)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DuqPW45L4At8qmuKpXkvG","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":"C4yK3xfSxtOi47woDWzjS","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":"-WqkEe0lpWwCCMEEN4Y1H","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":"jTUBJGY7yUSO3Mnyz0iTs","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":"iQVG6dyHUyPDY-_2fgwxZ","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":"Hp_wM8i9EPI88QMOlKSXZ","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":"RkBQmgxjuidMNDARgmvT1","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":"WNTzF7Eg54nu3aKNztYR9","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":"NQ6Awp3JgzuawqcqseTtY","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":"wPHzzd1KaUDiTmjX5fFRD","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":"n3cW4G__ql76j0VBKCst1","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":"_jTOV1OTy0lI5w-sJQlvC","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":"-jVNKnbtOkxg-Ylf3jFSg","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":"1GyucdTgsKEPEKQd8_Ocf","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":"9Rw1XteWV43LU3L2Ql-3d","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":"iU3SkH8eVfzVA-Rffc7xj","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":"zDiMWROMHG6HcEMRyl7Ja","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":"1XL9NroQw72KRV2TzBEUq","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":"WIFG8a3SPDAYIq-xiXbPS","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":"ZOFCzpTgOEPBhsrkIc82b","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":"B-jKdlwDxW2Xm34w8tGHg","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":"t_lf8-N8phvnpKgBfR_Lo","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        bottom coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oD0vqu0MtKPRM5EpU99tT","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        return the center position of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mGOLj1qwbwoP38IWUfJYT","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        center position of the bound on the x axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CQcHfNjEDS5j0EccV-D4D","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        center position of the bound on the y axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oPWiHMdwy8w6q2qXQDJBD","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ltmSRv6VlhD59HO__iJyF","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        left coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MdYHY6r-ozkrI5l0F6nOR","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        right coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4_CZQoJnC9T-oiRMPwdXt","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        top coordinate of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AkUj21DapLZVwqdZMw1t-","name":"type","brief":"","defaultValue":"\"Bounds\"","scope":"instance","type":"PropertyDoc","description":"

                        the object type (used internally)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IJdRV9ORd0UNrLzofKu3f","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZIg4cblwcFrhz2OMkmXNw","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        x position of the bound

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w9OH3dG4Kx3rQh3LizII0","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        y position of the bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G7zyrBPOIBB_Jrcsi_dyS","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":"dGRR0JQvmb73IaKhwO6zE","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":"4Sh78EXDiGBXkB5y2DG-f","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":"X4EOi-slblU2d1OjtKdbL","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":"PW-QUDuydBJRjuyIegieX","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":"f8gXYeTQrlt3AJuO4iKF4","name":"clear","brief":"

                        reset the bound

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tDZNIFxx1MZuBHM8JEpWz","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":"76M7YBU7xxbp1R9LymTfx","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":"BCYeBYrPovbRKoROcBDPE","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":"mYwqRWzTyEnS5_u4_0ZVj","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":"5uN2gl6RMMmtPT9BZBOcC","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":"0hVgPuCt9j25IraI5EVJp","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":"4rzzWiqeKL8UkrQROMd0b","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":"84xCsC_-_wCJg1jufAwoE","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":"6igHjO8UWu6vhISTGotqY","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":"dqCqaOUkGDmU45SePU6k9","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":"XEMciw6gFYftq0nLPEYF_","name":"Camera2d","brief":"","type":"ClassDoc","description":"

                        a 2D orthographic camera

                        ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"9RZbFA2FYR1-DfKARjlDu","name":"AXIS","brief":"","readonly":true,"type":"EnumDoc","description":"

                        Axis definition

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

                        both axis

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

                        horizontal axis only

                        "},{"id":"atz-mP5Zo9zNulOyHebxf","name":"NONE","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                        no axis

                        "},{"id":"PF8dgTYhGwlotQteDV-0v","name":"VERTICAL","brief":"","access":"public","scope":"static","type":"PropertyDoc","description":"

                        vertical axis only

                        "}]},{"id":"VJ9y5butvjW0AgoVf5lt_","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":"8ez5ilzYZfMqRJEH_VXqm","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":"IepXtorSL9q5RfExWP-Gp","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":"tc7z7Wzblfk1rt2S_b3rz","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":"zn4Oy0dQCDoInHQMBNbD8","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":"KJJ8i0OsKIxjmJ06f_M42","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":"xxJ8qqyLMe_gIbkMliQ0i","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":"ZqLKIEJ3KP2vONRhJilch","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        bottom coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gMa-cmWgxM3JbTU-C64dS","name":"bounds","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        Camera bounds

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V3kNCj_QuXkv0Msq4TOVn","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the horizontal axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7sPw-z3WAD3j78-NjMfWC","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        absolute center of this rectangle on the vertical axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fNp7IcOwkhKbL-aalEKNt","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the renderable default transformation matrix

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"YZ-CDqAgz0hxWI9mIxNr9","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":"D4zWaPzla0w2IS_GNpG3y","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        the depth of this renderable on the z axis

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oe9kt4c7wK_XLsogzXRdi","name":"far","brief":"","access":"public","defaultValue":"1000","scope":"instance","type":"PropertyDoc","description":"

                        the furthest point relative to the camera.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WhAbvFh00ikpdDEYITTgU","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":"4kANwdA_Cg-yE5RJzfnVh","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":"2DTgjypT52gE9W60UOHnZ","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        height of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tCoG28vvPkTKVFdbBn4gZ","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":"hFDR2lTAGnelTrKUtn1YG","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":"s0wOvTwJMPur4dU3wPquM","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":"vg5JO-ba7vuz1rZ1pQ6iT","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":"LYXbpoWOxN89IujmHhTCP","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":"5wRj9BNPgkNxDSfwFVVHV","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":"hayzBftbPY79pZkxfyhV7","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                        make the renderable object persistent over level changes

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QwEvLsPPaLksbbgfC8b_B","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        left coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C3PNgkQrnOVoJKCBtrC-U","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":"2yyZSbsyLLFmsTbGfQ0LC","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                        The name of the renderable

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tPZXTunby7PFgB9iAKYtc","name":"near","brief":"","access":"public","defaultValue":"-1000","scope":"instance","type":"PropertyDoc","description":"

                        the closest point relative to the camera

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5BuzKVumLLh4JOWqBzZtN","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":"IVw3mOOx0B1lz5Kl066zC","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":"YT1h32xPCuiamn7hnA6D8","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":"tpKgESBWl7HjdHB5zS69H","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        Position of the Renderable relative to its parent container

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LKvOiMIxezYO5Hub4FeFe","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":"u1LJer0kMCyGRWxQlDWzq","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        right coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NXILBg__PILHzwGNeE3Dm","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":"o69Cv_JdJLjsDJiWyuDVn","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":"37PB8W1SyyFP7WCnG3OB3","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        top coordinate of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N3tjSbBTx-PIQqtUcN7mj","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                        the shape type (used internally)

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"je-tR1u75CHDpgUsFwLkR","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":"uC0jBLGemo3H292-cts83","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        width of the Rectangle

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ARyzV7dfGSOAPBHz8oHsa","name":"smoothFollow","brief":"","access":"private","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        enable or disable damping

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hnuHVgv8n7KJIsVzFKBaa","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":"J_eTIQ9_-HtzeVHDuI9DV","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":"xfTqa97FeA6Uur_-fkwpw","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":"YrTWPTFenv_aUUGBIgbmT","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":"MQb4H9q4ViAihWZqCiJ3r","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":"Z5OgynwSwKBrf6RrO8tfR","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":"PSg8JuakMgVVH-mfJS0PE","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":"moyO2bBmJslisg_qkKSse","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":"u5kBACJ53Kz0vzR4IG8Kt","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":"MrZ7ukALBcDJBDyPHDFmG","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":"_J3pL7To-GxMihsQVglPx","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":"ZHwo2k7k0nFhFlrQ44BEg","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":"LAcJGFUkFCjdNFCiB5M8X","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":"oj3JB6SvRvlMS9F5HNP8l","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":"wQp7PSJXlMiisZmjrZO37","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":"rK4Qc2rE81oZXsr3VbfUs","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":"wGNMNSlg4y05G82ZxI7Xh","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":"hSCex0iPSRN-QdeOnuuJ7","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":"8IQdNbQFX7WpMIrGHVeeO","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":"zv9p0EPz4ZNv41i_FIUZr","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":"x2oJzf968y3R3vmFdie_n","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":"c_ipWq4-_VKWsVZ0bYq8n","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":"8cw-3BGsYxws0lk5E0HFE","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":"S0QBoHYJZn-NYc6ksWKBR","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":"Hl974zaYtLIq0f0YPVL1o","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":"ftZk1cSSuGOTnG_S4pjfs","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":"5PVrfC5MjDl2YXKAS6roW","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":"n2WoaAeCNgxdbNndfKckW","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                        OnDestroy Notification function
                        \nCalled by engine before deleting the object

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ETjXNvd2-O5S3PEoHnv-N","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":"px7YH2qPJd2k65zI7WOV6","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":"Sv9P1M3zTYRe6yg5O8C6G","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":"vBlhECzuKRZMdCANniEnG","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":"lQKYWU6_bxqH1YOMlJQSu","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":"_oJt9suaWOPbArBoM27UM","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":"N2PyBOv7GATBXGEw8GgBs","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":"dTl5AZXKiuECgjwFmTvLP","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":"Vvglpkn24dMH1ga4GjN8P","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":"VtYj49nGX8RwNhbY0GbMm","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":"y40Ws7GoqWcN1vJFstl1m","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":"ZJVJxa56hEd4jV4JSDnxK","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":"QLlS2nQb07vD5YYSFWyeC","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":"fgu7TlOl1fKb914thtY7q","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":"Mdi_dNkI1TMlccGdoiPb6","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":"WsivkxTDNw9V7DVQBgKOC","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":"xmNNCDsoyr_Vgj2Ykl4Pa","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":"HQicqKT4mlds5H6zUf4vp","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":"JnWAbnDaZqXv0nCfkyInI","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":"ujtw_V5cdppRhAIZ_rhx-","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":"SDnZKi1lJFM3MS2NIPMVp","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":"cx_fiB7AaK7ztY9RxVd79","name":"unfollow","brief":"","scope":"instance","type":"MethodDoc","description":"

                        unfollow the current target

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CSxejwcvMD2_5sPYy_2a6","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":"5T0T7OKGogSWMY-5JupAv","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":"Ye98xS7_TcBEnjb1WSL_U","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":"I_njIa2FKPcXKs-hHYg6h","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":"-pgc2NFhoHiOQyvRVEHIJ","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":"55U0CbIM-Dg0wSsnMiyrg","name":"CanvasRenderer","brief":"","type":"ClassDoc","description":"

                        a canvas renderer object

                        ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"FX-oCBLtZStYTDzAzpe_M","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

                        the default method to sort object ("sorting", "z-buffer")

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QuaxXavIY7ufTWe03WBW3","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        the requested video size ratio

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JhSH26gByokRZPfDybxZG","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":"IBCiKM4rPbZ07c3PmfYyB","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                        true if the current rendering context is valid

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7GqhZOFkOdBhyP05FXeDc","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        The Path2D instance used by the renderer to draw primitives

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kjhCGf30cKAxaYqno01He","name":"renderTarget","brief":"","scope":"instance","type":"PropertyDoc","description":"

                        The renderer renderTarget

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dIRPjy5Em4ULOrGZ8aH74","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":"fscMRIqqrnR-dYRX8-6lO","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                        The given constructor options

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dEd_c2YMBDcWiR4FLAhlF","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":"8wbcpdzLMFhck6fNNzx7Z","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":"-4DZzDfqzib6KaY8tre4m","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":"Sr5LsBm4rfAo70yPBsOOn","name":"clear","brief":"

                        prepare the framebuffer for drawing a new frame

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mN1VreuzmGiWo0krKh-wW","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":"IEdy0XANBlMUwPmcrDSyy","name":"clearMask","brief":"","scope":"instance","see":["CanvasRenderer#setMask"],"type":"MethodDoc","description":"

                        disable (remove) the rendering mask set through setMask.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"raKZdnFMwmSFBTxqE8j93","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":"fOM51HZMuyj2Ox8KsSYjR","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

                        clear the rendering tint set through setTint.

                        ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hq7WgPVVs998TSz-fCrXK","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":"_sm6bMg0a1j39-Q6DqycW","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":"-N68FyWW3qfeDX_gsTif_","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":"Z1Tbf9wTeiKTtPdommGQp","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":"97nvOJGAFNjDit3f0Wn02","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":"n_FtlEbJXbj8Dp705fza-","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":"pV8JJSG-mXRRkWTDfqFxw","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":"Q4CquA3XzF01h-ippZE42","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":"IQ8y06iAcyIRDmXapnjQt","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":"RS8CnOWNgGco0dbWyFFLb","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":"CD0NBIzMLvTzk8-Pu8ImD","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":"DWlhi4bD2ELNA5VXeFwCY","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":"uiKEYEFuFiMms77zX7zco","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":"ywT9Jh7O6ToeSFLBsbUIV","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":"Pl3Fwoe4K9X-M2xwDXDUz","name":"flush","brief":"

                        render the main framebuffer on screen

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"odvPt7plm7nGgOuWTU2g6","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":"9v2vox5BniWlQvbQu0OwD","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":"NK3khHvXsEulFGpnj0hNA","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":"NjiiGAf2Ilu_TIRVGWNHB","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":"RNz4oWu4wWtGelPiC9rDo","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":"Kon4TKrNCsN-651-G0Ki0","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":"LIkL0dMATyyR3moPeCSam","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":"DI_-as3CAla_c1QlcIztn","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":"OcaDFwkITa9XBk-hiFcnj","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":"yMdV6J-Hp3hLJ2uwavTAX","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":"-LXMBUy760jp3Yu4I3fPe","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":"YZcW2qC68ZGVEvyCEA-FI","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":"Jj5xssxXvd-4YWDZKjdzP","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":"37Fwqn-BH0XD-fMwxBR7G","name":"reset","brief":"

                        Reset context state

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2fjp5nH4m0RpRh0NCmw9r","name":"resetTransform","brief":"

                        Reset the canvas transform to identity

                        ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GrQAIqxfNphnlIHEGmC4b","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":"6PE_2NssgTSNK0f2VkgLE","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":"377updYHyV7F9ZJGHgOVx","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":"Rp8X6x4sbJC_8ZUOYg6BN","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":"wrB0XsvPQ4Xry6zG_roU_","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":"P-aOUfNL61bowEqMX6eyQ","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":"z2kXhCLufQF0G6EJq3oDZ","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":"mMqiUD_dLHGZggWcz3EIf","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":"3deSJuHjThiOgSHR2DSv3","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":"rNdsmpGMPr-TAw4Mo947h","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":"KQaeSJ9FgqRhV4HfAtnt9","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":"HLjROXhEZr6eRdZC-ie6O","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":"q50c_sGn3bvpFH0x0Ufxp","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":"oHnhl4b7HAZIuRLMnm2mL","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":"ogOidUHHg1F359uU4Yh6-","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":"ZyLVKFnG6bRHGKpx7IynG","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":"0e8iQxkObXQMJrNTjuOV4","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":"pEAAKDhgMZcgZCn8zdYvp","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":"JuxdmoJiw-qYZ03vEklAQ","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":"rPib2_7o-N2pNoPvHdhPs","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":"4nn3CX5UpYbnoZS96xhKr","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":"7klQPTUsHldYnB_MBPTQ1","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":"hOOTD6rGUELK02n78_upU","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":"-VwdQiaZyWFUb1hc6qo-c","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":"qEUv_U6RDmpRsTUE8nN-Q","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":"UzYiaKmjadaC4FatTpOjZ","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":"R0TkpTPhIIXDIuLcUIuBO","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":"iKMLVka2RuE38BWbpl_H9","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":"NvDiJQq_4mZj6pYVKu1Lp","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":"wdi0RmaZ7_UHGJu3hUoY6","name":"CanvasRenderTarget","brief":"

                          CanvasRenderTarget is 2D render target which exposes a Canvas interface.

                          ","type":"ClassDoc","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"tQydmfVM4QNnVf2yJmY_3","name":"height","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The height of this canvas texture in pixels

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WdOvsAj1NG2VMIkW0FhCS","name":"width","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The width of this canvas texture in pixels

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CGrYU0SQ8QBsBcx7f0cAY","name":"clear","brief":"

                          Clears the content of the canvas texture

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8ARzKevyROcNr9ULNMK7z","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":"G0BQ54rcNweJTxFZ-qANW","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 CanvasRenderTarget.

                          ","dataType":{"tokens":[{"value":"ImageData","kind":"canonical"},{"value":"ImageData","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"jK_8rBdtwH9GDCbVH2h6t","name":"invalidate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture\n(call this if you modify the ...","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":"HR1uAVNGYWhd6VccnLWC3","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":"oK4Sj3mJAjFkjt_zLbnwp","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":"he9FYvBd3rwNrq4Zaz_9N","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderTarget.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":"wqy-bdl2rHBVDqdUOCvjH","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":"K7zFWl1aZuxNx8v552xPF","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderTarget.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":"hzP4KA3KdxB49_CHLCFU3","name":"CanvasTexture","brief":"","deprecated":"since 17.1.0","see":["CanvasRenderTarget"],"type":"ClassDoc","params":[],"returns":[],"extends":["CanvasRenderTarget"],"implements":[],"members":[{"id":"Pxw8fIuiUkd1MsWAwUrVF","name":"height","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The height of this canvas texture in pixels

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VtSFakk1HduR03f2nNKZl","name":"width","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The width of this canvas texture in pixels

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LiKFtQPfPcGdHuskZ7-ir","name":"clear","brief":"

                          Clears the content of the canvas texture

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9LHuEzbXceiTlWmjfTLWu","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":"5ppi4O0OKK1Yc3gBn0WKf","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 CanvasRenderTarget.

                          ","dataType":{"tokens":[{"value":"ImageData","kind":"canonical"},{"value":"ImageData","kind":"canonical"}],"template":"%1"}}],"extends":[],"implements":[]},{"id":"U_lOASpEG85umsKizJh09","name":"invalidate","brief":"","scope":"instance","type":"MethodDoc","description":"

                          invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture\n(call this if you modify the ...","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":"fBu9GWO2IyudOm0gNgXZQ","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":"rvV_e_EhIoWkVylfDjlPU","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":"B0z7Vj6iMRsBKzto-7U5d","name":"toBlob","brief":"","examples":[{"caption":"","code":"renderTarget.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":"oXF8KP4YOnewfjITQMzCL","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":"7dm4tghB20LVKi6iMkJQ9","name":"toImageBitmap","brief":"","examples":[{"caption":"","code":"renderTarget.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":"M7PgR_hX-tfFmRsp_OAup","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":"DV6siYNSv7HTR-g8Z-d1W","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":"l6_9H0cH0IloudAP986hq","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":"Wz1j4hSU0V1RownFLEEW4","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":"PKQGjM18slpq2CIFS7h7f","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":"t86GeLue2Jq5DDABrBw5w","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GfhMgY_m81g5clSc5H2-t","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hpozx_VREHFY1DiO46gJY","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":"hckmfvbnDsKV0MDC41Yde","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":"hX28FVSLzXMzeyBMfHGJb","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":"unIWSrFjdLuKK-sm6jtmQ","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M-VW8RKUWAAs2vNWhTfRv","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xRpkBs8DMm3dcIeXKMb9q","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l3hpVJ4RnV9ZM0xfIGCCf","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lx3Cb11JLmAy4EBgxdmhV","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w4xQjBr7-q0-OdaJbj0wd","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":"CwZvuALYr-nbUn8YSMZL2","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":"eD3lHzgChLvz2SLdIZVW_","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eRmkOCQwF47ZZP9SGPYM_","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":"KGWUkJqfsIzqR3l0om_Cc","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":"VMuhFGUMdKdrzbTCIro8Y","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":"5rEA6N4ONMLZIOZPK9KgS","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":"6OSaNz-3E0xA2lvrN6DNg","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":"8vjiAAregFpFBZ_pc5Ycq","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":"4pDYMv5xGfqQk-pxrJii7","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PmySRXxGqx2cRjPmNxRom","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":"6kW8y7ZMjNG6YgnJqpxYI","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ktyEqLuhY7Ep3qa9oSEr8","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":"TJC-X7ibO7X1KP5JW6_mg","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gnm1Oj9K0cFi9n8IwHEs4","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":"iX2rwDzsKEfOdQYkdDHYB","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":"q4qIuZ3NJ8V3OvQwlomM9","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":"0WUAHNMvSJTBOF_KXYWKt","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":"uX2s-sgIEtWq400RhGOY3","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SfMjR-bCiIT5OU4VecmUx","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_GoH6-M8U2agiL3-5lnfl","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":"baabUKhYylZzNykROUVg0","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UPExzAFa8hPTA1w_nCLi7","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":"07t9-qdMUPqXHrLVdfCPI","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EdLF-6WzpI1ORGP_nnTjV","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Kz-OHSEVZHDOZjymHCXmM","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":"lhX068n6zVmxoD8CkhGar","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4FmKNbGo5go3UyQkVxLGh","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":"XcPH4-gA_aeHscSXsTZv4","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":"qtSjDdok4qbVeDUBxq5GT","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":"bJgaqSer5sG2SONgOjdJ9","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":"IHYWVuyICvuaABiA45xTn","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":"bSBuqqiaHb1LV2OBJasYP","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":"9ornS_oftCK_EKvSYXC5f","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":"9buZK85Rh50vnNK3U0UM5","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":"n74jRly0WY-5HhZdN-zLR","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":"RDl1I7VFEPWVBhxRApSps","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":"6S0CtJsJpC5Ks8kX1PSHn","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":"tEZOjKC5jWYK-RkIxnlP-","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":"CiYVD4vZobZk70s4Yj3wn","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":"TKXUZ_7MuH-P7lEgeHnx9","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":"ufVAt8SU5Kip1ywtT7zf6","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":"tfZ_QBVHEwQp_z6vH0XeZ","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":"miLBfa77uzE4gKsywi1Jp","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":"8_t5M9GnD7RhFp78h22Ll","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":"8qJFFF-XEQkkL7PDpLR_J","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":"ZmDtxEc66wrLiL_B0DB4e","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":"JqNqSLiLbGvegdt3p2tW2","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":"BawWbIyWE0JLev5d7Lqnr","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":"StxqJmdyQsgXzTTnxLizH","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":"MRfv0bWcn6Snw1PO6aFYQ","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a37CqPGLMf0h1NYSXJ-Kg","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":"HJCxUezKnfxOMyVSahIV-","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dzpcz0CMLl-LU0k__LIbk","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Tn6012Yk5J7D_UcsVx626","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":"Hosc1FdGh29aAGjJKLUUL","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":"tviqX7fJn8Qgphs0CSufg","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":"2Hj9VG4VOT4mJGdcd78_F","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":"cYehF5-GKMlVeXLHcyXhd","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":"mH-AZh3jms3japSO6yAFU","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":"NYaDyQCZIdU3L5BFUs7aK","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":"23fIBUZT8g_HMtNoBIPVi","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":"TuMM9Yu7P1x7W82te6p_Y","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":"iiQwf8uTWRc2_EUhI5UaQ","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":"XAtdDZiJtOc4noQc3TX-j","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":"Ba_oiSJ2wUoS6nr3dgqA_","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":"RHtsIqscRoYSM-t2L2YsB","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":"wDP0fcviFqXnr5PsggaJP","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":"VzbPO6xPcxVGl_MmlDQli","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":"d3d2waNOlfWMGPjMYdckM","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":"MdJwE5pguVc4E8-LKzGyY","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":"2Zd3GkVuqKGsUIyWNCLLs","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":"IaRaNhNHbdO-A7uLKvTIl","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":"P1UCfET_REzgHHu2yHvC3","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":"attfeguVufLA-cPvqzNpl","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":"d6WiUtET_bD4jUHDyPJk1","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":"YaGsXTksP1TTm2JfZoyTM","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":"2s0yxCDtKxyK40FSwVxHY","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":"ub4LATcWtsZqyaFTlIFpE","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":"QN-m8UfSaiG1-wIhjHhYs","name":"Color","brief":"","type":"ClassDoc","description":"

                          A color manipulation object.

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"BxMXd5nr8Kpu43I-UghU5","name":"alpha","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Alpha Component [0.0 .. 1.0]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"60XeGf74zcQxjlsgwbi8h","name":"b","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Blue Component [0 .. 255]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xmo0QG8l9ueouSDwUWO4k","name":"g","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Green Component [0 .. 255]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Zj0ez_bxAB3APJ8yatm2W","name":"r","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          Color Red Component [0 .. 255]

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C21-nzc2sZkwm6A92tnpW","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":"XFubxDk30yvBJTEVYUUhU","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":"5qCbTdKVlvHpmeB_Q5pco","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":"tVuiE2sfl_mWGKW337QfY","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":"unMeYS2AUY9nS1E9UpKbK","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":"JnAk3iuIXX63pz_UxulNV","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":"KKeXkQID1XaK7fsqTn49H","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":"LKqurjiNIIpq8j2ijBRzy","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":"gpVVbDeVLWPufCW5e-m1c","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":"lCNl1CYIHgIEPDdAcWuTi","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":"e42szAaUsV5oUQ_IWAeuW","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":"OsI1Qtl4iGCowoofkHKoS","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":"h7uDYGYwCUIgY6BKOcvnu","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":"NSoING60kZSStXm6PCac1","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":"dVdYfVh-VS4APDIBa5nte","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":"_wp06FuTsNdiBgm9DGNqG","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":"DprEhOIxysnRYq0rYvygd","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":"xZ-Rh4nLmrtEYLXBU4R-w","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":"1_FDZOW_PwFzBUD1Y4dHx","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":"eRw6Owfk7YK4FrJQIT3CD","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":"kFUcJzgdLb59KDf9-iYQb","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":"4jz5Rm995hzgGi611TeAg","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":"5AyEv6Jv9aSBAFE2IzY-L","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":"zY7MoqYCsZAe7-ZB6kgq1","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":"PExYeeAfLcg9p4IbiHnmw","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":"tPyPu5PFCmBWEh7g_XaAr","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":"hbVOT9p4-xQRDM83wz_e3","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":"hUD8E30iql7iO237HSDHN","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":"I4rgzdICOiB6KZgAbgIwR","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":"PI9LcNqj8YFyUuLbuZhEd","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":"YwSpVCbvvdA0UTrcgLRcF","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K0FQSB2awGTyJ-gQBjoiE","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"svcRxGT7PKkuTDKu1nBrs","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EE9MhZZzmD7Q1qBsTox3N","name":"color","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the layer color component

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wh7WuSWc9LdOIU8hGLycy","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FcZu9dJ3wNSGX2IFxaQR-","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gqIJj9yzw-iqTVcqHomcZ","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":"Vz3zcVWczaR4eH_WJxykm","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":"dzBhAb9f-l-TcFQEIsu5C","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oRyi-xMSVtcANKSFWMsIN","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":"mCwF38TjTy67SiwE4bDQh","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":"g3ykmP12jeSc_OU70pVAZ","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":"FgLc50cLG6b0gsCZRGQBe","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":"08Yv46YTX7Z9ACEKnmhFT","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":"BnwsWRKp-HijGAArpUida","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":"JdhVMOeAhSpF9ahkWGEUN","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wvbu-9-CVPLqYo9m12r4o","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AT2qXuT9ogL8aF-S0ptWh","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":"2sOAdlyA_GQBpuWdzEy2f","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DciVCdYWdR8aSJKpsyOS2","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":"0tAdmzFExn3J8RD-l72Zv","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":"V_m4M-f6nFrH9iz6d-jE2","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":"pg5IeCM7PVdVnowMutN-J","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RwRnCLb8hV6LljBHuSHFf","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d3xAn1X7vTCc6rx_HMSLu","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":"mQtbYsm4mqNKNnB-wPvnW","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":"RN9T53cPQ4MkD3gzkH2lo","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TC3iG6zFg-SWQk5XFX2wk","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":"uXqq15tiEYn27Ul82JEPd","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pb73kJZ2JbIYaRy-qE33K","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":"KgarhV2VvxeoIQhPrcUMZ","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":"pM_BSMO_DvJU70yJRyfLr","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":"f0rDkDsAIdVce5_vpH2sh","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":"DWh-194CQBHzFYp3ZKb_6","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":"3O4Ne-kjF5OT3KjcfECzX","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":"3PYHkZSmCLujOOQvrQHfp","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":"LSQCOM9Lr3uS6zeYFVrXI","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":"b-bgbNci4CQ_l8C2qvn_u","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":"FtsbUiK_LIvAvIZji8yNo","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":"qk-xuWuw5ftLhwDGneMBG","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":"CP_Vk96ZkOmmHSAzJmP6f","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":"UsvnazOwEHMG3ViP5mEb9","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":"A-QxBASDJfwp5kz0YU-sV","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":"dzxiuiyJIFfTJ6TTe7tZV","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":"UXes1SPE3qgzRSJsWb_9e","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":"LrUJ6EzU-qzanW5O3_0pq","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":"4nw_cscGr14RgzJil8vdJ","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":"3YlNfCGHChcWGR0iNm6jk","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jgYei0DCJ2nJ_nwucUqnK","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":"FFgLMsMunjoPRXEmhJkJy","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":"ET5iZ50pm6jYJScUYCamb","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":"oCSzdQl35FkBdfcQdzGvx","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":"rMhijCr3ryqOkQLkIJn6p","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":"gYZm3kslkXixcSZgWkg-B","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":"ej8DIqab--A01Fb4DHZBP","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":"siR7Cu18TXbo12Y7WIG7X","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":"hr3a2_hxXZ8UhuA_ZP6dW","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":"Qh_aPxqqd60vGLglQcMLY","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":"ghjA6qUWlw3Kaqae0W03g","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":"1mDhixkrHw61H2dSPE5T4","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":"WWA13NvfW8Y790qBz6-U8","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":"o3fBtBIHI3-cVYduOuYPL","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":"DzNhD0CKeaaHb122mNGXn","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":"0mUx_iKDzWJVvQcf5gyO6","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":"BFTMZoXieLGbibKOI57F1","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":"uGC-6mUgPlgSGYrz0NYZx","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":"v2ZatsmBkclTyJCAOpC_6","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":"kwgy41oThM8D0fRnkRb_A","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":"PzmohN2_m3cMYpEOVEzeF","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":"uaDEcQ9qypf43R-aVh0sP","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":"wtOpMrmrr_vOKHjWkVzXV","name":"Compositor","brief":"","type":"ClassDoc","description":"

                          A base Compositor object.

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"fh5hQIqdvOT3vX5BTJxzr","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          an array of vertex attribute properties

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cXLk2FU0BqegVEcdH04IN","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the shader currently used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3eqLGo2c6J8fhKajyA5dU","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the default shader created by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FMV137N6Kkj41a4qi8ZRH","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":"WwtAJMGlcwLyz7j1x6XmD","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":"mZnzG-1-Y2EMrikEetAsp","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          the vertex data buffer used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XnD3MUxh2pzc7qez6kDu2","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":"s984KQuaOQY53F_xYjpIv","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":"knP1Aa-XoNbuZntoON7wO","name":"bind","brief":"

                          called by the WebGL renderer when a compositor become the current one

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u6IP3QTCNDBw_6KILOhdV","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":"evvUs7Ya9cZw6Xdq5PfFN","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":"jfxsMeb1hKx4aTUq7ytsa","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":"n5k34kIRnUKbZ8jGpSQg2","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":"P7y4xiLfha_NUetQ3FA9X","name":"Container","brief":"","type":"ClassDoc","description":"

                          Container represents a collection of child objects

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"oXPL4w63pZyeBXjGdFRk1","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":"SYvp0BIFW1dmA5MH0POfl","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":"Jg3Q8ibCb_JeHaJn6hX6y","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":"2x-jliqXbogXZJbE1VH2-","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":"suO0gBhi0pQ5FyMQ-O8YM","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":"ngMDxk0mCSJFy150qN8_d","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":"P1m9dE-LxCojhKdhugP-T","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":"X3bU0P-mfaS_Slbjk2cWt","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":"gaLbJO4uGl2Ve6qMP58OJ","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":"8eZAZVDRrCVvNp5JB5RkK","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":"nNoZ2zT7hBpKyRcmBCc39","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eGh_BxF4IfADgGroQVzCi","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xJ33gYW0BxfuROI_XBGPj","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WIaOpuDKs4P3dDCHzBWcN","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":"m7i0a6hje01jAdHagN3Jl","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VmlE9HgLws6pku1yZF_I0","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5AERbEXQlaDkVzQlQ5a9M","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":"_RRayCte57YYccJEPYBwb","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":"Thet9ZNh_OgK1yHc4y9qG","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":"abqEQxPtzbrLA72QcOGti","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6bzfq9AWFy606Oy3OmTkI","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":"Z21twfSfmv6qQQnKQVPiA","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":"Xlg9-26bkX7cKnUaaabDd","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":"woowERkv9nk_1Q3q1pwL7","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":"Vbsc7T-tq8Dml8BiY7MPo","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":"6bKvT67e8q-_NsRYXNQhW","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":"pFX8eMJHtSurwO4zxEIO4","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PS1DpR1mUkKS3hGZFfP4-","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZP_qduEM1xGGLpzAzAGhs","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":"H5Bz7G1WantLknZG3FNA7","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z8CfHbbEcGvD98NU2AHkh","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":"mP19ug5cbHMLpmfKIPWOg","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":"1OCbb-PhCEzc5oTYKzSX1","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":"uqreMEA0TSKb0Qw6XDVOk","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"noXDBxOnvdEeV_5hmzlpA","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XUL3I6OGm6hPfbaue-Gpj","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          whether the container is the root of the scene

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jSgJkvVnYFBk-nQxUOLvH","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":"Az5k2uQ-pmCCwdyZnwuVh","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":"xTi5cG7FxDJfqzI4h75EN","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":"5ZDOrM0KMQJSsWeez9nHY","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3EKOrgtPLALPk-PnEA1kT","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7bgrOOltU5Avk1e3P85cl","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":"OffQHVAdWVuRJ83etNIRI","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HtlWKdlzi2qy5xHidhyDc","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":"UwlhUHi_3ZsaWgTK446XI","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":"589uy568rG7Zs29kTT5js","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":"s5kDveiDYjBbizwRYQ29P","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":"rFIp21iT-bj0vj87BbQAh","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":"y8k-oYua5vWcQpCliiQSB","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":"WJn4cuhAfRhjhLfft4-aL","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":"xk0XElgPyv_o_3Xla6cEa","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":"kMtxXuYnnzdqmykhfaBU6","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":"grGLla8YNbESsvr2zcLDA","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":"NZSL_UMGkhuZ-d6h8kvIh","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":"6b8cF54e75Tyb4nn3oYpf","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":"U8nmdMYEeKeJMaz-6lR4U","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":"aPxjz3RmVHy6DthIk7_iA","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":"DxpQ0_cGGRPjl5h_rsRrR","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":"pNNEVbGfydmf6YHxvxCEI","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":"LVRClns2StK5DB_1ycaWC","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":"2N758Kipp6kz2IKoKa2np","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":"qJF4080KkohD1grho_LQ5","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":"AGwcqLvZSwsG35xpT56PY","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":"rv_mpq_0_CtQ2p4AP7z-Y","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":"Z8JDaJHyAP-zaDqSe4tRa","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":"f4XyMR1W6dxTIVaNkGCMH","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":"h6dHoUtJpaqiaGPwqSyAs","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":"APcK_u_YJYd37VpIA7yOW","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":"0NGk_7bvh1fU6MIMXO99A","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":"alYq5fh25genj9JNm3Jy1","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":"6IT0GWJ8Dt7SuLfVt67Mq","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":"HLMxAOi0HUjNCeThvyR8R","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":"nGnNmHaO1qHDs-si3nlwF","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":"lv9v6djeB-B5HJabVpigM","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":"V3ePuOTQH6IC9kqouFbW3","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":"7T8ifayxSLsnPdfdJwWIU","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":"xrdUqn8KaNF9egOh1z4nq","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":"lFDf-pkHjzjl-JqnBJKtz","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":"S_RWMWSkUTKpMLZh5cPbg","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":"jtzIFgVEfIBpurX7GJ1EI","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":"bH4weTsy4uaMaGz8gJker","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dIolFLFX7C3pxEsWYpBeF","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":"YLJ5cXcf6NFY2BHc5ACwJ","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":"lqZg121NnHZ_YkAoPCr93","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":"Nz4SOYI1MQjcZzE2fHG3J","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":"5pOCw6Muho6Z_kmUJ0N5d","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":"eEGxUmwHe8RhHk8gDakYR","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":"gsDcaJCTlkHL2hbi46Q8H","name":"reset","brief":"

                          reset the container, removing all childrens, and reseting transforms.

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_04Cv_pw8MohYvvYtzOT3","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":"2bztL6aIEQ_OSFTTughU3","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":"-0l98kcnw6uQqQghxeugM","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":"kCIrAu6NPICgtytUGkNSn","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":"We86338FhPLX-G_tGcNUW","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":"UvC_pd8IEPQAroj-mhpsS","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":"HnbBbbIxIHL0ToYaXMWDN","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":"zr1eH8tqOf-TRDHIbBxcZ","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":"nIBsH1QR66r3hQUuYvW5Q","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":"EmFn-eNIArBhgjoW_icxz","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":"CI4-1KkZzU8RI5UJrY3rn","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":"apfsBYVdNWdPIpfnKBpdD","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":"eHW0MBVutcl954EKVpLeA","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":"e7Vei7b6Pgw-VEL3MVgEb","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":"TUgPKqkG3oKYW7wyRt5Qr","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":"rl7HEfP9V8EKVi_ooOXaF","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":"jmgR81Y5auE1bI9pj75Jj","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":"V4i7SNAt8pNEx8I1qQLMK","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":"8-RHqUj241n4-cg6GdbUp","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":"_tOG2x7QioCrqbJhBvSjC","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":"yPupuyiQbYJGPo39M6r99","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":"_KcJTSDmPZX485cnit1HV","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":"_ZiWUZg1J-UtpRttvCW3i","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":"PZ91yMZm-dNmGuJWgq0cd","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":"URXuUHbksLcgdrGq0n2LW","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":"mhZT4CI7YZ3eDwgpWT9s6","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":"RDvxH9PCy1N_7kbMgLMMC","name":"Draggable","brief":"","see":["DropTarget"],"type":"ClassDoc","description":"

                          A Draggable base object

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"0GG_w5Tzp4ZEZ8iAf2cMk","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":"O2VbEW7sAYAfEzX-ta0cM","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":"FFY-aNZIQbtqNqXE4xxxr","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":"7Id0Dp5kaf7Uh7HmXLan6","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":"lVYHxQhcUTGgRSpnH_ymo","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":"gSgaE-qjtakcNXBqWfORt","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":"_lAMS5sYNwYd4Lme36_9z","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":"42C2KkoaayzgdShiyImFM","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xOv94EVkiyGt4gGNPNUJZ","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GFbFVuGtdH7VNnJwQ-a0n","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j-DK96EHwrM1ErK0clSeQ","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"51LYKlescr3hYaUNIhDhQ","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Alnh79LzlEojudg7A8fAp","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":"H5cH_jYxvvX2LY_yrBJkC","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":"wUFChE9kx7R56XwoWNCmk","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y6iSuLyMnaxw2bVfL5hdb","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":"kW3bfTLlYZ_ApWa_Rfe32","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":"FUTZEwjUPM9Ql95H_Rx_3","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":"WraUvb5Oa6Kmm2g0gP2K7","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":"u6wJ1Glr18wzxAkzuB1-o","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":"zmxzgLK6JOPFmoKSAtJV9","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":"HnXb40kfKKlc6m837rpjQ","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R6SSTPbUMuc8XDvc2DXdh","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aRQiyJfvJv5Iu3CzXMMN5","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":"PjGri42tdXoJ8YLIn7VwR","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OH-ao99juQpnn2ZOgrYD0","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":"_3RCKhauv51L_aDpXvVJr","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":"DV-iHU3A4cf2AmT6ly5FT","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":"vXyhwrqSfe5HF2j3BoL32","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"waomG6goCBe0cJUafYsGw","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SZNQ7np7srIsCf4gwDE1P","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":"CEFemqMDTqi7jSg1Ra_Bj","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":"4npkEL0fxAtEb-dQKnayI","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rxtjriu2Wi7ezV-561ZMC","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"emqb-pGj5C-47VeyLH_ZE","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":"DesEmFqkTpC_Bo3_u0kZw","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xu7HCBLLlGaUkNNWQJIz1","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":"hNsBBTrGXNH3Vtz35xzLK","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":"O9mhVMGibjtY_SJRjrr5A","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":"f8z2XU3vJ8bLCscITsGi1","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":"HBkAaCZxUZUubf1kpLc-0","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":"obp31mz9ioO_3E8naq4xC","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":"xzijo4VN1AAyhfPN1MeCM","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":"KVWCbZKqVEVRLFYgKXMxH","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":"5aZZgtReRJFIsH1CIFmRD","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":"YJn8koZ37eFRQCspU9jHb","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":"xBDQ0u-h9cPHBoCIaCqxs","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":"eougwgFBxrGHSZEsggUaS","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":"f7UgWIAQA9vRMIp4gnj2N","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":"l8JOEvIFm2vKcEARW9Mcb","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":"nSYiUvQV7yebTNpdnV4Wn","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":"agl_D3BFSWo-AeTSSw9NS","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":"VTIgRVCur3tgSD3C3OxBQ","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":"Fsk6fcVrKJwtQInQKvKWr","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":"ZEt2uqyh0pUhTJN9_zKLT","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":"OB4JxVVYUbSuvq4dKd8jQ","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":"0_LonbFKxv9yvfloqRW7p","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":"nir35vIKZ9VQRhyvFaFSP","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":"3JWJusfxNNRphOYQkJfCJ","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"axVke0B4OGCAExLqX0TlY","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":"gFd6AxhWUjgk_C0wMHkKr","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":"f03OsnSt5jj2wpX7KZfU_","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":"IU8s7WJOynVLofNcNgfsd","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":"QpKY_oEKzVqS3ZZDdnyjp","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":"b5bVBpO3VbhxilI0psk2k","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":"kcfBBJnELI9e_ha3T6f9L","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":"qVZsIIMm47pZYLcWgwjs1","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":"1fuVUehzu6f-rCoofthIR","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":"84bhjPLd5Q4TTHxbpb4Wh","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":"pwIxHpDwudXfT9SoaJZrA","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":"UvMtM2_h_X28VgnvW1xQG","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":"l7iGWgvevcMr6EQD9Zdth","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":"2pG5bg4nIXw5RUuGnOmHR","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":"Hkrkh3zsC7GgBFMXrFELv","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":"7Mho1UVFbxNtd1P8lgeKU","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":"uTSMFcnSE_CWthFlq5a8V","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":"99nLosBhN9CHlgohksLlm","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":"5PBSYiZVj1r4A8NQvoN3B","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":"YpHv_ySx5unLhxO6SKHOS","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":"WJu3XIIKcJABUwn9gQ6Ga","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":"1KPMGULe0rDY6MhrswOD1","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":"XcYgyNOWmz4NVqqsOraLw","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":"OLEGQZGwcKA5YbTQXFm-W","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          dead/living state of the entity
                          \ndefault value : true

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"CU1VK8zlyOuU-68bkUZbm","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":"SbUWNGV-Eaglmn8f2Fx8L","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":"hgEi6Tb0MMPbL6GAZ0ppI","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":"CqQOej_fV3o8byz9RLpkt","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":"iaynoHobl5e_r5WUZuUQY","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":"-Vsvd6aMTbmYY1nwt-hrG","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":"r6aFnn7B04C2Vu4XX5ite","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the entity body object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0V-eOUXHPOBJWqYXgQ48-","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Yiqx53PLKr3vt74JAQRAg","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"esuYY9IxVQp2nxamjUBJ2","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8JIcwSp0IR4Y9FwfrblSo","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BOd0CMWOVUPsiN8K3oovB","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kGcNbelFKG_ULTJ5GyGPO","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":"ZelelT4UkzTVH2H3Ks6Z0","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":"9PREA3pmbZaeK2SrryAvt","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sDhWU-kEboTXMJ40JA0VX","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object unique ID (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JPBP9IER883ERugVlKewi","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":"eja9tg739PYNoy_sEzyRk","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":"ou0zcM20Zqz43HNyBkR3P","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":"6YfHH0-qvhUuHujL2NY9k","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":"0dr51UrPpxqnFUkOU1Pv6","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":"fDA6XFxEfNfFjANKDeuq_","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":"iSdm7_UDpe1BfUN2S6qNC","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KFNI_mll7hAvlj6jYUk4i","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9Lr-GKqw8qKrGA8MkSEC5","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":"pUu3rGO-NGMaJOdJf19ON","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3yAugYnrQe2ljRGUnQzNn","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":"5bAzohQ3yPllwG8zs25Oq","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":"QCd2hn5e4k7vjRsKhwoC5","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":"MCvhnG6oPU7DDsUzm-aWw","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OfMVz6fkEcZUCJt0sg1h3","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":"mc-KvIc_oEo4lmR8hG208","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vG_DwhhFFT_PiEHbjI6hw","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":"fkyPOLNHvMOETm74SLcR7","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":"G-Cy4NRJSmTN8s9Zx31Rb","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rwsuxJ28mdHxintc71Prq","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object type (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5u3l-GbNT5jth5_r7Vkzn","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":"CECI2G1VqfJ7PmO87jok9","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xI-rXWSmA0vVdlA6fpCx6","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":"7s_fMu6EmRV6ThMWRIKuJ","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":"BwXfSptUlGxWpZBMcdkp1","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":"MWK_ROw-W7fW6jka3eKJ-","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":"0wnEh4uGMqUzTmRHtHYFK","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":"IAeoaMNUKDCVAfPHqqjlC","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":"WvCJ_rBrW6dbjzNkgK9vD","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":"V-jKEaJIzxPfZsXCtfM0u","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":"RxdgDMDpuJu82-6h6FoSf","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":"nM_JIx_99RNvXbd916OBq","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":"k42xUunBICxvb5TUZjwSw","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":"rwr_UrkZQsV3vdiKGcGuF","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":"I8POLpT6WUnmEGi6Lz2KA","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":"vRlhOmlOJcLqW0BHiOpan","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":"b2DKdmYNQNKY8zFMhq-_B","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":"k-jKT1qTMXQEiI7xfih4G","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":"gAEQxGecjcDNPyJjSq6as","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":"3NoI_77Ex9otlK5EyqBLs","name":"onBodyUpdate","brief":"

                          update the bounds when the body is modified

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R6gjEhh1eb5_YmbhrYPJh","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":"L32-FwlWd4l6AD2f93B-Y","name":"onDeactivateEvent","brief":"

                          onDeactivateEvent Notification function

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IbyoEr-dcaLNdzJFSQ7o6","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LsnYSqbXDshhsSOhoeiKa","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":"OgZMUBY5421nqOEQ7tMGC","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":"5E0HcdzG4Zj8YUsVUk51w","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":"JPSoAUkLLkD6NbRZ7aP7K","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":"K3KADiPHF4z1bK3sfbfKJ","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":"Ex008XK8CVu5tDp4J_vAW","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":"OHzdryBsXBaC5ySMnUFG5","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":"V0NYV-BNWx3sKa-bHrfjd","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":"D1EzYMrZqNg29kgrzem7C","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":"fcUYI4tSMwwyzDGV-cJbJ","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":"CmKyoGOBHD3_Vh3zF2Yrb","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":"VD6hxcD0klMJsPCE3NDAn","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":"7MoOLisn0qLLSu8WTWMQL","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":"nqGK4_R7a3MsB46lIEerW","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":"HeoSdoErWQzjTanXHeNxi","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":"qt7PAIdc44KctSipIXKMd","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":"M3TNfZs43eUbeLn97Q0Qx","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":"bMT-k7KLilptVvuva715W","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":"pt_QozIuN6orQJN7KaTPf","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":"rSOWCFN8D8lHZjvz7xB7k","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":"QeHwKduwdPGUgFARgx_Bi","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":"X6ogJVZZZFTBn1zQ60o9f","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":"cniiF_XT54fdZdw20Z_qR","name":"DropTarget","brief":"","see":["Draggable"],"type":"ClassDoc","description":"

                          a base drop target object

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"p15V_aiGGO_RHM8245fNL","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":"9noxLaANm_C59YVmL7GmQ","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":"6UKFdHAnBx0rgb-PtVpBn","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":"mCHE30FxEzYd63SV-O7mX","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":"3RrpHAXviCGqZzELm_X6A","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":"gPxvz_Dns_bWRL29gxmW_","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":"HypQrUl7RJ3V2GAn60miO","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":"oQYd4rpifDFpAKQTs9faY","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6Om6pAdr87VFBBevfuHIE","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xz6wBlqe2ZrzO4EwtET2k","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7BVLq7iJNQU4fbW3GcGmu","name":"checkMethod","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

                          the checkmethod we want to use

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dgLyucZclyRwqFdlOj1wi","name":"CHECKMETHOD_CONTAINS","brief":"","access":"public","defaultValue":"\"contains\"","scope":"instance","type":"PropertyDoc","description":"

                          constant for the contains method

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sMpJU7d1AtGJviFtICHti","name":"CHECKMETHOD_OVERLAP","brief":"","access":"public","defaultValue":"\"overlaps\"","scope":"instance","type":"PropertyDoc","description":"

                          constant for the overlaps method

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yCmCeva0JKkTw4YdbayH-","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lqo_SbhFwFq-5_c2x9_2J","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XMVkz76dQ_ts5Maj69Q3E","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":"0zA2NI9txLDzg4U9Q37XS","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":"n9sE1H6wOPRxLopS4BHlu","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vJTPsrQ_Op8Hm4uWbJoot","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":"4YyXN6LWNNuX4-qFisSzQ","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":"F3YQjPbek962geKvLxUv7","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":"bJDR3Dfh9R5wnovG2Quyu","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":"xsJYyOr_lTRpS9DsZwI4K","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":"OUZM4mC7Z6fRu7oyWHqNR","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":"T4upeG33Wv3NZnefPYPHn","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"weUUOFVbDL9d_tqRAg800","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qLSsRhsloyND2b1jTJhWq","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":"0Pgw296BiFK8LDR7BoLWn","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TPw2VNWjVfWEDy0ppJE0Q","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":"fUzfeU0K5VtR63V4o94xk","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":"3o0P1M09KUsPJVOMPMknB","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":"nHZzQSxPB0xpEcbTuzdN3","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D6LpS6AbRQujUQj6snwfO","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4-ShxVYFFG6v8SuMnNH5I","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":"mYeZO2Cm-Aw3whbJW7I8O","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":"VTiacy9u5ZPr53SCELGKR","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ah_V6gK4DGp2HW7b-XUoa","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LOIRQRCeu93o1wQ_odoIh","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":"aJGE3qqr4PTyEx7VQuG3n","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HV0CKhf6qovHVPFoefsc3","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":"vJK7nCbPHr5CmCxPSqH1W","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":"b6FFpoyOSv-r1jyzadSdQ","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":"tGmlThj24Cku10T4glYk8","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":"7mqhwA1BrjrQYJMsET700","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":"MbjM4o2xnN22BZ5HctqYw","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":"jd2sQKl_m_kymSXWo9Mg9","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":"HcaGXYWrEiuPvlLaBSfL_","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":"YzPnL76Z7Qfifstsrhb6q","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":"i-THC6gnwmfjDpEXYQoK6","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":"ZFnyOaWzceSOX-Rgctsbo","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":"ZZh3ZppjGJ5L_DYkTXczI","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":"j5bfAHJmLLSfC0bd4xQMQ","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":"0a1sqq9mEEFC7uXlNkeAI","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":"yiX61brZJLJItduITf58t","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":"ISBi0T2dO4bGoZiT4JTip","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":"DOkngh4K9dkG-9g3t_reK","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":"iZl4vo19dG28MD6-1Yloo","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":"z2IIMuPngpB9pSS-E_sC9","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":"AtZeUnjoaL0NtmiTuqlqe","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":"dpjLaWEFPwC23WjQSFxth","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":"uJuDsJ8q4fOgks5Ppsu_Z","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GOU64yLiA2CcTg33JUe3V","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":"11wLyKOFdlpofGpkpX8Uy","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":"EyuMY7HRjUlRzsCze7BLU","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":"-cvg6MVNXUw84NTEEQjMt","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":"5cVYM_O_CzJreuG2dYXvd","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":"gHPIeM1cKJmy5mD0D8pSB","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":"l0QWuFF-FvGGKLIRWsckJ","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":"-U5koCLcEHHdkkEMGrcEe","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":"ytWOhSZWmEA0uCpe67qtT","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":"hURhbtjFa04CJU2LBLa6I","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":"2qMyQXvFx1OP_U3KiRvCH","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":"dCzVxi3Ac2QsNcJxlo7AU","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":"tY744E9VS3nIhxxkj4mkV","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":"6s4ZCrJgtwRtxvyIVK9Gw","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":"XGnBDPfmeo0q7h3l3qaFf","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":"KXtmhzV0NCfrRIflN9OtE","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":"ZWaOZrenK-n6mVp5QBpEX","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":"SQ7Rq1E5Yq5VLaJsBcs4W","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":"EEKLMRfPgVgl9f5gc5M9T","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":"PXmLKMHKsztyKJ9Op_h__","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":"845MopbzrXhxqy5Zqc9DB","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":"INOs10EvkSSMhjFw0_7Lk","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":"_Ig6FtJHzeL2lo6I0vfgR","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":"tfbIAN5HPK4qsNFx7JQse","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          dead/living state of the entity
                          \ndefault value : true

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RqvTxcecAYODMg1SWTtG1","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":"cam0Eb4H4vQRFtMefXnNw","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":"hRDcJJIT7ufEGuQEJ-IhB","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":"vv1G2H1vJPpJHTV2bLWOv","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":"4saH9hZJN5lESx6z_974R","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":"SKQ0vkll7uy1j_MbV51sQ","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":"d2d2d0Ir4HUt34FBe-5kH","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the entity body object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BwQ3gzVjgS8ZeMG7apsxG","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WoB_5tbYzmH-WpAFabIUr","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"18o5e8JbV4TI_3Mqmk1XP","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uvKZnskVjbnlUMk610ZeT","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4gD1TtqNyCbDLpS-Y3DQ4","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PJLZTI9D9S1FBlvkZpXru","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":"qbdXnmCPMLMSTURjdrTIK","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":"aVmuzi3_yR5_gsMZHaD3S","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KkPYwjawlinF7pK1CYdJZ","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object unique ID (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"M721n7SboQduvfC4xv6s2","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":"GOyjbT2PwrfO9xCNvHxqw","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":"Top6pGDTNQbkKqmG-6Uwd","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":"nDpzyTp-UoqJEKQzFG-P9","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":"Y10VQ92BhB1vJAOG4eVEK","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":"jvHfGfXUGNh00M_ZSyXig","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":"g3yB1fJS9zI9yTqMXE7JB","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ERBdZ0jkUTQR15Bv4EOmT","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dw1GCe0BnppFM9L2I84bm","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":"jaCMh-R8IfPWs6sa2hrbW","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KgXIdCKOLtsXvSio3f6yo","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":"w5cSsQYPEHDI2i4pwHmke","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":"2n7JqcTFyI0MHZOAMof42","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":"yst3fFaWGU2qdq0x9gpfz","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NpEoeaCwwPV76RWsqFVg7","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":"PI2Tv4cLDFWR-sSpy5n5I","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aDCbgorMCpyebEqnkYGxp","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":"Q8pxNs0Ri0_5YWPHajNjC","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":"Z73zrN7fpew6w8wFxH65b","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZuJB_KHkjZ-ftolf1SZAX","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object type (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tLjJOIVgoHpAMBqO8qDRz","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":"v5CZu2YQeUa2rNfNpQybM","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9VxWK8Mn5kQsMTslv9Nr8","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":"CfYzJnY5ZBJ63FmpyCSVc","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":"Dw_3zSizCJoFMpR1ujYCf","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":"eKKlE134BPKmLnMKYu3Ah","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":"8e-Z0ftSmFYctCm-XRRwJ","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":"d1snRjykqTx-qops-myph","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":"uHqisp5M0wRxrkiBvxPaU","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":"jxdMiJhY_K1FxouVxFHZ6","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":"QIprqCInBeOud2zEmL9RF","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":"wcn-0V9R0stfQXl-jYpLF","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":"1ChlmIS7We3YKU_bpsZQI","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":"LfCqs-0nB77nh3Uo9CX5u","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":"5WYg89vylGr0Z7yRwjQ-X","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":"xX9Lqz22XunHMSpHVHJjK","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":"8BV1vCabyuQ7tjHSCiTFZ","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":"6hr-J-_NlpRHDBqRKtRIw","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":"D9eMjnar3TDumv0diogvh","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":"YRjJ0PRbZH52F4vKYKYYl","name":"onBodyUpdate","brief":"

                          update the bounds when the body is modified

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nW2S8vMPZuDDsatTQwM6j","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":"mzJ7FT03bHD4c20NMoS-o","name":"onDeactivateEvent","brief":"

                          onDeactivateEvent Notification function

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aP_UHI7-bE1Opn05ZEdEN","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ou0u_BnLQcmzj0ua0mw38","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":"Xli3XyfIOMAUvnL4ptvAB","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":"QYZyCz8s0OhW70BdWP8sJ","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":"lZevH2JQBE-8E6gFNz0RX","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":"Xakz8XCPazLfVOLtNnqyM","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":"hSTOKzaAjwU8H7jiKrNsH","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":"bg3jOWW28kHPIjOf-piaS","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":"c2GBlcKFthpDBXfrEOsWk","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":"z-c8ok7M9RqjFaeZ4_rWY","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":"J0geYR_CmHhvL7nHZJSrl","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":"bsg3LSFRAA2bwx73Hd_-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":"Erx0mFrdMErIaY9jikKWo","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":"gN-olEghHN_8k4r9L-KqL","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":"qjyF0lkrXTAjhC_1hwFEV","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":"KUkdSBoUG8pxWskY7pqqf","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":"H8UfcdCY3K-lvUZy57KBy","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":"U3iGHpgrDm7eTbbkrtiwV","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":"LH4f-zaELuL6BNrxzk_iA","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":"uCzsYPYZpN2dWbYH6qx9x","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":"TyHV_BfFzBHdvua9VCUmB","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":"hb2OSKvqLIvM1OMOiPo-c","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":"_792AquqPPy9uSZiDOHLa","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":"ADI8Xo0j-CCHqPea6Km_1","name":"Ellipse","brief":"","type":"ClassDoc","description":"

                          an ellipse Object

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"BNudkPE3aKA7ITv0v4Cpm","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the center coordinates of the ellipse

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GVlDxYpDEQWGSceGsfIzs","name":"radius","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Maximum radius of the ellipse

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H4ezwHDN1puCR3w5eaF3K","name":"radiusSq","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Radius squared, for pythagorean theorom

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T14fqGBszfXHYm_YRKB8M","name":"radiusV","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Pre-scaled radius vector for ellipse

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ARIISWutwzMrk5kSyGj8-","name":"ratio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          x/y scaling ratio for ellipse

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LjsPk2_L3VR5E4GtOnHeY","name":"_bounds","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                          The bounding rectangle for this shape

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MtQaAN6nMQS3RJhz4EVpB","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":"1alGaqxpltdzozTC7LosE","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":"DJ-VMmTJ5ufSSkmXSiABW","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":"B761O_vdV2weBftfY0MkU","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":"WX9j-PjJewErZpnbdQI6H","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":"zrKro6AIwaKG92cGikvDN","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":"3P9jkYozCVmkNHr9RhDaA","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":"syyc1ssQMYcKIP6Pc9IsV","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":"W7DdoQlnpcZRIiUX_WkLt","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":"vXyE-ajzlcp0RIQZJkwys","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":"UckTsA8ASeibUXcoqRbJi","name":"Entity","brief":"","type":"ClassDoc","description":"

                          a Generic Object Entity

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"l06vRQs44C7HTAtCPubjX","name":"alive","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          dead/living state of the entity
                          \ndefault value : true

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dy6zH82NtlS-1h-Fy7Yq0","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":"Rrm6Xu3ofTLRyPHgbxn8j","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":"05g0SlJu4NBmdtCkby8PW","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":"UhWM6jnNnl_T3jkjRpyl1","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":"Bz-5bNOGB4nRfZgnM6QvL","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":"h1EVa5plp6dnihm-NYJxY","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":"UH7qnX1Upzku45V85Nz9d","name":"body","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the entity body object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ts_S63DaQvJSfZh9eY-Dl","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4ty7VjwXHDr_jFNPDC6eQ","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H22K3V0oqD0_4YcfnMZ7s","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5vnATHGm4jTeuC3N6N6-n","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kEUWbLyW-x9BNInb3mjui","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HkJxDZhFZprloGxBJ3TJ_","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":"RxM2PJ65VE1baKTX9GL5I","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":"lpFxeveONay2z1V9cMWs9","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mFJAS-akG1S3L1ws4c_U1","name":"id","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object unique ID (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LhVcyhbqOxmUqOEMGCLkr","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":"02lbPrFlz5le2qzPlr5bU","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":"mlx9kW6DP-TKjXE8wCuMg","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":"6CO1NgZD9j7wOT7cEkms1","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":"_noRWaj3QbETiIGcn4_su","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":"STiM9vEIPXFu-q0VWtIUD","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":"FiJPG41tngTJGngUlgr-8","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4V_EC7PcTzgR3_EFPsfMU","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pWsnQjilVaDUD21YAOUN6","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":"9n__hypHnYhPJJ-WmJqJm","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8HLzXJehOsSA7qS_tzAYh","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":"gQcfyqkPOhGrgCw7TfWiF","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":"kV5b8eZKMXMH3mFu0XYEg","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":"hM9vh7QIC0cseY6mp75sO","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yqfDGhP4-cPng_FFUgP8H","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":"I8SgAFpVWGhfvKmSZOQvo","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kyV-NLZg2Acj5ZVmWirB2","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":"aq2VFuOrv2NzqA1H1gRtW","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":"lWXEywZDjZ2XgHzzOJypl","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Pn1TtYKUr0JYj59j8UPpl","name":"type","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          object type (as defined in Tiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G4HmqErjBk-qBEOr2FbH7","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":"QTIiqJEHWqpqi8me61E5j","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m7xL2FjaZK90RqBU9e2bB","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":"iMh09171BQr_nz2iySVFQ","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":"lIKdPx7YFO2fTTbPnB9xn","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":"Tzc2tJOq1sXQeiJklBAxb","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":"P1nUbFszSSST3u-C_-01x","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":"8OQ4UpZES8jHUSXO8H96M","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":"et7Z-h7ZljtmySgbmb9BT","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":"Ix1jVv_tNEeWnKQAHu5tN","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":"Xh0zvzLgnOLIYBhktHXkB","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":"VUMZpOxJ2ybGlmgvqr5-z","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":"SdxfZ5uKVqFT_8IM-kduu","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":"cWE1pZ8aPo50Ak2XglMXz","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":"dAYoJ_B9hDYaWwr_XtObb","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":"veaN458e5iTNmvPl7GWu0","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":"OAptRTJ6KBzunn8_GoV_n","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":"uGmlpYbkiqsrzopDq6LNa","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":"Nl9tBgklY4cAcUHZIgl-E","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":"zT7Rfk4f5OUmLypVm4yU6","name":"onBodyUpdate","brief":"

                          update the bounds when the body is modified

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QILwm9QRDR5Vokl5Sprwp","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":"V6okwI5-Y_tzklQYLjOqT","name":"onDeactivateEvent","brief":"

                          onDeactivateEvent Notification function

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8iWoVdqjDQFu9m09exBmz","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mJIMGSFUU0jjjzpfySUnB","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":"rr7Nk0qNwKz_MtfOCY3lJ","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":"18XUlGrZx1K-bl5d4sH7O","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":"yD0PYcv7UyxI4WzbeAvcn","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":"DY21wmlIjnQNSIDD_RIkj","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":"yKk71ZUgRLHYvaqa-nYsP","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":"F2ZDlzOfGZctS8CgrCUSA","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":"SWo0wu82i62iq4J1LGQCM","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":"9RFA_q7FP0ZmIC2nRss5B","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":"Qj4GRgUh4r9ee3loHwpok","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":"PfTk1rc0QSECa_Apdkr2l","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":"LNPIKmUdmfWsRba-3FRuT","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":"TTe1I3y1O8imG3WpGKqSN","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":"YlmOM0hWO-ccVfNI5l539","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":"fL3E80M7AiQlo_abotn6P","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":"NpkB7-KEnG0Gd-rAmHCzo","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":"MnU3UGMUEZ7Dc2W9sMP4l","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":"K2UrHYXPBgROFPfQQW14t","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":"KUsSVXVwcNV4H-wJGwK8T","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":"E_HQvP1tmbAELh9JQDaSA","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":"B4qH4eJJVSeKNltFb5YiC","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":"pve_pT4uu1Uxgoqe-Pw9H","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":"JJPY3xMgRqlswCoDEDyAh","name":"GLShader","brief":"","type":"ClassDoc","description":"

                          a base GL Shader object

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"X2Dv-7Bnl356dCLC-cIJd","name":"attributes","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the location attributes of the shader

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MGjXTaGcsNo9PfkRqqHLw","name":"fragment","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the fragment shader source code

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bsJz7gKNysSYCyq4eAto3","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the active gl rendering context

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HFGdu_-plb5fnPCUy7Q6L","name":"program","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          a reference to the shader program (once compiled)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OYNbV3BwF1DYFCz0zn1m2","name":"uniforms","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the uniforms of the shader

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2ga4KGaDi3lQ3ZpK17wYF","name":"vertex","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the vertex shader source code

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8haDuCnBkYmjQvQUHENE3","name":"bind","brief":"

                          Installs this shader program as part of current rendering state

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"399tfCyXUgaNoPm-Slenm","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":"9hTWZ1Ab-tl2ofFMIMHf1","name":"destroy","brief":"

                          destroy this shader objects resources (program, attributes, uniforms)

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MXF1ny61WOKJFoqUr6UBN","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":"mPE4bIhU6tkQB_1cobrVp","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":"lDSbsHfpsUe4iV_3Jx2dS","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":"9ua8DJxm2Q876L8ANoFAz","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":"TaaGKbIh1yULwKjLhDCaA","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":"fytLUC43MI_YdqoBYJRbA","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":"_L4ai1fe2s4ZOaDMExnIc","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":"EKm-7IPT9fKF_58VwuhtD","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":"ummLZxLYDsXrV-2Hci3QR","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fDb_4GnZs3zRlKCLhHk69","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4nlQy6ymEjkumMLSd9qUJ","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":"zJQdNLxU2NCZwx1ILv1Jo","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":"S5LyUeK_48G5GRSnClOZY","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":"ZDigFyXm7gkt8B3OVkqIU","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OQD-pmIERNvY4J1LKRVay","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tflXJ1Ni0l2_A1Xb5Pdfr","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A-jZKKieS0Eyrzunwd5lk","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qAHuwQ5i995byzZJv1MZn","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3QFzc5rU9SCwZ1mTzBkIF","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":"jwdUfPjz-s9JzmpOkuhqV","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":"CZlWo1LBM5Q6XN_3OEVcV","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4dQ0nEXvVQ5g_b8qfvHQB","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":"yEbLdXCAYY4Ak3wOB6Rt1","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":"_WCjYuMU5zmnRjAjCpuhp","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":"Alcefelpg4MTs7LCvkXv9","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":"IzNFRVVutJy-uaZaATCel","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":"3nHJ292CuA_EKUbNo37mg","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":"q8DobHmx8aXmLlXNH3Rc_","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D0U2ZZyW-CFdJeg60d515","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":"mvCQwCWHYzICrzTRfkYiB","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KrPZGL8dqUaPvdxuGZm_U","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":"UckUaFJ2dDR_KxlMeAr-l","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6JO26wjaGCLr_If3_7gkO","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":"2kJX3XksYD7XFPFVoRvAP","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":"paK5-DyuYufWQWORNtT9-","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":"-8G_w0mjoRPmBOP1ukmNp","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":"hEBO_FBro22cvXjKHXD4g","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3ILRkqvTEIdyZhRiwgGA9","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hSJEjzUevwZ3J5UlR-H0o","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":"Bv6VmMqnf8IWuFY19OrOx","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O6chhaHkWUCBygF1DGNQz","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":"tdeJ1KXC8PMCCjqAyBIbz","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1UJA9m7gckdfuI_dU_JuF","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"A1iYhX0EZ4FMIxBmV5UNv","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":"la6dSOhC-UxlV5FIUrn3L","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9P_EGey8T13BEeJzEDuKE","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":"po2XDdbjopd_U8NgAa4pe","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":"w5eUzpfiw_zvVxK8zP_eu","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":"QOSjM_NfnVxpXb8r2u_nl","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":"s2UWRD8lglZ8zc-vQLKQ4","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":"Z4PkFtmSMMx3FfOyAMUik","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":"I7AObcEwSb3J3XTP0YvyT","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":"FW4x-wsyGDdJnmH9z2m70","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":"DNBehz_aVc0onb45ukNhA","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":"76zccnUcU3eSb3j877mEN","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":"o185DOeZy-02FkAJefJP-","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":"3qfTcDPa22CRwgNiE-H_3","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":"bSF1Oyoec0SprfqJv9NaM","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":"TdN4vVsESaexmVwh43QI_","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":"kIALStABFTRQ0NYxMWb__","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":"vKheYqBdiIRwklExTqvQM","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":"4ESWAK4xC2ZR1sy6noPs1","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":"lqbiHc7kmMUwUkQNUAPNo","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":"IWl5VHLqOWd_gX0iVw8KT","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":"jjr0zDRAOMx75xnt5H8_T","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":"mbfBk0RZmQFs4d8oZ_cKR","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":"CZW1iAJ1b7KikdxplrUMZ","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":"RSbgvTz75MGDgFLmYeXEw","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":"7cjhc_5K4_FHEQasO59ew","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ozfhnxxSKJTTpvrZS-QOs","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":"bLdD-mwqVH-pAWA9xTpIU","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"esPp8h4aHVUo0mJokaWr_","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nuPxPFMFBQNQW-rvQHJ-l","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":"3YIYXv4oPeoFdRGe7Vmb5","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":"EAa9n7mWU2qD0bR6drhQw","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":"DYyYTaSgPZSEHcCNIXUuS","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":"QEXmyoUA8oVcLnuuPSMii","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":"cBPhmk59_GmHPvtc_kR1g","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":"zJD9fFWvWviVZmdrHyU7J","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":"YoNzpKS5Y__cKAQc9aQE6","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":"Pv37NIQTNOBYCdVu9PvmN","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":"t1tVBEw5sJ6CAf4ruwxd7","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":"lVzcbQF6t5QR_wqe0DMdC","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":"ue9PdlSzIpCYqx5WJd3_j","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":"A0bttl7PvzHjOK-y60nsn","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":"o77FCb3A6UPNviA6omgOn","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":"eUnhHzdSMTHXlA1OoHcHy","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":"o_BXzmWK0uBHnJGc4X6pv","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":"cLvYSJ9tve9lDzCByGWFZ","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":"v2p7qkSNDYfhbFruWyVnv","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":"LJ4qjg9gWXVdOBW-qbC7h","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":"NH3iuwJfvUkOsnD0piK2V","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":"cT0Utk8FaagB0kVdR_URM","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":"7YdqJSKpcxD13ChPByvqq","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":"OmLgDH_KSPopDPJmtT_5S","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":"AjDZl7KXfZelHaly3nFFA","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":"zB5RmN7kg3Nk0pySQOD3x","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":"A2pT10--1iHkczVnJMo8I","name":"ImageLayer","brief":"","type":"ClassDoc","description":"

                          a generic Image Layer Object

                          ","params":[],"returns":[],"extends":["Sprite"],"implements":[],"members":[{"id":"cwK3efWRT7R6m1ZbjWbbG","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":"F8MVUXSXGduqkEMjS6cnb","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":"Vux_rlxuj_z6RVhOKrl9D","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":"WZNEnFSHb_8zsjehMj4_u","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":"x2GMXUwhaz06kABHnrbv8","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-EMi6fuQnhX49C2evdiRo","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zo61dAlnkE14X-_bLur-B","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":"2wpkFacnDq7Q9bysfo8b6","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":"eefjiprK1Sb27f6t0BZ3O","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":"jzkcJq9i8R1ePQoAKmIW7","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PezbNgmYLPZ3p56e81fDk","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1yn18go07BTYiHQtTpAoU","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_WR7Tc2YOHt1LiAl9NnG_","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OrzhRtW-86JZpU-U0Iw0b","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w1qms2bjTa9jxGPXv7W3h","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":"4b1-8yuyV9out4NmV_8H-","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":"8DiANx3Q6lUxGUFRriRN_","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1q_gEQv2YUa48Qh4LZ4VK","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":"OYsuiS2RnuCLR5SaAAMx1","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":"y2ilXUaYa9zURND9ADkyT","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":"JjYjvPm0Ojk9rj6PMgjSI","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":"eslGxDKMFjWpChsIldEJB","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":"jtCsEwq80fTGjevpJ73Kj","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":"BHXKBcfOO8aXIKKg0bv7X","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rrlR5cAfDqb5YyApYoqjT","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":"lwyq4P0eFuxTaaXDkGqv8","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bg37stqRhardWEcHKQh8v","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":"0-VwKD7BWniAX0TknasMR","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zLmM1sZV0N3f4kKeK-K_n","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":"pZzWZdQCJoaTrxUXjoE0S","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":"U2tS0uyn0ewnpUT9UkHT9","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":"zffVSutSo7eIfr8ngYwOh","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":"gAjoskNBLSQIjJqWs__Sk","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qZDRpkW30Q64_A26GjvjC","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":"FJzWXP6wLr3wsQ18wT4D7","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":"-uWa-qlZDlc1Yw8nSfEiq","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wCwLGEJcKTX7OSwdjw2sa","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":"_5HiMOBKh_1IvDfJokNUd","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WrZLWn20Z2n-D8eoun4_E","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":"KKCqKxlxTyjwOcbW6I79P","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DjE22Bet-virpYhCC4PEr","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PQZwMxn_servZWG15UuQs","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":"YVH-Xp02P2k-Tr3HKIXpo","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MVqrUoZQzJWysXUXP6CW7","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":"gqDqaB5TrDW2jYxCMKMcr","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":"2cWVmn2ikNo8DLW8PLiYS","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":"MYs26jpq9raenUi7TmgT_","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":"TOFERWfg0aYF0FgK_d1jF","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":"9oKlSBq_aYdGif0dcTDvm","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":"oSMmxjk1ITT6PCfxtg_Oz","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":"yaPHTKVq3os_pqH_Vc5SL","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":"a6V9RvwGDid8xZw8BIA-j","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":"hk204__EWzkz75CvzEKpd","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":"C5lPy08psz4LhvMHbPdmv","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":"XLUb_0Uz8QJ1FhO8PqoX-","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":"936y_N8PPjUHm_IbNLi0G","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":"s75eHiRk69KHkzLNl9yH9","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":"0fWJL5p4WkfnkaeUdgyvH","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":"hske_UNlcjdMJ2XeQXD5E","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":"3RZ_shzMppl7MkoA0btdi","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":"IZX7n64kjlLJQ7b2DCizI","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":"gqzeH_WICtSzU-JjRS1LI","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":"FTjkNhwdfnOK35HAI0dqR","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":"2YwvU46b9eMm8TuJVyq7O","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":"X0Ub--p4kgTJZ8ejlpWdl","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":"XJwyl3YiO9CAe81x4VjVe","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":"HJFJ_gY9d-xTFYSSaxTH_","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WNROZtqASSuqwa_xqY8B1","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":"e85skrmY3sfu4vS67PIqu","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ITsgH9_ltM2oOAM9tG7d2","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Hmw-3_nv0TT9BtJGp1GeT","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":"gvszM7vfiiNSZ9NUsnSQs","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":"NztEfzOWcoEhtLOaLqUWb","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":"HZ-G3sdQVlHodVEfS6IjH","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":"YdWLjfETkiJxEqTWwnbF5","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":"yKzps0GSWvdM29Hc5mtT6","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":"m_VQ8F4D_FV63PIXw6aXj","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":"asJx1xYdO2cAu8JJgVw9n","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":"htd6b4GKZqw7VGIgUn1lM","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":"1Qs1UhtJ71-nHbZ0jjx7T","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":"R25inyBalDJd3UEsmbpmv","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":"6oGAVvbGGd_bm9jHzuVT_","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":"MtYZ7eY4wqU3S5QfxzRsE","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":"sDVEgt6VuV6O4SlioAqE4","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":"W9t4XVWriVar-0F2IGwzL","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":"Oc8VdEYo-JZ4Qp1KbBo0v","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":"qEU3EpsKqJB4-LieYOwp9","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":"U6YbvudZfDHzQDgswFJQ8","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":"W050mirXYdHdhAuaIkpQi","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":"JoUHXjk0rHZdjKu_4XoDs","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":"M0Gt2Y0g8AGlLWx8emuLe","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":"NhoR94dWCrA-Uu74IyZxT","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":"9_jMBlQxj9YOkpp0HjO7W","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":"XfjWX8ixhjRimu9nYDW15","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":"4-hkALbtxi7zK7-bKKumh","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":"RqyznMKXfttw6B00JiHz6","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":"LXm3yuwX0HxcasY5w1f2u","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":"-twBU9ZlJn-eVsRYQ7y8v","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":"PFdAsfNHRp_C559Sn09Ei","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":"bx_7_0bH4VhtM89K4qwma","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":"JW4dVRWGZk9syxta1MSmc","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":"8nJ7KteXiyYO3vr12e5GA","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":"DkIQwiV5QrZt6xw43OnDO","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":"70yfCeyMh0_PZ-gYn9ls-","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F2323yyrBzdTxbE6T6TP2","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l-9P8msoGDC-chBkOSWmF","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XCL-wlEyTKI5Abb4QyVzy","name":"color","brief":"","defaultValue":"\"#FFF\"","scope":"instance","type":"PropertyDoc","description":"

                          the color of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TeJn26Df1gSmMeh556Ryv","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U4HFwI03ahZsdnavbyYDt","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KrJbsn-if37R34tHctK-t","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":"SA2rlz8f8hIwwcx2g4o8y","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":"epmH4t0P_XGWzFN-A-e8c","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FWL3_DLoOKBexAxCh58gP","name":"intensity","brief":"","defaultValue":"0.7","scope":"instance","type":"PropertyDoc","description":"

                          The intensity of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Q-3zNSi9dQAnoLuC03tZh","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":"UR7zDRxO4GPM8GfSJQehk","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":"blxIiI32cdTxtWWmS6HPw","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":"QODUC2fNNYdAxDUENFIVp","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":"nHG6otZBIRIkVMBwXLTMd","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":"QkMAFtDvlOIUJ9ancTVG5","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":"qexmKOAhtFQ92SH027LjC","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UzLTo2xM0heRDsikJdHAr","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4tUDzXdXCGDehU29BL9Xc","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":"AkJG67zqql8BWhQElzoF9","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"33-c3EGsLs7j2HuiE5vhY","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":"wbAuCFpTWmTvn-sU27AN5","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":"YosImVscCmKaed9_Kdkoa","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":"X6AOruEAi0Ap2OYOeILvr","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1-0Pjm5r2pyYT1bV5B5_g","name":"radiusX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The horizontal radius of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zUpyyMRtjFUoQZ7rbMbZk","name":"radiusY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The vertical radius of the light

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZBHeafVGxrR4kcinNlnB-","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DdIFHUkEazbAxl2ABrNRl","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":"rICJ416KQoY8cwKno5C3n","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":"wFqlL2vmz1bIBL7IDKnZ_","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"77n9hLjyMgJCXu46wbBgx","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MPuXqFHZ4xY9g_1JQpyTz","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":"k0HOq4l-nzo2oyNAZ-dz1","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sjClQ-rhohWjGDhIUCRtr","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":"sDEz0KYYJW77azL7_ey_R","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":"KcJB-CtOcIQt7Z1r_nNI0","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":"cyUMpSlK4-DeS06AbsReh","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":"GdJh10oaoYKc_GghEF1Ni","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":"N-ab3hRRrvF_mE7XMdM0G","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":"j923pBAlLpmb0Bs2ypXZV","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":"rwdfNb74CL1eqQ2JVqxYq","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":"gr6u01D6rmG8Ya6f-v7hy","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":"cPHtIiqvuHEXSSB7i1M8t","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":"LNlvtgQrGRHqRIME6K5Up","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":"iTvRJjWdn8_kcOVjHewu4","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":"D77qA28_V67j1tdFGWP8_","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":"pDkag5GbNlbCYVPbzrhMv","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":"lRKMzw_OtmOG553d0xUnW","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":"6JitEtNtIxRkst3rg53BK","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":"FahAAo85DXxBjmGwGwJot","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":"QLL_G8edByYIj3bZJmabT","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":"3ig6CxKrYVbl_in-Fbuu1","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":"m4EcZ8v-TNiX3tRloFpnw","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BfHQ0rBUFl-VFqgph7XJM","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":"ZQjg5103UKfip6_Nweas5","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":"XU4PjVe9otY-zSCo-9M0i","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":"wX56XCne9kLM9k0X4QmCY","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":"Rsnu-j5ftLJ9FeJ-Jx3xb","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":"YY7EAfKXFV7ganr67nUwh","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":"DgoMNEwBDPgY94JG-tX-J","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":"hBvpfMx_n-EiIcKULBv8j","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":"ruOlJXo7En7APfF-DZffS","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":"QEQLQ717QupKSvYZ-y5hi","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":"UwQE64N4cP7NqHTeWp2PB","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":"FwoE13lSkkNl2MhjrJcH0","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":"s0vzbd_i3SL3DD9Zq0mLN","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":"1MrFKVoF_5UeIVmbKKqqj","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":"MwbLMAKi5d5yzHaT1tyj2","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":"3J59UorpKr5fQUE8PhZou","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":"1BTqYMOzwwneVWSKYl8x8","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":"Ho72s--wqui26VEZchcRj","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":"YNJVuQtilO0yx9OS4BYSW","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":"cBlGyTBa7anFSMFQ_WCiZ","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":"ckuz6L_vqaMXQwg3609Te","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":"86HJLJHMW7FWSgE2cqYJk","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":"oR8G50u5LndS07NOOO3JM","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":"SrAq5GfGfJxC3bJ1lJZCK","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":"UgvLLhrnVSy2uTCfPfaEm","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4sYbmWXww4IkuVY3usAHU","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":"8w4MvCWXAF5_Ghn_FEyrq","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":"7RrgO4qWZGs1DCAgngJU3","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":"FC3p9VbI4GiovxtH7c469","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":"lZMkeTEPh64R4LNZmUUbP","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":"hAjF-3qw49AQCOANoGvBW","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":"kcxnyn4ODTvfuo8bAgKfu","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":"u65LHvmYb424ttsYFIM5x","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":"2gcfwr0t1llcdEAl89AHR","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":"hUQkzjgd0Gvtu_bEdu2ic","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":"IghwUFCpsTH29GJ-8Q0Yi","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":"aoPW3AmQPRarufb79n7wu","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":"4Lbe2W0C8Oxzqw3OAjWxM","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":"vEzcUQVHEPhFHrp-OY6_7","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":"Mqso4_JjABKViSzKqFxeu","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":"4avgctFNJToN0GAHqcy-Y","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":"N7_mq8ClmCPAsFliP-3Rv","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":"Bc5h1lMrLYCoyq9tpB3Pu","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":"c1iO861O4ldb3TT8gnD6Q","name":"Matrix2d","brief":"","type":"ClassDoc","description":"

                          a Matrix2d Object.
                          \nthe identity matrix and parameters position :
                          \n

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"F9wXBe4hm_A-AgfJ9J0Ih","name":"tx","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

                          tx component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jpcl0PfHY-fQNgdPAKU06","name":"ty","brief":"","scope":"instance","see":["Matrix2d.translate"],"type":"PropertyDoc","description":"

                          ty component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ohKf2QNf9P-fQWsbQ9oat","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":"G68gc0Lh-8bvRC6hr_35e","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":"k3ANiNhYrc79qmfITNE6t","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":"gWPeaJGRrOTYZn06yySP3","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":"_4Yg_xic8HgG915YtyRrU","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":"M7cPM-C4O9ZuRZa2zBW3U","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":"GtP8-LmXp_72TGC0C29Sy","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":"tkkrNVkUHyzEGxyGF9lcy","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":"1HBvjgB21D7EZLHn8jk4P","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":"D_tsgCFyC5KShLVnwThpg","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":"JUyaGDaWfrCwo8W_fpfFz","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":"Zi2V8HKP4qcl6op_HPV6y","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":"ElbDI53MgVpEr1BP7Zaxm","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":"4EEa6sEeZ6dGjDFCqSQxM","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":"ew_8Pww-WY4NgO8N0Dx2u","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":"gxyIWYKnnjwOSqLni2u8b","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":"MxhNoQklv0ka6I83tnggn","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":"8VYOzolFZaiDDlUU2YYeB","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":"AvD_oguWiG2oyHM1LHEby","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":"jm3Y0y1vQZiquX2KQeQv4","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":"bZkBZDab_lNIMniYroFOq","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":"KGMB5TlGXr_KhoFGIh4mQ","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":"15dEctFDXIgSbH8Emvlii","name":"Matrix3d","brief":"","type":"ClassDoc","description":"

                          a 4x4 Matrix3d Object

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

                          tx component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fZu0lPdMmtVlFCgWizjGJ","name":"ty","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          ty component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5imdtjYBOPahHDfJIEIco","name":"tz","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          ty component of the matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"k1_pawsTRiZS3EA6C3ONa","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":"Y4YhVyyOUgG9qbazUIeVo","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":"Z5xxUEZ-3dBAWER3NUCdN","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":"yS-xonIdov80wb6qFfnD7","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":"FND2QTUgemVn9zA2pvq7x","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":"ic5oFbnc7Y3y_8kaMPgTw","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":"_lkJKer8BnhQXSQOUbCFu","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":"gAYep0hr4u0ANf2YlIJt_","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":"3PQQdPlmN5Ze5htg4aTVA","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":"B-440E5jjjU_imUYVfl6Z","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":"0bHNdJiRF-_pgBKNqUvwP","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":"YXjQKZMrF7Q0shU3qrRQ5","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":"BoPBddl8NLJ0dluVa6Iza","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":"QCLnGqRWsYiy2_2RxkhpR","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":"UKJ30E4b5ZpyqOJkgOe05","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":"YzhsIPZA4UpxpEEUpl2u2","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":"3tmuvMJUBV4RKFUtXJxUN","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":"JSlvxsXKU2ztJ1xxoTlSA","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":"jqX2OODRncZT1Nd-P18_u","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":"pG7VFhn8bqGL669vpgHZ4","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":"CvUOjoRLDBCOIkqawB3FV","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":"daz3d500iABVqk2zSk2oE","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":"U0aFPWcb5C24Z576GnXoW","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":"b4JarnUQaaWxdAtPozEs_","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":"LplPmn2QBratMpxIPrTKy","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":"wSLZK9bETfmhFtsaRk8qV","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":"fI6nOoUnAXkQiw3Bed99p","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":"0KPtUUVgtaGoso_ZEJ0F3","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"daqvPxEfgrbAM5Voqq2_I","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BW6TMdzrygeeRFaYI02eo","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":"DPgZ9pERZSvYCLhc6s9fH","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":"wI84tsr6DV3N6EfaKbLG5","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":"oCFiEohLCNt8vxbQNU0LB","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ixduKOSw73DUQErRC5oiX","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"b7IC51mEDcrppvnvvic8B","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZwCo4ssJP74UlDgKlsjzH","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"PbAw_lMx4Qv-n_i2R9sRC","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qvgV4Guxq2vzpwdMlRG6w","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":"jhYcGGMkdHNRqdXq_Qn_G","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":"CUe2iFiGKvXrtVoHVPSqB","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the NineSliceSprite

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"K2EbK91uEuTniZwYMRz65","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":"NrPvJgRmSg03XWyIBwviu","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":"rJ6W8GxdFtcCESVPn_YVY","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":"soccxbOBFRFU6unl1WHBD","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":"nodYSMre8cICX2uDOgn13","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":"SZA_4A1dsX9R93rDWpmW7","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":"7GnchOm2TL04kyIPyvFqt","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U9Me58HSJWUXdxU7ZtqpU","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":"dTEaRf9CkM5K1oLc1NM_L","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ze4_wWwucw9NQQnfeG05k","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":"J8Vk8cKeVT_sOHL7232R_","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4OheuLa5uZYs3KCz9FqDd","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":"hlZKgMvvcL_bYs4CoLb_U","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":"vzsaqrfQsdATpN2hrxqch","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":"I0NCei3s7Npi0mzDozr6-","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":"kSH9Cj6kEkfPv_MkBGEWh","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pzMCQjRl4k8SwbI4TAod1","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zwZ6cjrSkIqXovkPTJ_w4","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":"zs1__guATXZ6i6XGivfgd","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"2dyf5Y6Yhpal7J8ts3YSv","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":"8PUJT3EE2q2TT0sBM9OaB","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WOEEchyJgiePpTPCydLrI","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":"vu3iX7frDQeWOceWfVXJt","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the NineSliceSprite

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"j7UPYloh6k-UzPYD3Z2jb","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":"D_r0FzH8iGUh8ynVCNISA","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":"i9nRZcx0WlEKLVSWhquMK","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":"ZyadiICaJnSbYomLJ2jMr","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":"1dNrbKyzPzkFduAU3gD0u","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":"8dRfplIVGvCuezsI0peRT","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":"ti9QkzKDEeHkh36yaGC9o","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":"BdmUmKs39wlT-rK-OjNNE","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":"-7SXFV7QTOO7h97f_4oGa","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":"7gJEpDQdY3XwJvhTjRLYO","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":"Y1RqOAJmabKz6oXHRXpiD","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":"-fE3i-9kRUjKvfrdcE1IM","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":"Ne5SzRfBhglgHA2E8HY-x","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":"yBjJNDa08GaJziHqtB5ac","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":"zI5qO667aepSqKdVg0pNw","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":"-jZ0K0erMK2UYM8-Pgzl9","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":"DbUP-2wKNJxpkwxoEqNT9","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":"WGKzFqWbVUGkNImPXzChW","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":"9meF7q4UY4HMAwu0tsPrl","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":"gzDJ1v2LHHCVwZAuFskS6","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":"rC_qH9dbr_xveG3dwsyzD","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":"KB01OB3iebemhiMrYtVlA","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":"k5A1SPQ498TzoxOd7gEj6","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":"3zCDQ8iFR26QJKIeaHhQB","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"frHStpFrEUgFWXRaRcF9d","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":"ypPF-OBaJVg3oVzBSXA6R","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vyr6zlJp1bop-jwv28tzo","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AZIkPn0GD8gEwkC4LkZHS","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":"W0nWITyIRRjFZF2ZC-Sf5","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":"TOkqtoMyyihM2400wMr4w","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":"kfXWnSnmNLeZB4LGZUde8","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":"7RrLT_HVt-KWsVoDfjwF1","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":"8Fkrq6Ru8-P1adgBS5BLn","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":"S0rM5Fm27GmeDXybSDUxW","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":"vW90mCKKP7UUu7oI5hueK","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":"wrwCbC8o9rnV0WFX6OaY3","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":"xd_tLCIl9lfHnQlV-o06k","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":"qP0xUltrl91xZwwFRpnT7","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":"bnjHf1wOyyDJOndXQOioB","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":"v9zQ4krpNbRKL8xemLoq3","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":"-KpaXFAT88D7GqtG2UHzU","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":"nCRafnfP7LSGINtifv0o3","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":"_xDjM2HybEF43Rp9u3UCG","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":"gtpZqTEKqxtktXXutxsyS","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":"kHe5KkxS5T9bpMbFsTKpS","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":"euknSTPWmQDOc7xk0NhwJ","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":"auyzOJrd9z_ON0FpEUSwj","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":"ns6tKFaeo-5sVQ7FOZXje","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":"DlZd5B3eRnX9gt2WQDCbQ","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":"r2vN5HFY1AbUIUgebNZr8","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":"RM4yIqqJULLjbS-pOTjQ1","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":"OYlw_7pVEANay_tqYhK5l","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":"C_R512ca3er3pYQoo8xSq","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":"1OKiW26pu4AN15w87YKOf","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":"LJ5ToIYycXPw2dTrR0NxM","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":"ntMoMplk3UGbJ3f91tAQ8","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":"SGTEzPUyTfBCzQKi1PBVc","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":"args","optional":true,"variadic":true,"description":"

                          arguments to be passed when instantiating/reinitializing the object

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

                          the instance of the requested object

                          ","dataType":{"tokens":[{"value":"object","kind":"canonical"}],"template":"object"}}],"extends":[],"implements":[]},{"id":"HOaQh0KyvrQZL9DctVT4A","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":"_czrsmGuWanbrFzdawqj2","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":"CvaWAF56-7dV9SIK8CoRQ","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":"7ET7ZqsccPNiN2guNKr4u","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":"v8NzM73sTwD4L1QUu8F2d","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          x value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6hjQ9SnD0u6YxGiXptsu2","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          y value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hQrCFQtMcYK_QklE7uRZc","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":"jEQtcVS1bfmr98UolVYmv","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":"cCX5OUW6G_tV3Ub2r9Xe1","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":"j6UYwB9UZBxPrm_MTKzwJ","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":"vzDwQiBpxL1x0ECOXSLvP","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":"9pigrVTYfenBaVnetdVS4","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":"JFWG0rP_2a4CW3fTWU-T2","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":"91FhQnTtoGEVtXr3i6Hvy","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":"5yX9wsckzxwuS2EGHQ1CM","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":"V8qIzev3gazF0zFhEaVmk","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":"pqEsQIrBGkkyv_Yhvz1b5","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":"x7Mm78ypu8XJctbyHTA06","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":"LGUelwzJU-YgqmPK1MQ45","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":"AZQsES6yc-qwfnf7Jh5tl","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":"Dud9QI3f6OeZIfVaMj-yg","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":"txiZvdZUOfI7aWfbi0Q2F","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":"jSvmvYgR1vdUhCjl32t5S","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":"64hHqPArcvyKH_VwC5S3N","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":"FoWJUvjRL8uHZLUfjysOo","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":"lbYyCpkq1_8easXXsRM97","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":"DkW6t5gNcMEdN4Id18XrJ","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":"MeGB8X8JPkIvvdTtcIKia","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":"6A04s937se8W4E8Z_IkAs","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":"2KKmwqRehz1GPryGExn8s","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":"UltXa8Fvm9LVxOH3Z2avq","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":"ND00FQeSoSs534KYdguuH","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":"mN-CX1hB3mdttLib3KDlA","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":"5Vqo8jtgASjLuZFa7Ukuv","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":"WWVsmugCt850iQqX6mUOh","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":"yCpn5yAGqJ349yGr_n99n","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":"UO_1KBI3ZaGN3FhgiBq2u","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":"VLiL3VoOS3i3kkGALXFLb","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":"EFNkegoiezdkRJUq6VzTI","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":"gtRy5IXNVqFBDZlWhtPLW","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":"99SsCnI_yYi6l2nUBey3T","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":"cNxREojhe12UsbIX7aegq","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":"HXB5kmWDtlgwl5B_yoMCb","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":"CNnd3nFFezrvsMZQAEu95","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":"kD52exjEq22lxxLZrc0H-","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":"nDPp1VayE04-tgtLrD_fi","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":"m_UA_kPklW7bAIVVXA0PV","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":"W01EyFqp9bt8B8A7Q05JW","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":"7M-ujpTwU4vmuSAHGnp-e","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":"i3mHXPAo6I6FCOjn7J_AP","name":"x","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          x value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"t3Wz7p1D4AoLEBjt9jN8M","name":"y","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          y value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JE62W8U1--Hy_lBFe3St9","name":"z","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          z value of the vector

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-mq9bklpGgDrS9U9oQVTy","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":"NKx-dwx2K41TNmsN-zxc_","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":"bjN3bT4ZuTlfVnzaUoIin","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":"v7knwOdcPZ-GxaxyGYjjP","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":"54CW34kMbyVlanUVYqlbE","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":"LqbjkpeFhn6-Vphcz5fkW","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":"7uJDdLxjJuZBoB6v3IfN0","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":"i9vzjDCoPdiPmamVQNDnv","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":"_7xw8vxjWC0t764aTOE59","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":"MvlfnDl0FKd-yDWjiAXWb","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":"GcHYeIarTMSyz7UkA2dtQ","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":"KAGOYy98y1LYoHAkZHKbm","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":"CJgh_HOF8y0CbuzfPF-8I","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":"_7I2Hz0kRNgWAWh3JaYh4","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":"AFaq7Rz0_ugR72xhUnBYD","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":"Dj7Fx8mcmSetnYkjoE4-k","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":"c4R1CiQXpjR_1aTZ37Grm","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":"ad0Yo8WfaxRPJ2_m8ChUh","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":"8fRSW6DfV4Ib7UuH_ihNa","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":"uQwOMMKqbKhza2zCIYuJo","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":"hgaxoePaSa1JkX8-1zb4c","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":"hL6y4yD26kqAVvuYok0Hb","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":"vfr2WezQYEQGmcoMr9xTD","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":"VrIieunefmvnHqxPYHQZk","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":"OANU45TMMckOciW_YMj4X","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":"ixG6k5bq57p3HOoLkyOFM","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":"79ow_VsylMsrrQPosX43l","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":"vcV4HBqcUL3EZYSRu4fMb","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":"7f-xtsg1rACpCG8dyrv8n","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":"NM1utWlr6kn0MWXW9RHXM","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":"9M9SPHbSBGCPcjsEk02ql","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":"LjkEwHrryelCz7qteTtsK","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":"BY1bDcfqQ0XJJeapOx6WN","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":"2B-ACKSVBiXMZ7pHYCXZB","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":"-TTekwEM11l_NFO_QZJO5","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":"D9BYihOckT_2qK0aGmO_f","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":"V6UkGpnp0VGyyn8XzQeQE","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":"uG4-hSEjaTq_yaFnMxIRy","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":"yItv767mS8ERTM9gJGwxV","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":"yjH1Pda0z-PIAm40KnGkH","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":"X5sNnbbp2FwBzPsWV4Ro5","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":"e4hhVGbWlDANSmud8tHiK","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":"r-WgWJBJ_TVQ4ovF_DQzX","name":"Particle","brief":"","type":"ClassDoc","description":"

                          Single Particle Object.

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"OeHDNsw5yKadJT3Y5jkRd","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":"YmiKdcsh_NDem7R97Z46G","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":"HH-DcrW677nUgoJparPRz","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":"yUqL1paPXPeNQcKzgm4vT","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":"eveULnwQrvxmiGnQS2QGr","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":"bcXyWRJjw3i65V4umudKG","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":"9qp7SYBoIfE7wAoKy_ySI","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":"Q0LHYtBpEgtwRsgFp88q8","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dJMF_BMWS2jhgzqQfVJgJ","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"-c14S0iwYxX9vLJURM9hL","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"teL9kBZiXADft8l9Wa7PI","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"w0SToxmlYuwL6qeotRJ9l","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mRyxkbdyYUjDBLhLqVULZ","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":"9FUxEsO1RaA5119FFbAT9","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":"-zjw_40A6xZiR3t0rpQ0E","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x5-mjegybjh6voML2Jgsc","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":"sem8l4sedpuNuKVtAVjL-","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":"l25n-TSD0Dx7HE8j5RYiN","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":"_uK6rTBm6DJga6fw1SE1H","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":"Ozaw59I0Khd3JpTqBMyuw","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":"J8ehJGs0VP13Tl-rf_HPR","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":"7s9vTjKJU8TUUJZ4AQumZ","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8yvTB3Zrabb7iaL-OcpOd","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xNg0dgpeiQXTjACoDtKTX","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":"YpXt3PUTCs51Z19FeXItT","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nXdkKZE2qeC8JIttJ-OLW","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":"RzwEs3CbO7ikCRBOpfgud","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":"gE5dTuy7MZgqkDA5TSurp","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":"FuSfXhenkbqiDPAR5xZW7","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ne424sVsEIxfHWcraYzet","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y6xKbeifaZucF84oabSrY","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":"Q6y8dEr2JMeIjiFFV6T6k","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":"_QMBbtAstjWR4b4Dsi3HG","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LBiHdv280E7XjZXo-AsB7","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OP6X0GjzvoCzAY7kIo5uu","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":"a8DBwodVRpPwvu6IOpaHk","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wReWsUlTIKG5_1CMRRSTZ","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":"FUx4a0tglRHxUC7yYb9nF","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":"AQXP90Lm145OK_tvLhExW","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":"UYciHxfDELkVAd3Wc-DIM","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":"km_7qNpZo0F0qIfHoNL6u","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":"bszDlY3Y73N-o3Mhg01bD","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":"uFBYxtyfhbctXm1RH1mYO","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":"V07rwBWIW5-4IeQmYLeE6","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":"k5WirVIGqwn5-2LPT5_Zp","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":"5-n9u5pqDS-nQi5amsJCU","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":"sGi54-jNOp8GlFItNTO7t","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":"-uX6SH1dgxi_DktGocG8z","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":"VjIkUqeDh9PM6UMQK14rr","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":"8F-aCcTCGDI15dt-Kxwy8","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":"AX8iSDCaiiFaWyvKy0akF","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":"cvz6iovFvreewP8b9ROLo","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":"Y6jNMWfSgH8jU9I8YHGHe","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":"b7jUQuvmRtmAzAM3oLhmz","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":"x6eRB6KHNct2ZOP9gM4LS","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":"X-AD-mRm2TNnKPBiez7-u","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DCnKEYE7-ycJGRT9nPbZy","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":"-ABNjvXe2j5bvIXTmaCU_","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":"N-80XrR4w_NYluondDXzk","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":"xPRXHy1OHMnv_VJgUNj0a","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":"TIe8-kSfAj9x3t7N2dwCh","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":"q54S_ph0reftBPhjKlPGD","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":"ZSeA3x42xnlnGHXC-4hfH","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":"FN6iAK19Eycgd84kmTMwW","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":"kT0JZwyQludmRDsBo3gDZ","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":"FlVSN0H6-2xEc2VafB6tD","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":"JkcsTrY7HqDEGJXwqCvJO","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":"FdgmmIFBj4OtIfo23OYjJ","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":"GDCipRlWWajQ8Obv8oADD","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":"mNcdKdRXB22cPL2ek94Zk","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":"zKjYc49fYrP83BRV8YBCa","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":"iHXSxMuFkso0qOUDmZH6K","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":"hu5Iu6clQAA0fblhPskj1","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":"e0L4n2TRsSgJv_H_AX8Gq","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":"OOp-sjEYkFNCQiQ2Z7pKR","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":"B_6plgJNgc4mBERyNS5FM","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":"A0SC3jA6lslK3etqJniXR","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":"-4A3lglwEdFb8ryEsCIB2","name":"ParticleEmitter","brief":"","type":"ClassDoc","description":"

                          Particle Emitter Object.

                          ","params":[],"returns":[],"extends":["Container"],"implements":[],"members":[{"id":"uqcYn0Bye2Ewt_PT4F8y-","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":"z5XTdC7GNZ5cKwdOw-P8s","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":"SjVwQrqxlTKQ03dYQlMqs","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":"RsIlOM3QEAvrUP1XzAR-w","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":"3U9fwz7CAYq794p0YCjqe","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":"Yr82Uhk3YpOzMbs2kpu-7","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":"Bd-omKr7Gmue_p0YKJvgV","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":"-GZ3RKhdKVYOpYcJznkMs","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":"MYOXxw-MX6zrsrQl7Y3Qa","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":"ed5vqxlPo_6QFaDC3vqBY","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":"dACceLczI89wMFMXgHFsb","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"veur5XJaTZVwaCP5KfIlT","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZgL_gqK98x2DJnOHsRBDB","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"o1InOMJLDl9W8PoiI5GGN","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":"dParsxcLAWfaQwMhsNzkO","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iYq7BXv0hhQ8ExHylMs7S","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0_R-sbwo5Ole-qF1C1UkQ","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":"QAnHkkRD2kaPOuWIZ_2Y-","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":"HT7bxIA-gdRvERunOjpxp","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":"y95duOVdhxkG6-2pAKGbE","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mvlC274sQ-5Npy0x_Lpr-","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":"6q1OY4THqVKhUa6n1xSIv","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":"xCt84MbShXXCWRhERl5V0","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":"i2wJQ8TCGvfIBUnXe07p3","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":"lFLBZ2EnvNl4dgdoZ980E","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":"oFJrLkW6klnJanzGJUrdJ","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":"XyMELrMqzLbhkkeNpVxTb","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AJNRy33NXfZ9sbW5lf3xw","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iXyP1TGXDonz46mfBYLos","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":"DmfxGE4xJ99VsKnvbnpiX","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4RrCYF3Z1e3AOF67XYdeH","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":"wBJQFo_JHidbI-hLI_9eC","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":"8UZaOSjMSSX40dbIvNdja","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":"TR09DT1zAcjuWbAfGJipK","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OGqtNqwZeA_MOeqyobAh9","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d2XbBtxoYseAwLQZq3rlm","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          whether the container is the root of the scene

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mDoRN7BVErKRP7622NhD0","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the current (active) emitter settings

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"l9dQuZQtQb7UZUjYZT-bz","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":"oIrf0DWZrkT7W1dXw6ETi","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":"ekoX4TQ9w-reblbbjiwKp","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":"Ue0mY51dzuP4xyOAgcUyo","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ljs0gl3OEJFKf9b5szwzD","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":"N3sQs6xc6i_56Xxrx1Rp-","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3SvtRgVqOieUY9EP5NWkK","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":"rzik_KZHKSmho-TfGLqGG","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":"nLq9A3bJua5Eawzjsbpbs","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":"D5Tba64bGUsyCDp1ZdQdd","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":"c31XUMOl2V8sYrZt6BDli","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":"PiMN6ZI0yYnnHwQYAf4Aq","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":"m-z4V97bPz_8b1xK_sYUM","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":"AowK_oApfMItKC2xAYLdH","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":"PhUAw2oqI1npvRySSPoy3","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":"SamWmg5Z0iAPnWvLw4Fbu","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":"pQf0DKDNFrc1RU0EmAaV1","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":"7jin4Z3Bq-AtS-bGEKKHQ","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":"YRgsR0N6hnw142YuqUYMd","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":"NOAJTcKDLWdLs4TN2PDmy","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":"qG4XSD0VIRP63MM2Xa7Om","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":"AXcqtBgp1D4GjpTDHfGYi","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":"B5l-FkZ0u6wA2heivnaDA","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":"yv9cSIiYwxCgunOmGLEl1","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":"2CfVon1D1r10CAYp6D5P1","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":"f8US_NJiOX-7_4YY9Gx2g","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":"Ir2BcCGMV78LeCN3av9a9","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":"ap6itkPOLgx4rhpPrrnVs","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":"fJQYJKLCkeIcZB7AuuAVY","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":"btCR5Li7WMNzVbSNMlgbZ","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":"p2jPEFkp6XUK5nHvHM15t","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":"PLVVSCXQOKIYkoVQv3B-F","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":"dK7CW9K-Oit9JakIdEcuO","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":"OO0ZQxc2PDbu_tlG5Se70","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":"prmOvnSQVStUQaLTkkx7Z","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":"vetavmppyaRKhtlgC6uSC","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":"Weu4ETOS0ZGH26jrspdgN","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":"rFyKfEERIVsYXDZxe6quU","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":"Qs-EHGKpoua4GgsdroBI3","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":"9c-LWrp--WuM6ZAIrBX1M","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":"POY0F0ErZuPYeWp3Fav-2","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":"pTncEDU72w4T1Ib_bHLfP","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":"yvDmDielZoKXTIzdEMbcf","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":"Y548PJTgWo8uBX7aO1vb7","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":"VKdw9fO1VNMZKsTc3IEhc","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":"R5nOLSHnUy6Vab7IQAAYS","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":"BZYIRD64fX9iUjTv_0-T6","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":"pej5ELseAr2FGaFKx1gD9","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vYtvl_H2mm1tHMvBWEONO","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":"QeWi5Sn66dDVDlnmWNXs0","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":"pB6A2MXxz5qEg3TD-WaMY","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":"SohgfIwyb9NrOA6u-EHAV","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":"fFUCtT_OgRzX5mGOES7FU","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":"-6jQ7bVd5pV7ZU077QjVa","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":"QW84IGIHlt8ANG1K4JJE5","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":"-ZQ0ap8VEMCPNPXYXnOTc","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":"V3UG9I25uwTYy2Hx7fCZS","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":"k75tmzTB6G_GJyqAdOuPi","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":"zYxrCjXXB9ilAIDZe1Eiw","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":"65TcBKobPytv0EAEEwhX4","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":"WiqUwIcV-SP7Z6S9_jviK","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":"2BZSThZ7yQHGVSf1ms7eX","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":"5zVQdCQRlsGiZ16vKsRpQ","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":"cH-7aneC1yrjcjWnMqj1L","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":"rIafstGqWJtvzfe9wm1YH","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":"S5_S-lvuHmAlOw1nxscc-","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":"F5MugAqeZo863LL3uPH_p","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":"ob4yY1tmoFb4QzZxiFJDk","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":"w8ciiCrC0cstFcEdRR16X","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":"Fo72ko8GbAKJqg3HQZGkD","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":"xHELudcDH1HT1UME57maC","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":"n8rHsm6ZcWl_5dOuoXFyh","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":"dlRWur6UM3Ut9lKPuMqPS","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":"EvbXl5DL7mciwNzzLhsrZ","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":"b9s21joLOb_eTIkhvM6-X","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":"xqASCFKfNHBUvfcXhtQ61","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":"Cn1sEIs2BiAk8H8OCo91w","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":"d1qJ6ewNxFd00g6MKcoAk","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":"xUTH-N1YUM3Lj2TQ2OJZZ","name":"Path2D","brief":"","type":"ClassDoc","description":"

                          a simplified path2d implementation, supporting only one path

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"jBrCO0NCLo6Fi_c1wE0d8","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":"mysl7DThfH_ivUsxoPMQU","name":"points","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the points defining the current path

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GR1HuqWRduLwBiIdT8Uhu","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":"DqlH9mMq1gOWAnHyCyD27","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":"cSrwjGBtne8LJXLxHdu_e","name":"beginPath","brief":"

                          begin a new path

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WV5ry7i9k-L1zJmuC_Gqq","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":"nRXcZMd6XRWPQ6hnvRnU1","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":"kaI-lw7_pmhGXCFf1wWgj","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":"wfJcfC4XmxPbndIRJKg8D","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":"l3oyT_NoczWL63PabkvPQ","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":"hByLO_TVw0wSyW167f7PW","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":"IqGUfSshrBVi2C2h28aJK","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":"S27VhEWlag7svWk-R5OUo","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":"bxYDlmPGd2RMEQRPVa6v6","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":"V2UdrBHdD0i7vUfXsSIzP","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":"N50mHHZKg6SYxn8k9Rl-W","name":"Point","brief":"","type":"ClassDoc","description":"

                          represents a point in a 2d space

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"Qnm7daMQaK5O7PWmsikCX","name":"type","brief":"","defaultValue":"\"Point\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DPtsxzs4HETXa_kbaXr5o","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          the position of the point on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4NnH_fsqLMq9bvrCGq-vJ","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          the position of the point on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1pZ1JdADqBh5kEyHzVOvz","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":"RZaH7v6xcXUuB0a6oovkb","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":"1p6ZxxRM8KY0XXwYB7Z4E","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":"4dRASPq_aF5juk0WuuyHs","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":"eGfxYAcv47O8k6ZyJGNzh","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WsLQQ5YFdhsgpG1PoVRHP","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":"5y_O10lEm5N-qeINQt6op","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          return the center position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"G9q3yrq-wJAeME9r61E9r","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the x axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cIcffK4CbdjEGqgoUXKvp","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the y axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VCBBJLq8BTNaMVgsB8gVy","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":"721msb0MEFAYIgwJXbYgK","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":"hyn0_A2O0UecA_Hz3FtD7","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":"_-CSRSaqVAJwTwmlBpJkm","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":"dhVoDdP5aIkPRkzbrNypl","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":"5GqmPWSx6eZvre69-NDjV","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":"xpXRerD-P0J8YpXYLu0B5","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":"kLNhQTubGXO6L_Z41gk0e","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":"_Zbzdcj0A1nE9g_RJ3SeE","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":"_7jdD7-JVjvG3pQZpsZv9","name":"gameScreenX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event X coordinate relative to the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lYtaZdnFFHX4vLo0hAHLC","name":"gameScreenY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event Y coordinate relative to the viewport

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v9pyh2f8y9kCBPxPJLr62","name":"gameWorldX","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event X coordinate relative to the map

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"goKMpcflsU4sxMWXPB9sY","name":"gameWorldY","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          Event Y coordinate relative to the map

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y9vhoKi-ZbL8SROi6Syv8","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":"h2yAJ6O1arP_xqChf0tLx","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":"qwgRc90NZkLWfZvEAoSyT","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JnbjBVvn9rptlFsUlFHqd","name":"isNormalized","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if not originally a pointer event

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hM4rE7f0aT0lUw4ssGDNi","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":"5q9mw2fQSy5qLqetjN28c","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L_5_9QaScUEGXucLAjztG","name":"LEFT","brief":"","access":"public","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                          constant for left button

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1Wco5A91qcB98FzPy1k7-","name":"locked","brief":"","access":"public","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          true if the pointer is currently locked

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fp6C3jzRFexvTUs5BRKKh","name":"MIDDLE","brief":"","access":"public","defaultValue":"1","scope":"instance","type":"PropertyDoc","description":"

                          constant for middle button

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FqjnEHqCv7T3tIlkqINn5","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":"xA_uWmp943explMG7yQV8","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":"oyyPw74N-ve43--iVBKwa","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":"MmJ5pk12ahtDaohh0w3Ki","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":"s2Bacd-16RB9phCiqeGm9","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":"Vi29Autqrz382x_Z749Nu","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z7-3QmCztd5Hh6sEU76Us","name":"RIGHT","brief":"","access":"public","defaultValue":"2","scope":"instance","type":"PropertyDoc","description":"

                          constant for right button

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OlIhIf9atZo0Uvjna-fFJ","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"L0zlNx288ES-AAJY1yRJS","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":"xy8qOE7o70pDQj3tCQmRV","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4gJErCzxfyIm3LqWs99qk","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          x position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MruasdZtE4fPrDRFnQl5Q","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          y position of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dOpIwLd84kC_EH7UOUHt_","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":"CjqFdlOH-tsaCcpdMxEL4","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":"IuhKyT7zAQN9ayMt1IUhX","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":"dyERXQ7--ZxXqxDRR15UD","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":"bd1u_doDcTXjW4MKIFhp5","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":"1ibnJxsIyZaWzOUPQ9C-K","name":"clear","brief":"

                          reset the bound

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XpBoqUvd5Zu40XsEb2zJO","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":"Q0N0yCMbNC-Xu8RoRgWVv","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":"uVKYGJZdzn-IVsE4p6pPe","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":"X32Twd7Xc8xaPSILASRgj","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":"uLOeA8nM5_qOAXE4bbkIH","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":"7gTEHaVg4QMwg2d5Q9AQJ","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":"y_ycp3gkj4r58YWDcGRZu","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":"6TxVWRkQkGT_DueMd40oV","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":"2K6GQ_4lNI_5yvEpHZ1m8","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":"JmdEBtcSKUGVKvvjadg1z","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":"bo5_h-OZglXEkbBc03r2H","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":"Xanx4KCVxk9mWzCTwKtwz","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":"XlIAwNxy2PiuC1mLDGv_g","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nYFqIkRXQYs6F5jUuw8MU","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":"T7CUD1OOLQ2PDUa4QN9wT","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":"AZwKVeCbEv2zXj_CUiH48","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":"rFj5vNVmIl6EOG6YmwlfG","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":"9ulOoxwWou89LxI0plz_g","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":"-TWzV9pyIhnG-gWly6OMW","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":"968Rs8gYQrP8iUR2C9aCJ","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":"o1UBWNXVr7aFS_NWqFP5X","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":"tymnLosVPNKco98VkOdMl","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":"ky_H-aRIsSHNR3GU7LzGm","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":"wrW18jKnm4Rb7jl-iDMbb","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":"p788Y5jmvDSb9dsdOGPFO","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":"nU1btiIMmog_Un6cYtBLP","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":"JkGtL37mzf7mPtHyXh-Ww","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":"kSNybhlK9YsfUkHzS-Hh1","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":"4vNXyIeqYD8soYpi6nua8","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":"jDXWpBP4KIqeBCwfBbgxA","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":"AgVgUlnmkjF6yHwJdpw4E","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":"c1d9Fed7DZDunQC-H4j88","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":"Kh_aUcrXoC2xnMCCrxItm","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          an array of vertex attribute properties

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7c-0jCLu6oMpTLncp5WF9","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the shader currently used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C09M97dx4p3pk56Q-cDeU","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the default shader created by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ve1vI8Ze6W1qUGSpcTNkI","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":"m9z9dbMqRX1f2vELW1sY2","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":"98Uwpcx2_B39v-KN640aI","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          the vertex data buffer used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yavIwvi81n9TGb3sl-_yy","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":"J9Ausn0gstRmIioX0rk8H","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":"XQ-X4iVn6zLbeDp2jqlZ7","name":"bind","brief":"

                          called by the WebGL renderer when a compositor become the current one

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZxnhOnpFlAbEDBG4AD_67","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"JHa6UgRck8VUCYWPJYppe","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":"vIyoBoLUm-H0gBzvyop9z","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":"jmxp8ikUaLjQl8c5G-Gig","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":"0ns-x8_9dc9ETwjZXWQ9b","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":"ZqChoSHEAV_nw1ecTWGuB","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":"avmw7EidnHdAfOCXhcwVs","name":"attributes","brief":"","scope":"instance","see":["WebGLCompositor.addAttribute"],"type":"PropertyDoc","description":"

                          an array of vertex attribute properties

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TDVOzOESdPoafE-uHTvla","name":"currentShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the shader currently used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hf-evxoLSQXqcYB40k20v","name":"defaultShader","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the default shader created by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"C75Ia_ROqugjEWGCfJ59h","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":"76-XDKZN_zW0TKmGLC4jF","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":"YQKzn9tTDakHObRAGRoQ5","name":"vertexData","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          the vertex data buffer used by this compositor

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gNkHA3_WjstwdpAmYawPz","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":"7iZGAldnGzn1U4dXnfevH","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":"pmO8eR_xU43O0DNzXeuZR","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":"Tdg4ew4ggMEQK4qNk8rXD","name":"bind","brief":"

                          called by the WebGL renderer when a compositor become the current one

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XPTZIiD0GJScUgEFGHaI1","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":"atPKqiSEichFuLCwNC9vI","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"UAkvMYr-vKVmK0GkU8Qf-","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":"GHlfUnyCdIXd-Z18ne3pK","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":"GMVL3i-Z5A_Gk29t24lGl","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":"Ymg5ZYwKxB82K6K1HZQQw","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":"Q6SKjJaKGLoFo_wgezmC6","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":"QGgIO_930h9eDRJotzc1E","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":"nX0Yh1hF_h6pRvMlCVvDl","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":"Qg6tCNodI6v_AZBFBq-8w","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":"arjuDIgBcgBryzSOw4Pj7","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":"V3IIfyRuMojqUB9P8-O2P","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":"_zsT055bUZ6Lfw6WbtUKM","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":"8KNxhcIN42w4mSVi4P2Es","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":"Ov9NqlVBrebRKBEdjl2V3","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":"T9SC0aYr1X-4q_pUaKus_","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":"GCfY8OrXEUJQ2HmEeWQ6V","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":"zOnpwHsG_3W8u04Xh_IYA","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":"wr5NQYkJDlyJ-kxXb3QRQ","name":"Rect","brief":"","type":"ClassDoc","description":"

                          a rectangle Object

                          ","params":[],"returns":[],"extends":["Polygon"],"implements":[],"members":[{"id":"aLBbeexLFwdiSoLwpAfbd","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"0Au_f6rwH-BhOhN_Acz8D","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"T1sCD6ZBK9salt1x-TKBg","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IOJN1gVu6uazaOVOylgrF","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HNX-lQ1c6FGBVVAf8TVGh","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i3tcH_0WEK4IzH442YFzj","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":"HsR0ODrkPsxztt6rwfEvf","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BG18HCDgLfMfObb9J_cGG","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nwtNRmVt05o3nTA__eRy8","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dJbAVhJ4aQPFw1bydycJ2","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OnsUU1I1VVqzTOO5vbpfy","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":"H-4EV66Y4myWwzwb34qHD","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":"CZJ4yVr0dIH_BYmCAJd0L","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":"qfw3skYsb8aOL2vwf-ot6","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":"bWUBrc_vr_Hwgp3UVXn1-","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":"x3U4lcXLcLkT8XbziBQ06","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":"vnGJjGku3o3TzvVkw4HFd","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":"d1OTf9H0V89YlEViny0Xn","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":"vFwm3oHcqP10Se3SSysgN","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":"01OdwpjG-UeRwjsPqICXp","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":"_ZD-MX7a76G2Z3_M8RWHw","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":"kzhlQkktxJah_nGEKQ_oa","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":"ZU_SGzm27E3xQbc5OjXMC","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":"UhnadCC1gKef37Y8c_S5b","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":"BaXVs4ycMpp80EfqMnjS5","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":"Hkib-4JzDE-fEw6Rcw1Tz","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":"6A9Z-HW9a8FyjjmrDjwyi","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":"fDq9CtUqy0E1-gVBjqCqN","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":"Qw-XKlxbtp3Q6vXsymTCe","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":"TPloYp_mb6A3Cfi1PALkj","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":"DupCm4ba0k9QBa8rAgW9i","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":"5vUDhfyUxCfpJ4lqkcP-V","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":"D153DEwS-A-pPTRpLDCZg","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":"TBnrzVjyyBwlASwM8efaf","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":"XQ3FEQDffjeig-dFnbEhx","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":"82_xd1ahCBUua-ES6rpJe","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":"XPIg02hJzuPbSEKVpRuSN","name":"Renderable","brief":"","type":"ClassDoc","description":"

                          A base class for renderable objects.

                          ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"iB0cRrqmjUfRy39_H0RS6","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":"4U_0HG_6_qgdllXNXM1JT","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":"FQQStG1AA_Ak9eaTeoadz","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":"RKrgLe-dFAEZGr2S-9DGe","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":"2ny8tL7FjhP2W2t7_z7lI","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":"BuHMEM8jaMenf0yx5WdT-","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":"ZLGaY0hefEDIWadejPRxf","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":"EmYzQ90_gaFlOV-4siWLc","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XRol6Fbm2pjRUu2NzcVO4","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DsuQMp9puJ-5XdLCww-FW","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SHondBtuOwcECT7fjJ6lj","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5g1FpFEq0koXfxXwfYsq_","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gel2qffmvt4QFhybHjwH6","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":"RDOkT6pTlMwVHzEiJ74FM","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":"rabwwIEctDxZFamuviwYj","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NKsNSncsOVUiAjhkr5BCn","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":"jP-PccFMxzaXrYRDtl4Iw","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":"CyQtCIOInGnnxpSEfjUBZ","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":"33U27Iu_ZSWUR3kn9hKew","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":"oHUUrW0sWHTTX3hmWr4n3","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":"_OLN6kzN7C0QTgJlYKist","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":"mx5FQyzN9FLrD7IZ2Aftr","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MFvuDwFLn6qf-SFCsiHBO","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mnhug7MvXG9y2PTzE1WKS","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":"HCx3IX9U2AJplBxkuPwqS","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3MHIeGzfhOUM0Ch104_pM","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":"FM2MBP-tSWWewmCzisTAq","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":"vPLWeqBBLvOy_gNmCpwJK","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":"Z12ZjicDD4AWty0oekh1f","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"U3jdGH37rBpX6QhSqdU9x","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fOW1YWJzY_k9PSS6ktlDM","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":"h-9ciW7m6OTT4oPpXF4e4","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":"3m4f95VBqLbAKUm400O9I","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OnBHKPCO-qXo7GX8OX92g","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"X5E2Ui7UO_yPonitwrjuS","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":"uM4zaudkGk1uGDaIOMlva","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FGtCk-0SAhqv0axDJtT5y","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":"oQOFP7-tHk_YXZQG3fXmZ","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":"fr9uvLrSKMVByrFHr2Lfn","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":"nbviEdcf5joKfayOC5c0J","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":"P7S40SRi7plr_8v5Vcna9","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":"fxnG6xsVIrRtrC6-jJlRJ","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":"1JC3pWrQpXZG5AJ8nJWxp","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":"Ncu_viLpZte7qKLb5EFos","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":"54w0HVc3p3uk7fP6MOQRc","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":"NDG2KRPshHiG54EVwyIiE","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":"Xtcd5WC96F35R-RAhdFtr","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":"PP5sEvFtofhhI6CuYSJJq","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":"HZ9m2OOAqknFe6HqINpkN","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":"A8TzVsht9M9lndZu6Yp3V","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":"X1zDkCLSm6sMQAySqOpku","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":"soIIFYbBZElQA1Xx4Z7uT","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":"2JBFz3oUmqERa19bCEfEV","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":"6kIUzJOr3jDtcO9m4bUoh","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":"fA5yTxayqIcVjMwM8lJQA","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":"6DjJac_RnLoPxoezJ-MhH","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i7K98B9g6wqmGo32oInjU","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":"c7-3FKqV1f4WG7wvWKK5D","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":"QpxhA71vxe5bASGJNi4XE","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":"SW8sfj7hyHDyEX9hQTthW","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":"gsk9Wag4r1q8jJjo1Pc8Y","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":"AwXuWZEpP3uVMteMQHUPs","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":"LxEeDUmb3ZPKB1cc33lNC","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":"glwjWfnVVo8XH0oksiFV5","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":"KVhnXShx00hIqX2lJ8Yqp","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":"t7N0Gy69UytaScMk9RGvG","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":"BUW-Nri9IFR0JCBk9JNR2","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":"3jGNN-28mRY_JoERecr2V","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":"SvMtnWSRMh6g-KgIUarUc","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":"HZRhMr03aN2mkRck4aXvD","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":"Q9guhdeZhntRwsdYagZYo","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":"lGsEoImY420ztXyRfhDtF","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":"1oeKtkNTgYw7UrVu5WGH3","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":"QYP6cl3TK-ygME1EhwWTT","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":"zOOBZWGfgtRj3CKrsDW0v","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":"70NJAsAY9I4jr_rTIH1r0","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":"N3RJxRJxM7O51bYwTGTC0","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":"_rt4rl8nVjG9X3lB1cUsj","name":"Renderer","brief":"","type":"ClassDoc","description":"

                          a base renderer object

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"FBok0GZemX-KSpiRD6H2D","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":"HQaGVmL9pdvTK6AqArJpb","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"MMUI2YUnDltTEq6hPHUtS","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":"qPcOvv68pD3-FdsR4iffe","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"J_tDV1B9eg-1kQYz3a8hK","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":"ti4O39ktuADlTNNa6yLlq","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]}]},{"id":"v2ZYHl8IoDtOHdk_sYu6z","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

                          the default method to sort object ("sorting", "z-buffer")

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Dde6wBC2sS2Kumozm6mJc","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          the requested video size ratio

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pE2KFM3e26AI7t5OKIwie","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":"b9jO2JFNwgQDUydIiwp4Y","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                          true if the current rendering context is valid

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jn4dhUsigXqoeql9YNeaC","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The Path2D instance used by the renderer to draw primitives

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yq_614htv3V0lnFRfzHi_","name":"renderTarget","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          The renderer renderTarget

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kcCIuIjFU3k4Ft02KbCGO","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":"bANCLb-pVJZqYQeF_BV3W","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The given constructor options

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8F5zGg8V3YqzXiJZRMely","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":"wdPmq7RjE7cFHZooBMZp_","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":"6Yar6bwIefJubuQwXp7yE","name":"clear","brief":"

                          prepare the framebuffer for drawing a new frame

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NVS1Ph0uP23npbH6h3Eep","name":"clearMask","brief":"","scope":"instance","see":["Renderer#setMask"],"type":"MethodDoc","description":"

                          disable (remove) the rendering mask set through setMask.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"x5K9Od4KxWdnf1HNYuD8J","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

                          clear the rendering tint set through setTint.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"E_cQVN85em0oT3pwrZWbG","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":"a1kSGdCJIclcXxjIKNNeh","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":"J2OGwBx4BgVUdF3zG-gVp","name":"flush","brief":"

                          render the main framebuffer on screen

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TvA61c3OPgpbudEciTSuA","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":"hei6C7A7-Q6-rXo812tsA","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":"24xsYFqkCQu8R90cUZxgH","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":"jpYDzWHIptKDqJBqLgjnm","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":"jnZf1oYN6hN8yqEMxxbph","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":"k_94rAtloGT8pXFY5swyi","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":"lFDLQ9vnZ-I0_RSGnwzL0","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":"6cvHJe1Gfrd_TTBkJBpWb","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":"xegt3fG1nrMNBA4LqhMuB","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":"RYa9C-g5LM_zEWVCIpO70","name":"reset","brief":"

                          Reset context state

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"enP4lscqYgsoE_c4y3mY3","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":"adCdzzYmvtQbzk8tRYVp8","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":"_Pzo_TwmRT0La2BtSgKhT","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":"oEgXRWZ-mpJj6uo2qwGc8","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":"UoiIQO6D0aXd9UCe23FNm","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":"3YaYrRNEeOVV6X4TiOWA6","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":"mHpjii4DLUzF5zNsv71wg","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":"i5VeMt1nLWBn8VTgejhiO","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":"3g7bnsGsiNWenMTAUXOmc","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":"upZpNzZYa6jRWwOsGTLHH","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":"bW6Aw-SdiviBgArlWFpGI","name":"ResponseObject","brief":"","access":"public","type":"ClassDoc","description":"

                          An object representing the result of an intersection.

                          ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"1ktnTidn4XTOF0sjJipZp","name":"a","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The first object participating in the intersection

                          "},{"id":"vKGe11ozP4MrPG5-aixbV","name":"aInB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Whether the first object is entirely inside the second

                          "},{"id":"dvjJ2Wka4VOblUXqrmT-w","name":"b","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The second object participating in the intersection

                          "},{"id":"vBYSiZNRgOPfYSbxTIXAi","name":"bInA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Whether the second object is entirely inside the first

                          "},{"id":"_qvadpZhYH86GJJIZpUKx","name":"indexShapeA","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The index of the colliding shape for the object a body

                          "},{"id":"ADMClpXyYAsM_btDbDWPR","name":"indexShapeB","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The index of the colliding shape for the object b body

                          "},{"id":"bRv62gHX5btk4uKXg7WVf","name":"overlap","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Magnitude of the overlap on the shortest colliding axis

                          "},{"id":"iEg_EHVE2yKPkA1PWBjCT","name":"overlapN","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The shortest colliding axis (unit-vector)

                          "},{"id":"Acxe9AjdZLQPA6qKlSpEM","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":"bo4_eRlnJiFlOsVggIbHc","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":"Z4Cba4S9hsKt4xqkyHBTs","name":"RoundRect","brief":"","type":"ClassDoc","description":"

                          a rectangle object with rounded corners

                          ","params":[],"returns":[],"extends":["Rect"],"implements":[],"members":[{"id":"YpYbTEvCCQA9X44uiSIiz","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Qbq6LoQFugbmhQ1I75gDx","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e3GICzfxzdS5HPcwfPjRR","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8fDqUGo9Ly_8g8LZKG140","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mK9ZQ0vYYy15WNcCWGbci","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Tpd5j1Iki2bu2mK8aovDX","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":"KC__dt7Iif3KUBWbbjv2y","name":"pos","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          origin point of the Polygon

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I74jy8yA7tXHjuh9ClmOb","name":"radius","brief":"","defaultValue":"20","scope":"instance","type":"PropertyDoc","description":"

                          the radius of the rounded corner

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7d8G6FqQAy0nmfX9jQbBb","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"P5IAz3a1p5KMjgARIM5Ep","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ppv6AJ4hU2hVG4n-lHTDx","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uh7nab7ICnBDSW51_idXf","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":"DO2-9yKV0eWtHpxBC55cp","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":"D2B6dWrj0SS_6a7z7_tHw","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":"7BZsYqrRK5hMDScc7ppic","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":"J5pCPcTbm9HEQeqw7-GTi","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":"ttuu_l-ZS1F-Norlab8yp","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":"v3474jtWGH_Znm227jMRi","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":"0RcRonLkNqdJzyHJsvNtX","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":"VeVyT0NX_KfZhMKxBDk3f","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":"4S4ROd5yaZTh6ISywDSjs","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":"x_f7XxE8hdeNLs-uIX3m_","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":"2vnVw5E4TTe83acO97GMf","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":"MpeOy8P2pIHuxDDwtroDR","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":"9B3e0nlfFYMrK3HJ06h4H","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":"nq-yt-gVsSG4HPrfH-kP0","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":"JuWk7MOhKTZ5CqCfW41K-","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":"ASFhrLf1nYThj5JL5nJ9e","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":"Jmc9z4yC5rnLCQeMf7T4S","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":"585JcLVnxJT0h2Dy3DLqa","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":"sMMT4c3Svt6tP7oo743IM","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":"2XAyGa3zn4n8H_kQwTpu7","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":"LH5LuALphSsVzTxltxKlv","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":"4QctXGK1ucmMgJr79wd0K","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":"TKgBdaMoaRyjwOkZPCOJ8","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":"BITOP14MTowNPGQx0mfq9","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":"lrM_HHtm39FK6SiYQEGKP","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":"UYbI4MyZOFDkCM7bpPK5Z","name":"Sprite","brief":"","type":"ClassDoc","description":"

                          An object to display a fixed or animated sprite on screen.

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"kz-7Wo6lkCPUoCa-gUMyC","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":"4em8iFksyEEXToUKGoR-3","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":"r6SqmTu6vCSa7QgGpYJEI","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":"jf-VFIL8FTe6Ks2SyfUqo","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":"KAc0n_5i38jK7AKd19b1w","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IPXgDgPnDsQysBdZHsw09","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                          animation cycling speed (delay between frame in ms)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O_UoLrLJtu5oodgU89UiF","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":"QbvQznKi4G-xvTDhWqx24","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":"BaAK4sz0YN7-w7NNwIIPy","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-J1OCd7qN3XRnFG9SKbs","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5EyeGO5EoKuvQNLyaqrEI","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4h5lgQHaYIU0gZsNQEL4i","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"aEFDTOobU1YXAb1S97hk1","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mzkq1pthaDILcEARp0e1q","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9CdzgsoPAE3vP_wajZKy1","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":"rkfOQA45-36ljkCfuDHdE","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":"UJ4nsn77_CqkM7HVQX9CW","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kKA_mNS2EzFm9Qge8TMTT","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":"6Q_eCRsb90kxf4lK5Ik0b","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":"Avr2GRcRcmsjickPyyGjP","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":"uctDAHdiAN6O0_w7jUljj","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":"-t21sAY9f2t4Rmq6mKgau","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":"9a2ukQV_fnNtqalvLgYst","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":"eBv5DiIwPNG7w4M663zzl","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_v-EbDkX-b3MFIDiNJ8CI","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":"3CHRrVqwySIezmj5ngVvD","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xVtvcBkgbCA1KzOn1fzzZ","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":"66efOrh6FZrS0tRiQXumc","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EcZ6p8Q43xbPveXUtXvA0","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":"QNy9CgQo4fXh04mYZbFIK","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":"Vo0XRRH1gXinu-jgTXr9d","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":"wkGowdXFAH0UgpAsCrNG7","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":"kIJNzr34NB-RA9kpRL3lt","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zp3KCvhptyTidzJEse6JN","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GfitQKX9ZL02X0r9PD-Yj","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":"UUnbwQwffbdsvyiTc0WjR","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                          The source texture object this sprite object is using

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RlLarvcE_WL3oiSpsP9Or","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":"ijXE9dXuqB3l6amVRPeER","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

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

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rnCMt7GiBBtWNoyuimAqM","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":"4pdCk59cmk0NU2wd_hpIW","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xBlL--10zsAAyIQje76Ge","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":"XIYioPXUYKYRCxseMs-As","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":"Q9KIeojvq_2f-a7xOUF6T","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":"jBlYYw6UxDeG7rYS7jThM","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":"4LdpdbU1FECRxlwNsSa3T","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":"yI_1u7PwZx4z8LbuOoCKN","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":"hW7tHNA-5yHz84rgzI3VF","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":"UfUTW4IF8zkheE2TpS7Q1","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":"OaJYPbtCO060TNvo9oZOI","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":"THFcVwRLV4fIqxeJqXfCG","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":"oxUMM-4k-YXXaMvOxUFKo","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":"BsezgT1fD3w3MhBa_OK4c","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":"vYA56BFFUhVtbZSFE44ua","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":"k0a2WuvXXEQ9xNvPZXyTC","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":"Gmf5PfoZqn6mGcHIz-8pl","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":"hVccV1H9cJL2b7ey895YR","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":"g2a0UCbh7cOHT_ZQnyl5T","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":"j4ndjIENkJqTtkRh8lCcy","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":"rrf6wvz5KosgMypv6f-9e","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":"97TMimoEkgLlV13U4bTrt","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":"O8SNs897ZM6fiSOu_y8fp","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":"dPxQdUJ15LoWaOTZ0x6Ve","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":"iPoOSvZIFFFmiihnEI2uJ","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":"RpVFrS10luBHrOFVsn2PC","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9gyJIIDxpzrBiwddXWcel","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":"igbpfozrD6nsvJVprR3Gx","name":"pause","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"r4FJHsl1dCXtVFogO9bZ_","name":"play","brief":"

                          play or resume the current animation or video

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lII2rmePDlc6mdar_Rxgt","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":"B51Vtixw0XHQ9PRfmXJwK","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":"3ZZw_vbhs5UmHDfu8Jjzl","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":"3UNexx2w2oaUOjhcWT-U2","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":"CoqYDGoWzzCoNtafH8jrT","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":"90l0lgosT_oHf0WK7eIpP","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":"p1Wl8MY-FR9EBN8v-KDbm","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":"MQF1EVFBELU98LEcLDqqj","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":"jJnSCqB9Oswh8TlNkTK_x","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":"vJspuHkpvXHXN2pGQ8FdC","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":"g7lS29_aMx7HXyOf5H5I1","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":"DfGWlPYLBaBfNOoE-Lm7n","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":"cC2dsHvrRcKmEYLe63pzt","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":"n9rOA9_xZysgye5B341k_","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":"9DLpNM8HQoVM_h6Rd0o_R","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":"063ev8KbHfw_4j27hTMMF","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":"vrHlAOUiHWhgU49oIk8_8","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":"VasNrn5MjF4WfNuvA6BsC","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":"p1ddnOPkoFSSxsLBNSTNu","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":"hDth0VVxcBhKh4IM-WeNy","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":"DbMZ1-h4hLm-g8ThL1_0u","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":"rbhtOlbT0Qm5lo_eX8dZk","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":"TgcmtUpj__mjuneXoSUzm","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":"qFohW-nYXnvc0zmeEIaMu","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":"zs5yigOIWbGVimUgJli2k","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":"G2bbNecBKBOrNH_EbWtTN","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":"hWAWOVUdKZZPiSLpkep05","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":"HRvxc4BzkAigugjDquT78","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":"8Bw6qd-ZKdifpfpwXdyu-","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":"TYd1B5uGxFXGiWtQj82FI","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          The given constructor options

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bJSdDFAxct6jaYaMztjOa","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":"ana4RRnm5V5Mp8tiClgs3","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":"1xKTEiuB1dEtNVu6BTgfc","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":"args","optional":true,"description":"

                          optional arguments passed when switching state

                          ","dataType":{"tokens":[{"value":"unknown","kind":"canonical"}],"template":"unknown"}}],"returns":[],"extends":[],"implements":[]}]},{"id":"1NfZxIxAfvuQSr7QNmD1M","name":"Text","brief":"","type":"ClassDoc","description":"

                          a generic system font object.

                          ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"w5P2paFAs4j6DIZ_X8DoF","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":"sKCRm6k8F51AlhRLW1tQH","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":"QzEqcahak9ygKSAc5C6_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":"yfRHQEpdfaU-j2ex16s2B","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":"cQu_MOf-WnV9IJwuVrpVc","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":"XeIe_jIaGktt00wLb0JLY","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":"VpUeUQdgtxuXJLj0btmJi","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":"2cr3qZTYKzm0BGz4OX5yQ","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gV53Dk27BBFcYRiYCMmOD","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the horizontal axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bpYp9wi2qCg5eBUax5EJJ","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          absolute center of this rectangle on the vertical axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"quYPL4liwAbg5MRNgHcb7","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the renderable default transformation matrix

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4guZTIrVgwgheFoORtUWa","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          the depth of this renderable on the z axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"vmb76ZkZ34iJNEgkgRW6U","name":"fillStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

                          defines the color used to draw the font.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gdvCT2L5h00vP0YXBKJWs","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":"aWZfk5Q1hmIk7wSsNm8gz","name":"fontSize","brief":"","defaultValue":"10","scope":"instance","type":"PropertyDoc","description":"

                          the font size (in px)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZTkLevlexqie5p9rcUosI","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":"xeGaD5xj3IQgjzf46361j","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          height of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IHaqH3vJkywsZW2z4e1Uy","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":"TZhOa55TyLVNmcxt9oQkl","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":"S3uBW3lRtxS-b-tY0J0JS","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":"KXF2HHvKnc-G61W9ZrNBS","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":"k2COioBNNNvx9qMj6IO0l","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":"J7v85ogEHHE8BKonYCEtv","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":"cvATeiWP6ahBUr-cy6-3I","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                          make the renderable object persistent over level changes

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qni6nUCad-_JibEQx6EUp","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"cVvocBM2nKFQ73T5hqvw3","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":"pW2A3pjpopnWEZzrsdGFc","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":"dUu6W9ArjDWC4oqMZqBFe","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":"FJlQTdACmcrjL9s_zzT8K","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                          The name of the renderable

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QC7PzE66RsMjG89BPiHwU","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":"fnEgx7UgA3Nfvo31f7jRZ","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":"cotfcoPhvfS9b_jfjdzlr","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":"P5CF92ft0U0MmVBhm-FlS","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                          Position of the Renderable relative to its parent container

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xbHEoJe0xtq1tQXpnJmFP","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GtzW76KyQxY0eej0SjHnH","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":"DDHmQp9MBXLGkFZ80Ql_6","name":"strokeStyle","brief":"","defaultValue":"black","scope":"instance","type":"PropertyDoc","description":"

                          defines the color used to draw the font stroke.

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dgjMhs4-wRq75wgYmbG_M","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":"9O99m8qLyjd_aRzyh4HPn","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":"ooraH_hVrZcsJRB6ReriH","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":"TPJrHERvlmuDUs2vHrhhN","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ai-XuBT1Rmk6K2IxqzVBl","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                          the shape type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s_Ea-Ff6IYm1HjmM4c1KM","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":"VnG82l6Tjx2XEkTRXWkD9","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the Rectangle

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VL5eWlniOMKl98zJNNuJI","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":"JugwRjhb2mK7Rn9YlxdNc","name":"_text","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                          the text to be displayed

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uqXt4NSW1a30C9xQVfd_m","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":"dL0461WYHTJUj9WDHh5EL","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":"gbuQ-7rGesPL9j3rcSe5P","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":"GFVft6WUdJBzhkaRhTWQu","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":"ffYzhuDeHxkk1AprTjkxu","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":"nT3fWQlC6Puj3lvBnZeso","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":"9HpT42FfrEza7_QU-6vkD","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":"HiPZsP2Sni52oxvMs1Nj1","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":"q68X9WCQXWkO_XL2imgN0","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":"qQB59daa3j8PDHCMBzqmI","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":"B7Lhw5z83rsVVFhEZ1Lyb","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":"aJsEQzPuriJiDtZKaz4RT","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":"gW_IGEdiKe3ijIzoF4oEV","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":"kUA924Y91xACWUcdR-j8s","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":"K__lxHx2VwDFrmkZ-hQf5","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":"fSfKsXf4QK9Vwc7hX3ilS","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":"X4btDun0UYU5ps8drgMUu","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":"7ZZfA-pkbWpBUGvnghk0r","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":"Ck2qhiGHY0OKqEoJNivyI","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":"mBz5qVH_46YGPBImhi2yJ","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":"LFMLirkw6_mz9GVmciJ1s","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":"mgfCjTEKqhsFcarrGtX59","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":"dEB8lRGuhZbZFuXozu6-u","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":"Y_qnP8S4Dh883JcEeEqA-","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                          OnDestroy Notification function
                          \nCalled by engine before deleting the object

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JWSyW-SQ5Tr49xgn0CT8d","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":"aDchb37f8dz6g-tA3l_vn","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":"-trHIVJ7ELY2ya5Q_zwpN","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":"vpyT3fYzJlDKQKwfvMRVi","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":"xy0Yb5EGlmaCL1bQaApMp","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":"KxDbc-3qiXOqvf0lXvAVY","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":"nfFH1W_HNGFSlb2nqU7jp","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":"cRjpt8pegWMt0FBGw9xBg","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":"G2nM4pMviKaN3YqNLYydl","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":"bqBQxieeiMkFNqv4G9B1M","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":"4gKC5Iac2bVqpB6PCtoqU","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":"O5rT9g8m348vYnD5i7g6f","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":"6U31-iJkNo4x1xpOivqxT","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":"il2S-wzCM3FQ7PMu7cun8","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":"KYdS88P1AtCu5Fa6S3RDs","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":"aXjpTUNnH-BPy_Aii6Q4Z","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":"LBztxJUF5mVey0nUDUraK","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":"XFU3O5Q8Hfbe-HoUHFp9Z","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":"A0Z4f6auR9YS66PGwQ-ha","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":"71bZW4FCTqcEsxMHn3lid","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":"7gD4k0Rfdw5AUdujO9R7P","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":"QKizx566NJUn9o60Czdep","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":"7e0v5yWXr7to-w21PPSfQ","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":"BtVS8Sbi8ATyLfKSa9k9a","name":"TextMetrics","brief":"","type":"ClassDoc","description":"

                          a Text Metrics object that contains helper for text manipulation

                          ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"CF3rKkx2xsVVaXtGQ3YUL","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":"211V9sFgRvkyDcRs8MDCE","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          bottom coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BJ0vsaCxapisD0CHBname","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          return the center position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V7o85x6xh7ZumgFCpYpRT","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the x axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"z72x-_-IF_S1w_FwrCuV9","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          center position of the bound on the y axis

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qIsc6t57_5aP_7xqP6rjC","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mDeBWAvP8NikhTG9DYUeg","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          left coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RKz8g8hOzq-CPB9Uq-HSD","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          right coordinate of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lQkz5oa0JGqYsSoCXOefj","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          top coordinate of the bound

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

                          the object type (used internally)

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xc0S5Mo_incyd3C2dIRSg","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          width of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"AHw0lSCq0-6r7krEEqYQf","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          x position of the bound

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kvH1-hSrATJdzlskSKmwj","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                          y position of the bounds

                          ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DTK2i5SblYh59PkOPtDdU","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":"SKNu4YhjTB_temGXRGpL0","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":"cuyGpzg4-33H67tJ2QLOc","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":"PmrImsbGJ2EIbB4f4HrRz","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":"XgevIT37pxkGDzmseEAcm","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":"VlTjCXc24D4ibaUnXav4I","name":"clear","brief":"

                          reset the bound

                          ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"1Vghv_J9vYdYsSkj9_IqC","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":"7XBFmSsKjWFlQ3eP-OPrK","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":"LrSDE1yibzI6q3bjrUBx4","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":"43Qu06WTsqgFkAmLH5-Ma","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":"UJytvsRP0LZ42bH1E8AjI","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":"36lhX7WYMP61AolsHR2Jf","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":"Z4tf_GJ-RNwHHUOkBem04","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":"-m0p5J6SCf18yjZLn958f","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":"bn5gswydDg3LfH9mIs3tQ","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":"RgAgIENVy6y7mATH2t7Lr","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":"sFhChS6Efa_GuJRhXNvCW","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":"TUvAzM1-JNN6bk4Ic7Nak","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":"Gw3SGrvw8xQSGahvw_JMD","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":"2ZtzbDn8WIf0FQvCfJX3l","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":"BpDS8Q6pAgN-x13QdjHHr","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":"Ko0HUDSjR9Ac4-QLme1kQ","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":"O1qxkuhPqaBZzjwZT8Ha5","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":"RE6tZDXYPb3AuVGrZHgDk","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":"HcziFUx1qMH0v9JN6mHkw","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":true,"description":"

                            list of names for each sprite (if not specified all defined names/entries in the atlas will be added)\n(when manually creat...","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":"MauFCE4t7IqytLCJgMJoR","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":"PBeugYEMu_d5m_UWQiRW3","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":"LmfXLHW2zbQvsRDTbOwsf","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":"BgMK6x7SvNc_qknzOZrIc","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":"X2K8QmbhOL5koc5uXjXTR","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":"jhtjI2vBT9lty18A9ZLDX","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":"sCHc9AOzhNhwEwkphotJZ","name":"Tile","brief":"","type":"ClassDoc","description":"

                            a basic tile object

                            ","params":[],"returns":[],"extends":["Bounds"],"implements":[],"members":[{"id":"Eht1IPZGMY2OkVaSx6zmK","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nntzfvLKcyk2lA93EfGLz","name":"center","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            return the center position of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bDNi7Nwazl3_368UZ2ov_","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            center position of the bound on the x axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EpzL3flBM-qfsFGHeV26b","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            center position of the bound on the y axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hPVybxWYiQiFTDHYe2jFX","name":"flipped","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            Global flag that indicates if the tile is flipped

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WZVHwlpmUCzRrunhUoGGy","name":"flippedAD","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            True if the tile is flipped anti-diagonally

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FmRdzoRvumYCBkZtOEV4B","name":"flippedX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            True if the tile is flipped horizontally

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bi3PNDRDrG3HPoEBAdkaG","name":"flippedY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            True if the tile is flipped vertically

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5NKBjQ26mBpM2bcDW5ejD","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bTYZIAiwzk9Gie17dzfbA","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"BIP5isccT2Sy4e_xkJZtG","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"EDdCgL2Lk3o42J8lYoE5i","name":"tileId","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            tileId

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Zu9ugMr3gl8MmCDty7492","name":"tileset","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            tileset

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Z4-kvT9hOt5Lke7QhFrD_","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the bound

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

                            the object type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DGWqwStEZqTXqY7oU0rEv","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Re_4z0Eq5A5ftsViNtJKb","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            x position of the bound

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8b0v82APGnJ5M63xgC4kn","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            y position of the bounds

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gdHeNLgtKowtHHojwFGJt","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":"9ymY8RSmrP6tZW-68H53P","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":"Da4TVU6MmCNlAw4gAGyBb","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":"sWdLh_HqlupQMIdsHcYs-","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":"DtaFM4zI333UzeC2GGDbN","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":"_XjNj8C7rVvoocYhZdwRV","name":"clear","brief":"

                            reset the bound

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6pptAJe9PKQIiSY4Hbv1D","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":"aNC0mO52McOuOtDYRz188","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":"6oguVjo5tCuQFGQQf6cQ-","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":"5U2AuyWMZNcu_jvv8CsBZ","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":"kMniiB2RsyfMOdsoC8poU","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":"coCTxpBl5RORJBHUU6N6A","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":"JwZ7AMFhmLVsUaGgGwu_1","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":"197YVGCjA1OaWAu63b9WC","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":"fSKDjHfLGRNJFVee6Zczb","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":"F_TJJW6JHTuyoMdtItvo3","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":"R6NlOsr8_dGgTGu9rqEvX","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":"OiLRN0gD4E8bIM72--tNU","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":"gaOjUux4tmwZe_URUsYfN","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":"JkIKXeXxBLaNPFn_vlyr9","name":"interpolation","brief":"","defaultValue":"false","scope":"instance","see":["tick"],"type":"PropertyDoc","description":"

                            Enable/disable frame interpolation

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H_UYgac4lZoVRN4grbcOQ","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":"0Ht5wbixVMyNzRe2K-Zpc","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":"xJ1TUdTkHWfoMaLz1Lx1P","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":"WexCSLi6Ybo6R63KV9zpv","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":"CU3syzKj8HXN-0Hr_HUxR","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":"Xs8SaqovVj72SCuvU1Aue","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":"bdO_czBEowy_8OhMDqz81","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":"6fp72q-AvI154GlpehXua","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":"IJA3-_FrFjY95LDoyH1p8","name":"TMXHexagonalRenderer","brief":"","type":"ClassDoc","description":"

                            an Hexagonal Map Renderder

                            ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"cba4WsrTFj_FHXXbQ34hD","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":"NLpy8a42CGVuQRpnX0R3e","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":"il_XMnO9EEyr3QcnTQ8GG","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":"iCbzE_EKSWwi90wc5C7Ck","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":"uzB6pEAzbwLPPlD1d4-uI","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":"jMqGO6F2tIIt60fu3wF17","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":"cIWpJrO7vkFs_b2NApN7a","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":"3ILXqwXqxI4kZmeNp6ROk","name":"TMXIsometricRenderer","brief":"","type":"ClassDoc","description":"

                            an Isometric Map Renderder

                            ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"dsSwlMU1xP1O18DnZs7X4","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":"tGwuHLWtgw33XHwvpsVZm","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":"CbcFLQiDFCRnmvuLVUF7j","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":"Nn_E87CHd5QWPLD6zbG5x","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":"z_175faJUs0Xno-8fu46m","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":"ZRXdcgYvpoBvW04JUGDV3","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":"Fj2zT02qkFhewr-q6YU1o","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":"CS7B6WAVGAXosOrOReqye","name":"TMXLayer","brief":"","type":"ClassDoc","description":"

                            a TMX Tile Layer Object\nTiled QT 0.7.x format

                            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"o5kOQzdckpEmPuCGt0cIN","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":"5qbjIeEMk6oCi3DmoTFka","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":"xAaplwS9Ue1UFPiJW8JI_","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":"ljX71mdfOFiHz3xepbyNj","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":"sVSOg6P_qsNXd0sH0x8ER","name":"animatedTilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            All animated tilesets in this layer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"H1YKsdzSF2cr64zUCZ07q","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":"iQ7oybUpJCYjX7-ttsJNi","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":"qpixXamlx_yc_kWZr9WO5","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":"iIVLmh3FJagkvnh3jjwUf","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"h1LXCQM8tuP6_pjaMT96H","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"gkPAs9lT_EzBm4vlbXoxf","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mZk_zKEiBT6hEHE5Ajam3","name":"class","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the layer class

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"SsZV4beBnc-jVEQzkRi4P","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JoHgVy5ItNHswxvDSX9_u","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HQjpMD8EPbq1wbubD7a-Y","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":"0uf9MpF24ik3ABCpoLL_t","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":"cWM54RTtW6zcDqz_SX-6Y","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mX-yHXMggTMu4E6A8vK4q","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":"iOxQyt-5V_TKLMPUTM1gw","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Layer contains tileset animations

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ju8x_d-nueEujATLAlqrd","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":"BgcA-Mdfeifpf51l-Dlpf","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":"52pXA5P9qmx5BmTqeMY_l","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":"B5f9g8E0t7LSWrRpH-d74","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":"Qhste27xrqR8ImrX3mQNH","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":"-sQOV6z2lukJzo2IF93ZC","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bLkG7AvT1eR9WIObHTS-g","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_47gWPp0mQlEujr82wxVg","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":"Kghw8QfiEPiMKmSOUNZgE","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uhuS1R7WHCuNOON3ssbXO","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":"7izqqoYtxTva-CNwoJDSt","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":"d1wZ9UidX59BCZ3j6sqNj","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":"lqZqhX8fXICeL7j8vpjnh","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wLaouJc9cJ3DHGiIxRXwu","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":"7gYiFS_MgCk7nd8UzniF-","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"D6lKRkms_3BzC0RgZPDRI","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":"N7Xi-awMUdkT33aCJgNYC","name":"tilesets","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The Layer corresponding Tilesets

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rhyib_vBpWRf25xnM6LYz","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":"TOBpJyNl4cNY1P64TdDOa","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

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

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"MtMJLzbC7a-z0wgnfN-y6","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":"1XHEDAYSqbZyymsQ0_5Wa","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UpvjgQFa7_70dgybXxzQf","name":"x","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            Horizontal layer offset in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"FCgN1MnqBDpImPxvlPm68","name":"y","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            Vertical layer offset in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7ixlSs2xldUXPDn9DliIF","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":"vLkc67_x4HTV3KaGG5mww","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":"uEREFhPgNJkBc2TnRF-uE","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":"9i2zVm37OTvUILyZLmsp6","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":"RutOBuUpuoVuw7yQoKgn9","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":"cbe0QRRF5FND8S4mmrRyc","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":"exFIv5PZ968khv8iJEIey","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":"98F3ILof-BLRzrGgv5NTj","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":"6oWSLYGCQmnHndCsXozt7","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":"kTDDTrrQLiU9NElRK0P2v","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":"ZBWgLGcPPJMdFruV1opxt","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":"dfaBKMor_gswMi1dYUjYA","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":"nEJ0xF5mtwFsAc2VxL6oa","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":"I586BzmIjGTdLDFLFw_d5","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":"WvqTZFMQ_IxXIFyW4NuwX","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":"Uc9lzjEsFrDDMbPYsRK7B","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":"xaJ4wUlyG0up-vbJLm6ze","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":"J3oG1cx9dwiRlqx1P1Pxx","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":"x-XBr-4Qew70p-3t1W4Ye","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":"Z-B2dSZkh9dv0gORtJHqO","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":"QoG_86-v3_0VGHZPBRS4a","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":"hJKsEXKV0ldvBMZ7tWdvL","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":"4oFiG4khl7lqhBndHX2_1","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":"Q7lvHeG3QzjsYNgKsNIpA","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":"n7DxkH7w5lOadi8g8efWs","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":"fvfBHFHmlXXxQqf9hbFyq","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ep7RuWuhR09eUvyKED6jn","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":"u5dP5D4jpJe_IhpvD9Mpj","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":"hNvFnwfrAqYnwFtzTWhlO","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":"xYT_7_waYWW7-qSlW8muu","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":"-Bxux6D-UqSzAr6yVZlKY","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":"-9xHILw0xlHEL2vVXjgJ9","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":"WpQ8caDDJF3-54t7OVhxY","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":"ax8nYw5Ob_MrzonmbTdx7","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":"knFoBB7amKlQANBVuow3q","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":"roWOWnAUHKUDMf3-PlJJJ","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":"VMgRrfRWTZuuC-ybU1pnd","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":"7TP-jAE7YryZhT4Y_yINR","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":"6u8la4mccy54IPLa1QJbz","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":"sDOKHzlKdWvp3KZ3J-de6","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":"HvC8b-whz8rIwLx97zaJO","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":"V5Z9WvUdzw8tjmHdz7KI3","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":"UxEJLJBEy7EQ9El77OwOY","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":"lXgfBNRi6MEDJZXbZ5t6M","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":"yHyxhRZ1Petb677WDtXuY","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":"2wUn-q-8evgD2q6OoU05b","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":"545NLCoopdPFNUO1xQEiP","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":"EKk_tKHdbAx97-iyPSAho","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":"xh9K-nOtI11X76YPx0XkI","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":"FZFZpoJi9lquYcqOKGrjs","name":"TMXOrthogonalRenderer","brief":"","type":"ClassDoc","description":"

                            an Orthogonal Map Renderder

                            ","params":[],"returns":[],"extends":["TMXRenderer"],"implements":[],"members":[{"id":"zcbnJjSrz7ciRHPu0xJsw","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":"odNw8m_6LTWVMcluoa5IS","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":"JhmxFnHYRAM82a__wsKK9","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":"iF9Ttd35ORk0IK-yDW4SM","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":"QTS6nUTZsLAvB6laoedUm","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":"LzUf2RgWKSvm3HlOHv6dB","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":"n2qs-0G_0IM9RCuM7EoX8","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":"utCLeJ14-RJQquXGwnhak","name":"TMXRenderer","brief":"","type":"ClassDoc","description":"

                            The map renderer base class

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"wRPwbEBVd8dfAK6pxVHgC","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":"WEQ6k5N5GXKrw7Y5wqpmM","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":"M6vUA4OgIOfk3sqT9mJ5T","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":"M9rOcvO62jsrrwXd1qqxF","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":"4pk8P5SJJCi7mjM6xOVmc","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":"pBb4j8Y69-4nXRDam5Ytt","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":"il0YCsqC5sLIzwfmwqtDy","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":"MNJk7OCbyxDdR-58M_b48","name":"TMXStaggeredRenderer","type":"ClassDoc","description":"

                            a Staggered Map Renderder

                            ","params":[],"returns":[],"extends":["TMXHexagonalRenderer"],"implements":[],"members":[{"id":"lmLH9K-sm18ZRiKjuTKTd","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":"dK5zotLPk3RLlAWYxsD-o","name":"constructor","brief":"","access":"public","scope":"instance","type":"MethodDoc","params":[],"returns":[]},{"id":"tm5f2iRuKnLXrcKniRPeb","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":"188P6-7kRq3a46uPlf4RA","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":"w9XQM72zB6i5TfPn4vPNK","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":"8JpNB63Wv1sM9cdCE5pYE","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":"Kx9cupZJgfRr_xnUsGb5h","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":"yYtOUDFOwkUN8DLskCsXN","name":"TMXTileMap","brief":"","type":"ClassDoc","description":"

                            a TMX Tile Map Object\nTiled QT +0.7.x format

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

                            The map class.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"s4yOY9NQJW6nFjvJ02yVG","name":"cols","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            width of the tilemap in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"WQ838mOLUy6JVL-LSclSm","name":"infinite","brief":"","defaultValue":"0","scope":"instance","type":"PropertyDoc","description":"

                            is the map an infinite map

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RPHoDIWu7AGeH6_YzZcOW","name":"name","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            name of the tilemap

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"eKZdGe92biL6Thjo0ZgI1","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":"zpvWbq_Kq7t9ThUqMSZNB","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":"9GwBmnpvYinPXzYln9qrF","name":"rows","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            height of the tilemap in tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"_-aYo20PtfVe22PYSCBYy","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":"RaIeCoy0TaT7nV1cq7Fy7","name":"tileheight","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            Tile height

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"y1hLc-MKa6ZqvLD91mYGX","name":"tilewidth","brief":"","defaultValue":"-","scope":"instance","type":"PropertyDoc","description":"

                            Tile width

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

                            the TMX format version

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5emw2OMMxQR5Tr8WGqrHJ","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":"pRnA9ue07g2LJUXJxkcl0","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":"RRMNqTGTrKtwrrIOVa-vL","name":"destroy","brief":"

                            destroy function, clean all allocated objects

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KtXcdBmvPJuRrR0E4PRTN","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":"PMIGh0dNBDKNCuaLuuKTV","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":"gaf1jdnOT8ZmDmz-_TkBc","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":"1aEAlDSZDg53QF7JejNba","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":"wiuxxpDAaM2rBGFc1XMzq","name":"TMXTileset","brief":"","type":"ClassDoc","description":"

                            a TMX Tile Set Object

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

                            the tileset class

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hQGS9mc36fa3TSwyeEm6S","name":"isAnimated","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            Tileset contains animated tiles

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fso0qEmNxVp_unsUqcs9-","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":"LBZcmy-qubnOt8_bbvSGJ","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":"BFeRiyUoPaJNsiZkAaStI","name":"animations","brief":"","access":"private","scope":"instance","type":"PropertyDoc","description":"

                            Tileset animations

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gz8q5cmwUfHQvtM6NHZdi","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":"KTSOvQHTp8g52EdYn32K0","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":"cIOd3zJUihDJBT4MbE_lw","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":"7CXerFpROMWDblQ_8cccK","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":"r7KpqM5bivXJA6YgqQcNf","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":"TWokDBDOFL4AawQyOcQTg","name":"TMXTilesetGroup","brief":"","type":"ClassDoc","description":"

                            an object containing all tileset

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"cBHQR-Rd4CXbMXBw9DC_I","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":"7OjccFBprB6Oq8NLTHPcB","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":"SrMYW7QUF-JMow34sE_q_","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":"cAgcjWIEuuS3nwcDV-QpS","name":"Trigger","brief":"","type":"ClassDoc","description":"

                            trigger an event when colliding with another object

                            ","params":[],"returns":[],"extends":["Renderable"],"implements":[],"members":[{"id":"oH4D4Q8gOUIC6cMeh9zKe","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":"iSWtIllOy0fSobuvOUkz7","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":"7rjPLWVgRSz9rzvs3tL0X","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":"Bi9NQVLBGb9QU5YXQ-9nJ","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":"iq8IJRtxO3YnPf3R7O70p","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":"T2tVzLrwGIZrzCfdt8rro","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":"xC7W3zg8FzYhqkYzXhE0N","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":"qFFWXzYH7OxRskbb59pnp","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rESIJ6zrxPNxAZoZtCDkh","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XCJgC0120308rNcmN412W","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QLAaaRR2JNYiI_TFdh-8X","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KJkoGdIBATzGlLQhamjwO","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XnZlbQ8BpzKNaN5ecDlP3","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":"n5xU26_6vhE9N_fps1dAC","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":"_F0kqRpNYYCxB0w9xz9de","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"i6CeGDM0OLD88lbmEf-RJ","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":"ZCv1xnFJF7JO2aBL7_0ra","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":"e2U3qhMd-txnQEPNc3gWQ","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":"Oi6HfrcarZ34cjER7Tah2","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":"46weqQ5kWptwy9aU3QkMz","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":"2jiUbzheSbBJos-vL-A-x","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":"UNIfh1NfPY8gtlzaqGrDS","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"RzYqkn9UgUzCLEjMNzfvP","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"XW-xCMYQQ9ed_JBX1DQ3R","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":"SoAfpgpDiBMqUe6RzM3BX","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DRkHCD92PPAlxpNuX9zOX","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":"91v0aWRVEcTQJiXe9LJiX","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":"UvsVF888WVUa06yDLU6Cz","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":"DSGBogBlNoPZox15xZZTn","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UqqgPTbjb4fKK7gqmok0x","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tTGg6osWPc_ccDYa3UQCN","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":"w3kFUfmH9ffyyElHjaSJR","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":"ve7-X9ZFjbEao6faTWGJL","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9FReKXVga2zIUznDmW7SH","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Rm6ixMJsMWJ_kSDdL0WG2","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":"DW51CKR7m87bJoqAy3tXt","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GavHgK8sq_YFyWdkgQQpG","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":"ScFCnXDfyaBCqk-b79Ikg","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":"AwMO_cwiyYS7uwQKCEw2s","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":"h2_c_SGlWKWwllucZpj_7","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":"th_kXskuJaGjEg5cj1luc","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":"jjR7X2kIaeEs_FyIrshKn","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":"coQG3T_V42c-vHFo8vONR","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":"nQqD_jqQPcQoTw5dbIMBs","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":"OdVhEBfiut60td7U5s6gm","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":"0yWnNOM6a1vEuDA1QSz1z","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":"9Hc-7aMu4nSmiGXi9Apl3","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":"cRGJraCgBbrN7rGrJsDqQ","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":"q0AF112mSHItHmLIrng-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":"D089k59bx6L0E7nDXLEd_","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-1zNq63dWE_D584s_B2c","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":"g3DP03PYInx3yJUJrR96v","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":"5Wmabp5_CEnvz1S01_bLV","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":"FGtSR1CWYmmEj2t_r9jaS","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":"HeAxULY4AxS41OKPU31Sr","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":"C4g4TAEyPMJg7TRrQZlwM","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"omygMy8riqBf4Lg-0e_rQ","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":"fEVyXqJSpgQdV_b1aXZPO","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":"LEOCA1_cPtGqqjqMqIPab","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":"sFePy5Mhyewtt7-fD2Iot","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":"zQ6XnlaITiJ-CYrJoqCcC","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":"HHYin7w9nubquPAvp-eid","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":"YId9Kr-2kD3uxvRD56LUa","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":"T48sp2DEp7FdhLeLYIs3z","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":"GTCQnvwuuh7up2MpHtPY3","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":"eCMQPgolqrIM39tOGK3I1","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":"pB2A-UDfYkD-I33J8eUJs","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":"QMjNzUIGqozcia-D3fKz-","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":"SrqrT9Ounr6mfSaR72gMg","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":"3j5-4E9rjbzxC6xyatUQg","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":"3Asqdflj0EzlVR30ccicf","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":"8kRRiUD0Gi4_SWwBfkd9C","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":"0NmSx1m87kkNpgpCZ2_Xg","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":"MxSR--DZo2TDfkpvCkKAr","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":"A5B9g462kGOaEPeMKQC2A","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":"5blsqkGeneyEW4sz_iM9o","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":"VnvXrWjat50Oe2Pdgx08C","name":"triggerEvent","brief":"","access":"protected","scope":"instance","type":"MethodDoc","description":"

                            trigger this event

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GC12Zei8ua22p1QjqVApL","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":"m5Iy7ZlCkYWvVx_0WTTVP","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":"Eez9T9MkvhbBWDOWhoJF6","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":"3WPqjE1RJ3Vps6UDwDjPZ","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":"tcyfEv2qElFjgRZ0WGB1t","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":"DvSxrmWWfIlhASLTJ6Eig","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":"DBbeKH1bPVtsJQv-u4R3Q","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":"deJnOd_z5MimbsUT6JhXt","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":"3rgaS39guzQJT3lFAA0NT","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":"pwimGzn5vIzuN9to3bbxI","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":"GT3QGhkLFRQNEx2rJMdWf","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":"V8npDB2lvSOUAxRIIAiiY","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":"x6aAuvCYviOBRcoMnVxiu","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":"EzVjm_TeR1lD90wQd7Hiz","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":"ZgvQzU35In5o5QhrMTGnc","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":"PR41fhaDr1L44SK3NEIE6","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":"QuF3Gw_noQVMJpJ_twAb4","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":"Gd9sCCFDWw24vFy1EH4wb","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":"SKi1HzLCWFeql2-_XMmqu","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":"2ZJFvwnX7uM2aLKMEu1IE","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":"GrkzoB0PNOzRHxjZyTcwx","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":"183Qpg5TI-9yGSFvmnSV8","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":"4CWC-d8GQT5Pjx__qOZgk","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":"17g0Nq2lvHz6bzjTvhROT","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":"oFzJA0LN16rPbcPiHl7dV","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":"JgvG4f-9ZEp7w2wb7WW1d","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":"d2Kpgrcae8RvrPdsNQZNb","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":"bS9nYE4yTC7Q34X9I00cN","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":"iPxDvFuoD1rPGSOhf1X_6","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"R87EAUjn8eIaJW44_hS7Z","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KgGOPCsvySBl_vZ42BGc8","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jdj73eUMkXWDGJRVFynFo","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":"GCfQ1vBnKwYMsGj6i81Pe","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7-ogTi2n-qybDH6yPzdXd","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sjmEuH_83g7yyUqg4lWwF","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":"ZSmmOLaQrhy8RWtgKktwJ","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":"HI3lnLVxFxoibbTv5hSha","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":"B9rvo1WSR8sY6RfHZetJZ","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zMZ2eg4oh1B4T7pFNXigK","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

                            Tap and hold threshold timeout in ms

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Ztxfy4LUX0QlkA2ITSxa3","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if the pointer is over the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mPynyhCUEL4Ts5prtwOe1","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":"3yJN2Fthp5uuD74Jtg7jS","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"O43aX5aqh86FA7BsarrYq","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":"xEtBYlLd_1SucKN3Yclil","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qIZvLSC_-Ht8IzxB77HlA","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":"iV7vJMBhv2TIwqCwQrN8I","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":"EGaNM1zMcqAnNZUBDWaiA","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":"dflyrUbmpI4UYf8fC9Bcv","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be tap and hold

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GtMG68_0tznBZRVA2DnE6","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":"CLPMldiZm_fuzcvywe0Gx","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"JuhFS860bqmcDz7G0a63u","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"uGJh9KxR-sQSEt8fZHTyQ","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":"oHP_0399KvfuuuJryrwVE","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IzLJKDOuirn4Kqs8Sy_P3","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":"b211kw0TP408Glf212pWT","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":"iCG-LCCBr760VMYasdzhY","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":"w8BJk_cWfVMZS9lGzFnfi","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OFTD30dPU5yzAKRcrnRdD","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":"WWcgyUo5vWP3cgTKm_A04","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ljfHWSLOTnMA0GyNgVYe7","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            whether the container is the root of the scene

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9NanXfEhMCYiJ36BvkQpY","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":"kxjNgWLr5vW28A6pQvgIg","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":"-_lQkDpPEmC7rs5dYlVlT","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":"TgimITa3QH2M1YmvhiZkF","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6631yiCo4VFl-0oxgZ7r-","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zZ0NdL1Cbp-S8G4G22U1d","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":"yaMZP_qSkAHfZkJZ5AM18","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"8CxXy4EqOPvxTNXNDdXiu","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":"2rZHuqNZZgOLm5y-qo7f4","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":"Pu57Kskiay_K1nIwtiCd1","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":"7le1yOB7DsTiJRyj3d-gE","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":"mbweDw-sIsbeAqmXrDOPv","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":"yoOGk3XEOcvJ_YC50VMst","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":"Y3l2VEkMyuB9DGpWbfKX5","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":"7ZwjzD60esg0UmGEMtEJg","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":"Cuukh5qvX8iUdnc5CL7Po","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":"QIP4DKQwYOEXyyBO6elWy","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":"ga-WACio5-8H8CGpm5L9S","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":"zT_y2kCVXWXWDNl3wH0ru","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":"BHPcGwFfFyVdvfl__F6TK","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":"zlxBAmPvZcTCrneYmXLeb","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":"ff3DW05CroXgbzK3zuoOc","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":"Egt0dPnD6Zpp1HlMP7qZ6","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":"19MLIHN2Xp7SPDs9PzZ7m","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":"TdYjze2nnKrAFjOhygvX9","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":"nByDLZtDt8PfudYNVzpD0","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":"pYsV1NfMinuz66JhanBMC","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":"JrfbVA4AXheI620sd9OaY","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":"O9EY1HYsOxZD5_HkJZP3_","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":"dLiQzSp9U8lIt8_QMJbBY","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":"ipMXN5SO87dNKuDAuDtbt","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":"3FvUx2AUSd8GsaKfo-zyo","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":"HtNgFPTMfBs8qTSqlayAw","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":"FLeuAjTk2jDQpn9oLUTNs","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":"43VsBMx_nSOJvb17Yvw0f","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":"QAkoE9qgwo9r7vzZGNAzi","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":"3PP3a_UV6O0KGRoSKVgbM","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":"Abrq_--YSwPB3TsrvN7eD","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":"T_JK8Gm77C1lo0wnLUiw6","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":"ec5FlNu2CiMbcv_na4kFo","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":"JT0CbMFparYDdWYWyIwdZ","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":"32wQxVGZWLPEHGdcpeSw7","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":"XqNe_y694I2UNmCRLgLT1","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":"TrNYF37SZnob4Ag9B51Ld","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":"wh-skn5Txy7AGTMtUzPhE","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":"7xe5M2b7AJVuQdhDXT0Hl","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"V_IJjSDpYc1E5mNiyyPyM","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":"pW47u_fYlwR1mH5jms0x8","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":"KseZCgLN8CClk1i9HNIvB","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":"U4s0JWlbm4z5fOKTKKfnz","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":"h3DONG0dn3t8_BdXvWnSX","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":"XLwEqCn33FoKHdJhyzk4l","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":"QfN_OfCJ6sSFLGf_5oGBK","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":"TSBaZg_3joeQn34wo_9y7","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":"ndUap1RCbcGYMNEMJBUvp","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":"ZxdDDGX7n5gZqhCriSMhi","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":"LJfFLSbyVVTV_yyCtrEgW","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":"Mk2BNuVR4W6AmV_FlAXcl","name":"reset","brief":"

                            reset the container, removing all childrens, and reseting transforms.

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"IVgFFMHTrk7qas3LXtFWc","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":"7UXeNg9VhjLPkMkKOeRA_","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":"tdHoFgjU14oQ6j_FwHoVd","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":"v4OUmqOiP8WnytHiBFJ-q","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":"825Yq8h5GoD58Yi2FawtT","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":"ruE9XnO69TItgFI9sB2at","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":"dxjEKZpBqCP70cJ_QAx_2","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":"dSYM1-B920H-A2CecC9Oe","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":"-Hor9mgMY6Bzn4f6Y2Nv4","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":"DvVndn-iICdffai0dLIRS","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":"J-s965XVKORxPSbYc7hIb","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":"q1dR5zEEF8vCrKMQWwFMi","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":"xa-boNUxQVqvrUzSm94Z8","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":"Gr0ToGTwXNuG2Xb5PaVKg","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":"9OAWza_GSV7D2XQQrtovK","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":"MuMS_VTFKnhitb6xf-s_d","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":"spHEFfecYL5kM__JgXrIV","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":"46ftQWqx150y6XjMl6hrq","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":"WfpIQvNRArr5cpphVqpCf","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":"ihjOd5ddsWs0zotrsMswE","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":"ov8ArsFs5XUS1tAn6aYer","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":"LxboBSTOUV7ZwBFlos16v","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":"Me0dRvUB8gAl3ZCHKy3W4","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":"q2R8Ap8O6LEX_Z0Jn6j_u","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":"3X3qIM3FTBVrUzfubk68A","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":"9TRlwTo2CyraA-hZrO1Iq","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":"_Q8JDTH1eoNxsY7u9auqI","name":"animationpause","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wXUeyMZwqwHE89r4aTK4Y","name":"animationspeed","brief":"","defaultValue":"100","scope":"instance","type":"PropertyDoc","description":"

                            animation cycling speed (delay between frame in ms)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Kzu6Ae1hOwsV0uhkpREdl","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":"tjLC9Qkk0sKObYc1eMkh0","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":"KgPaHKkRKb6AFTyqDMSPt","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":"_NLsEPd9Nt4boU8S-gj49","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fkx0F2nHfpk4OYhbgOBZY","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"3oYyVYh5F6A1Oycuj0a-V","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9YUtUSdDIYr7KXldw8wt7","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"UD8h4dKXVLcZNLTSAqnsi","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GtiaN3rTqGG_9X-3sApnJ","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":"nnFsvChA-RFOr581uweDk","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":"WjbXwGUENrk1hBiiAwAY-","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"a312cHyUZjIHSPQlnz16u","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

                            Tap and hold threshold timeout in ms

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Wc6wWCrf7CoMv4V2lmvSX","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if the pointer is over the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GgYIPS9IX8arAfDoabkRQ","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":"Ka49wVJJNrxboOisSOfmU","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LhZfIa_Jt97r-SsLAIsdB","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":"M3n0rkn5kRMMFJpCoDZWy","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":"5a5FvwzYntuQlO5A6YtC8","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":"_6GV-1KBnj1COhPly1qz9","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":"GTv7SZY18Y_gny1TJvfkx","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be tap and hold

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"VPb8uuyMXENB839KqbVhn","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":"V9TlbRU2t6mEenHjGJ1lF","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"m5VNzNW3EoZDYNaLqKiYy","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":"45zL_9-GcxZa4_Hwx9CEd","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gow7UKMBOP2wFe4NIUnVH","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":"J3rbz6BUWaMkyNWpUiiJv","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nfeYKBwyFa3R0XmroJ0KA","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":"iTZwlMwN7Kme8fPFjHvHU","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":"ro-rCcxe8BrtAGQcHhnoL","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":"PxvWViJhbjnY_QjXApkiP","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":"2uupK5LKk99d-Sf0_7jAo","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"S0gZdQVDDUrCK28-dC2gL","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"zEqJx3eMJpC66VMWM6Tkb","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":"WAUAXf7JmwNwYogsQRING","name":"source","brief":"","defaultValue":"undefined","scope":"instance","type":"PropertyDoc","description":"

                            The source texture object this sprite object is using

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hxV9-M9T39K5Bc2XVLB-H","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":"k1Sw9ttYzK-AwJfe4nKLe","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

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

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xLFdwUW1LsdX_JdoJrnrr","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":"SmNkqBInYFy-9hDEMSn01","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4-_eHXZBBF2X_oTkxVoYi","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":"vyb3j306k1p-NlzMXHgpw","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":"9_y1cqHDtatrNSSBvPA5d","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":"_HjKBqDm6FmcVOaTxwNEi","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":"oUpaMtRK2H5yTiGseBixi","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":"NyBsmruN_SeiVuwYVyh6O","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":"3XT3rKzB59SZ-3sSwaBA3","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":"J0vvinA2_xnDiRPiHVWU_","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":"ntE13sjtf5oEjHJj4PTUq","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":"FSip1gv07wmSI6fSsTd1k","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":"_rCwkapY9NSD-WggZ_xWs","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":"p6ahBRttzUzcMEU1ZVjfR","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":"eWixvzNdFQgJiIQ5to5Mk","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":"oPoARPPAWfnP5Y7-egeDV","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":"20mxAb4Aayw-LFMz1djXn","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":"S6rL-PIssMXS9eNtLdoWp","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":"rGkEf4qAtb5-Mz3VbZ1xB","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":"UUlgPV8GHJJFLOPK-go6L","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":"pImAl55LJrC_K42G7uTG0","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":"aQYpiQwy8_WzEOzKsnWwZ","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":"apXit-dpkcO2a1Tlds8fV","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":"yiPnaZH81rbiEc28HR2cr","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":"6m-138Flt3N7ZXM9yZLnR","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":"02z0akD7ijQo68ZLoOv7S","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":"rgpqctVUsr9K37Vik22JA","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f-xJJBEUyraAXjmXlSmii","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":"5hLWXpUizmwGjUjtrrGTj","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":"bvHA29IQBzA7rHMy1KU4x","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":"Ju8DdadZe3wWJL_9kzQFV","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":"0sTJIq3dr8kAdgLzreRQc","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":"5jBY0f76rrKUoRyUNGY-Q","name":"pause","brief":"

                            play or resume the current animation or video

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g-8vgWRGTlXPzijNdCOix","name":"play","brief":"

                            play or resume the current animation or video

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"tr-s24y8SFzktOPwW5w0p","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":"lUL0S75EWEEaTeuNBi_MV","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":"gjX5L81onp9m0fkC7M1ma","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":"Os8xE9hDStNsXfu9FXuy-","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":"WPkuAc9emSw7ooVh71Fqd","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":"iiUdwN6WWBUqbCVBWzUnN","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":"SYxht9nZTGW___NPTELt3","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":"vhtzVxP6V6PlLxot9YIGg","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":"Wf1nvFLKbx1FIOfHXb5CP","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":"NVgN7PhQ8sUFKI3gkRSg_","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":"HoDeerr91BusE87Jx6A02","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":"Dkmiqsu1RwT8DQffzOA0o","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":"buQhM6e5JFbu5zrsPTptj","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":"oP47OXfF5gVRhSW1U281H","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":"bWfeIq6ztSYbi1QLw1oSx","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":"aisNuQPrI9h_xfqwID4Fp","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":"Ci3l-jjlPk7pu-Jn3hd_b","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":"0nlpWn0Lkpl-rNOrTIz_2","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":"pNHNLVreulM7vfdie5HZQ","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":"cJ_n5OUNbjEF5hs9N9gI-","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":"dgwfVInK4w8vmI8DnHU2l","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":"rGeAqbxwnGUxR3tjCu1w4","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":"9NBEIVUmM6M0ao2h_3q1g","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":"PPyd72wJwodM1vMiDT003","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":"G5X2pE3kjtHDIzRIt_T_s","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":"M28fa91W2Sn2vkVR1_ebQ","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":"2-riwsLCJCbuyabqn1ZWM","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":"95DVIFVts68fq4fTmtBm4","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":"feXa44MznLaCo9JvrNIRK","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":"tluiG_2aq9xp8J8CjTbn9","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":"7VhKRAbQhDM1TsCSd-kI1","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":"kBApNq3tcDV-T4vFOgbn7","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":"IQ7xO_J24xgqNEZ0H85lg","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":"RDeUi0aFB5y0KL-n_GFo5","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":"oGk0l5EfOVoWeIaPGGAxi","name":"bindKey","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The key to bind the action to

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"e_dIUelxkANxdwNj2hxlt","name":"bitmapText","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the bitmapText used by the UITextButton class

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hSxWWI6mqG4JECj00NUr8","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":"H1ES8q-ORAg9pyzP2md--","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":"2Stg_QgZva91wDKoYc09p","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":"TdjpwZ7ycfVFU-g2JVfO2","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            bottom coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yU02W_vv7U7eYpPoeYdvn","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the horizontal axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NIlxg7GGV5IE2ol9_0XN7","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            absolute center of this rectangle on the vertical axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"95i0ZrsWASo4ky0ay_wBY","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":"DYIcdnweWwXYCYOyo8o0s","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the renderable default transformation matrix

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"rNiuh6tAWbRjHufBx3_T6","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the depth of this renderable on the z axis

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"QfXETiCHCqZgwgPzV6QtR","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":"oduwGgCguafoQQ4kYINyx","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":"Xs1oWY4ub94JgLosFremL","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":"DPMR3yv6K1eUUrJLo2kAJ","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            height of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"mQk3hAIy2cRSt724hgogJ","name":"holdThreshold","brief":"","defaultValue":"250","scope":"instance","type":"PropertyDoc","description":"

                            Tap and hold threshold timeout in ms

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NcDBbLzx6fODMcPkGbqov","name":"hover","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            true if the pointer is over the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"B_fGdukEl1nz47dqrVPK3","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":"yL7r-mKtE8vGXbd4YyDtG","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":"OAFX2Cz2Yj9LpWatqtyZS","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":"WYKrhMrlEfZXKOIyppjDF","name":"isClickable","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"yDk70FXWGHoUoM7yxbNt-","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":"yrlQslGf33_lxGGDUUqt3","name":"isDraggable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be clicked or not

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9oVASOJOh5jsn0k9_tIot","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":"Yqb3xmfbGig8iy1PmPpoF","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":"ptD3WCjxuD6zbB80snyJ4","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":"YDYJfpQWxEsHgpp-UAJhs","name":"isHoldable","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            object can be tap and hold

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ccH9huNW5XOnPCkM3eUw4","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":"RAawgtOeLYCvUiC9zd4Gk","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            make the renderable object persistent over level changes

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"HdZXQwx7b5aGvrYGlNv6a","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            left coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"u5X7YD3kr1yQRqd3Z_pcI","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":"djkpgsXzkVgbuvQwEze3T","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                            The name of the renderable

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nUBIHk_8JKY_b-Shh6QqU","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":"HbVwQnj7xSysQQ4NAmKH6","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":"IjFvlZfPryr72X45un8Me","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":"AV0TWSTnXA5obMS1Eoh3Z","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            Position of the Renderable relative to its parent container

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZyhN4EMud-DIWGqaewkgx","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":"y7b7xSfnYNFrNMQ0hVvmz","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            right coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"lAAKOlBRth0OrtYKWVskO","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                            whether the container is the root of the scene

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"NiEcQ6GBpRNkah8OdcYNR","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":"cjPgtO95E_7gH8hpCr8Xc","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":"Gs4n3BrMmqAS0LYpiaRJb","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":"0yXXSObITeHQdkyqUZL8E","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":"IuYev3THx3zSm2DLZYbd9","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":"XVCZqAp7n8K6m6mpkSV3i","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            top coordinate of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ZbwAcnGrmP7sgH1zw5-60","name":"type","brief":"","defaultValue":"\"Rectangle\"","scope":"instance","type":"PropertyDoc","description":"

                            the shape type (used internally)

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"iXY5V1FqdenK0Hx08b7zZ","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":"ADH4oncBXjlXRXH6TRdtv","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            width of the Rectangle

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jydluu_sj03EsL_GtMaTR","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":"6putncqdFyjxZNJaPvWca","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":"eVMvXs7X1Cf7ru8JRPjqk","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":"r9rU63GP82baiPZybY1tt","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":"rmbUBabspCf5KYZGDjtVb","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":"Tj9LCFu8sEwAFxIm4DcrV","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":"EdXQUlIt8rYiPzsSdbcFh","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":"R8UWr0xehpsMqU-4Uvztk","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":"7wDKFU2F79Y4CtXMiDP0_","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":"Ozmjow9x2jTQsRxbFNoF8","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":"TBVprdNKNac3dctzKzrBi","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":"SgXDCHpO0D7ihfL6qSHn1","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":"hT9SboQgJJ93Lk9nlg-yY","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":"lDD_0ktZzd6gHiHnbmd69","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":"SnLapyeMRPPFCUOkPehRb","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":"oC8LdquW8TNmURyth3Pg9","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":"YwSsHfieQJ_O6N3yIjyXI","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":"KVQZjpZlgNKB9dL8yz-Zt","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":"__Vwnw663PBxzZLqoSsPp","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":"ZF6HhsN3nwsi3j4aCNgz8","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":"6pphCpLG9cJuu0J9pNj2l","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":"Kv39SMf-M2weXwXe39DJy","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":"5BdKy7_ngIFgSp7SBoa6Z","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":"Qk9cg3sCHwm2pXh5ObBJi","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":"JtiWpmjgYXH_xXDtZK5Uv","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":"sGZ6LsgSk3krRPmW3K9QO","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":"vI2iKu_LBpDiVPc0u-W98","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":"snLtNg86wyWwJ6IwTPtnq","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":"sddYdz6Fng4Txi2M00JnR","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":"lrh7KoMw-P8OczYtdxiLA","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":"tpCNso4RUHikCcj4E3YuU","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":"szLuXk2qzfw498qztsRvB","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":"D8mew2yMEBvMWPkcAMY1Y","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":"Zd1Rj4ijI-vaOxNFcMAZf","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":"3kjXvyoRKEbninFcfb20X","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":"qJKE2N_QwrLJRo7Havzwu","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":"rsyzsJx-i_6nsEY2mmk9X","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":"cj6KtR-eoEBU1BCpPLr86","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":"h63U-NETaBLpPbgMdaK3V","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                            OnDestroy Notification function
                            \nCalled by engine before deleting the object

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"F-tstPgM-vk_1Tu03M-YC","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":"6vR8KrVwJzNYIyU1UrJ2q","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":"OOuFtrE43YleaLX-xKrwM","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":"3U1-v_5Dq4b0Ag-N0may6","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":"KkRwZa83y_anh1LiuYfLr","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":"p7--Hqv2VNK3DV75J-BiS","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":"REuOMJJlg57poLUplHiGa","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":"m2uBhC3eA3jAFPFdu681g","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":"05ow59dlnx86IL47dpI_L","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":"zxkYm81JghPOLvZ0hyRHe","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":"pNu5OE1UI1MZs9WUN4l5m","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":"gkCVUK6ACr7_OAZDnY8sN","name":"reset","brief":"

                            reset the container, removing all childrens, and reseting transforms.

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Gj-BiEjjKkm51PbbG9c0a","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":"KQR-Tu2mpDHGei3a_U-Vm","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":"IjLVCKVUcWh4ymJFjMf9w","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":"desj9LGCchH6O_8uCwISR","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":"h2BqQPwdCYl0amrugPm-i","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":"jBWERXQNm0v11QWrl3Wef","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":"GagDTiwMJ-P_fvd1otmVL","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":"adfJIBQzO4nAGu5M6uzqP","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":"mobVda6Q09l0koaRpM9d_","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":"4i2jAcgh9AHMjboiVDMBf","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":"TOFnEOyb-eh-UPGUYH2Gm","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":"1_XFpPH4GGvG_9HFJUaPy","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":"t5bDArEh4nqYoXK_1oam_","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":"aBZzSgclzWhdUULsMCpAw","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":"r8Sw_ZwLBWFTR2biMTyRL","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":"Z_vn-YWOm-mbyx2JOfHH6","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":"VGUVsqCs9vUPiXfUK25z3","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":"oUFmgad1m1V20CktD5nXz","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":"FZu_FhmS4VAfBDb7j_dWK","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":"wPfN5ShYorhSEGuydgvub","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":"dNSJ1OfOG45trwE7DCjib","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":"wZpUBQ9TCyd5oike4QyuN","name":"Vector2d","brief":"","type":"ClassDoc","description":"

                            a generic 2D Vector Object

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

                            x value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Oy6-GQeJdsvF8nK-x-MSe","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            y value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oCnkSR455dfEohYuiwtJg","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":"D7DSzPhoJTXjDju6ErG-9","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":"KmiV1gFGBzK8Zcd5OmbYk","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":"h8sT8AJ1R-94zkTSMhzDY","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":"ZMGeOql6Q8BmlWzDBb3zo","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":"i9Y-kpdNLnt9zZ1oTzFow","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":"lkfGiaQjNYj5LhDlTeyNH","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":"nsjiyLL74iSaHos7XZrIB","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":"G-aIF7jfcXvIq5V1snGet","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":"26xT-BmJGyTra7uk7rDKU","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":"DPZ681cYfXv-usNEhgVmW","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":"P-lzFINR69j-nUNnpz2Pc","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":"AzjfGOpZJJfRXUhUqzL1_","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":"Edy65HfjLqx3YmP-kU9RI","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":"TMRM2jw0V4D_3S1_4KQfV","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":"omExyYtGtFtibIpweCT2f","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":"6qjAi_ayv_RpQoALrVYaD","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":"pPUfQif06WJ63qk6KMy6n","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":"td1hK7R3tZv5otRP0E17b","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":"qvc8Iq8ljesLnr8k3eO7H","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":"U69-aVsWC539Te2CgNLUj","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":"cfTr7Df0vpkC2VSGUl1QL","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":"sk19AbebC5ejIra2IG4js","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":"Uwfuf4oAmP_b5abri_x8W","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":"sJjZMy9v3tKrx-EPgdBDN","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":"bX2g9yasjUTudaaezeBKU","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":"RnBnBGE5ZhywzcHxaNHHW","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":"QpuRQ60yCnCZ39zKCfVYs","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":"A_qK89dqaaxkS0j2t7f_e","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":"KXu3g0OwsswdV5-T54FJ0","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":"dNHISP17AHwH9T8P9uCXI","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":"gN--aBlN6R9R0WiGuL3IM","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":"-oyXbVdVvGvRWkhXFbR4C","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":"Rd-GfaoE3Z_g7E8i3pEg0","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":"4v5ZHoJOV5NPYNLKhWlzU","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":"9GDwqsodp8nhjiAkuFbYe","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":"Go6fhWkSB1k0Emkwtmb2f","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":"ciuFZTy-MvkeZ8rAjyueD","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":"frGfDypSY9Ajd_6qznTE7","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":"Z_mTOsVGGGJ9_l1Dlgwgq","name":"Vector3d","brief":"","type":"ClassDoc","description":"

                            a generic 3D Vector Object

                            ","params":[],"returns":[],"extends":[],"implements":[],"members":[{"id":"6Yfkm1K1j_K2zD8_vdvmM","name":"x","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            x value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KS0MdtCfX3uuv-EgKcnJO","name":"y","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            y value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"g65LfwePivkMQ1s0Ngpxc","name":"z","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            z value of the vector

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"GQpN3Xt-EMS2R3FZKW6jH","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":"lB5EYsJT5FFP58EEoherm","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":"6iyncfvMcxKTi9tXP2upw","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":"QYgkBRxJxZWiZnGg2ALUy","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":"Bw6PxEA4Ch5ceb1p9U6qf","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":"RxcNtQ9t3XKszBjfTEqnT","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":"rk38AW0KmfsAPoa10ZIRK","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":"7N766VIVAKVKxgH2pF3qV","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":"H1TZwMo962250YoKgRY6Z","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":"u4il0A3j-EEV1HB-HFFyC","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":"vL4AIEp-yHqTrrxJ_abI-","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":"mVJ2LA9s6_zqDxIuWC2AJ","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":"0ubLPvRwqzXCkSM4aYDN-","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":"fg6jeB2UKDPKRXOHOOK1m","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":"L6A-VdUE1bZMpSo-Zk_35","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":"-ofX_08iWzhRNIqMQdNH_","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":"kPdwogs0PSAHKmXKl5c03","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":"uGg8dsvletk2lsLk-bzlA","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":"Se2GXe2w_73QnAulP15qA","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":"3mu-Rx6D-17pDTmstN0VT","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":"O9_HFlYngjYp8PqwU1vzZ","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":"9MBObfzC8D3J1KTgBl11y","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":"OuM-9GqJJdwkDVwo-Y6yL","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":"zvpL6q0kdQXpe5NHlUuOr","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":"mNRuHrpRDRcTCrv9HzyIq","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":"slZ46HftLVRv_mB_hGWQI","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":"5HCt4IH9cojcITlPI2rhA","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":"rYsg6sGEq317m0585nYIW","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":"eTqabBmXi9mWNr991H3LF","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":"vdhiASwyA-DtBh5je2_RT","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":"GpK64Qj_IcoVzFQ8oi4uE","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":"Eh6D-qcTZjyAePJhK2J4A","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":"KblmwJQl-gfJbEm_NqxS7","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":"1MDepQZVWR22zPwYhn_PO","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":"W_Rlu8RxAvaaazNZP_TQN","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":"Vrhza59NXJvzn2XuCtU0l","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":"6wO5kRpCwm8q0G323SdvR","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":"0yuoZOxa5_1DAxkpXPSJE","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":"KHhhvMTXGJnExS09yCNo1","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":"hkL3jHhvJmZK_Kucz9cJl","name":"WebGLRenderer","brief":"","type":"ClassDoc","description":"

                            a WebGL renderer object

                            ","params":[],"returns":[],"extends":["Renderer"],"implements":[],"members":[{"id":"1a8VEulr-i8OopQvoY_mX","name":"compositors","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The list of active compositors

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"d9PBuP-kgDAWKdMS4gOo_","name":"currentCompositor","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The current compositor used by the renderer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"oi-tQYZ1EYoJ5xOBjd5sU","name":"currentProgram","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            a reference to the current shader program used by the renderer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"N5QDa20uby9ZfNnXpFCl3","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The current transformation matrix used for transformations on the overall scene

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fwF92sc90z1GJ0BMXlusd","name":"depthTest","brief":"","defaultValue":"\"sorting\"","scope":"instance","type":"PropertyDoc","description":"

                            the default method to sort object ("sorting", "z-buffer")

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"qb4uE6t_szuPwDYvQD2gg","name":"designRatio","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            the requested video size ratio

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"hO8Crt_BLwDiEK4BhFQ6f","name":"gl","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The WebGL context

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Xn926_e8990BaMgNAKh-P","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":"D1GzUD2TrMnXCawyxjnEP","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":"PRTwjovP6pCzsMm2AESQd","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":"sBu67UOcSy9_-LVVWS40N","name":"isContextValid","brief":"","defaultValue":"true","scope":"instance","type":"PropertyDoc","description":"

                            true if the current rendering context is valid

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"sahKXa5ECelDr5ZWE4bDR","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":"aILC_t-TrhGt4I-7GiiVA","name":"path2D","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The Path2D instance used by the renderer to draw primitives

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jm6PPhuhgp_D9NnGCJzDj","name":"renderTarget","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            The renderer renderTarget

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"we9aQ_nPwfqTceP8yvG1L","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":"PqMCBSSh8gMW50W3MKr6E","name":"settings","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                            The given constructor options

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"LekRHYOEpgptvfA_7UYRV","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":"eLxaTFqIuBfjdt2OyWoay","name":"vertexBuffer","brief":"","scope":"instance","type":"PropertyDoc","description":"

                            the vertex buffer used by this WebGL Renderer

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"dFT0dO9weLi1Z2zsOIYSl","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":"m3osATwKDtf7SWrXB3fYR","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":"m__As7ysFLbIYVpodDEn1","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":"Vld4J6cw40J02HG4AAdGh","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":"07F2OzHfr1d7bNZmMPDiC","name":"clear","brief":"

                            Clear the frame buffer

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"I6FySIW3FJNzGvN6UwZuy","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":"3c2JkKG2Hxn8_TUmObd8Z","name":"clearMask","brief":"","scope":"instance","see":["WebGLRenderer#setMask"],"type":"MethodDoc","description":"

                            disable (remove) the rendering mask set through setMask.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Iphaj88x0dizY6COgQE3V","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":"CqlUueFim2VV49EoNB4w_","name":"clearTint","brief":"","scope":"instance","see":["Renderer#setTint"],"type":"MethodDoc","description":"

                            clear the rendering tint set through setTint.

                            ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"kwyIWkaZhHIj9K0pTn_Z9","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":"HgEt4XKk4UPebL_u1YdD2","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":"59-kUAbdjKJ6hjcuIMHX0","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":"h6gx-48kjCZIQWZ7KBZ4-","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":"j6vyXcJ2FTgzea30oSRnt","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":"wwgl-ymeWx8p9LuiC6XQ4","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":"b95XsrD2ZoQYP34aQCyIZ","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":"TK7d0rA7nJbI0WL1Gq9HT","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":"LD5ZI9H52BRosiWwblmxN","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":"7O5UTkhWaqKYjiDzrhRKR","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":"ouZgToxAcojEiobjghbeI","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":"Zz7FPlxB4ajwGuqRbDfHu","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":"QwbNhxOKyGdhX35zwcGn0","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":"CCaQj7c7Ucb-jLW3rvB7n","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":"9FDAnjQtFU_Kv8WNYK-2s","name":"flush","brief":"

                            Flush the compositor to the frame buffer

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"f3kPb4_IesIgb7jZZw-nG","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":"wbZqFVKHbYZOt6kLACzuL","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":"YDk33ix6mnLmzjIe6VSIb","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":"LSkbqOA0Ep9NDXtgRbDkI","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":"SJYfjDgjH_UDgRwlIyXhm","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":"0B5BeVUCDDSXnNbor1CfK","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":"NWSY0xiVtwKlk0YEGEecE","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":"MIpv2j0m0jyGGNg1NYQdp","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":"3zcV7luftziHsMZHm-AzE","name":"getSupportedCompressedTextureFormats","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return the list of supported compressed texture formats

                            ","params":[],"returns":[{"dataType":{"tokens":[{"value":"Object","kind":"canonical"}],"template":"Object"}}],"extends":[],"implements":[]},{"id":"HMXXQWuIUe9tF4cCxY3PV","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":"9fwmbykbo35D486BIyIHX","name":"hasSupportedCompressedFormats","brief":"","scope":"instance","type":"MethodDoc","description":"

                            return true if the given compressed texture format is supported

                            ","params":[{"identifier":"format","optional":false,"dataType":{"tokens":[{"value":"Number","kind":"canonical"},{"value":"Number","kind":"canonical"}],"template":"%1"}}],"returns":[{}],"extends":[],"implements":[]},{"id":"PqEC9t1Zj5zeFlPABYpq6","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":"6LC0Zyxh_ck8Rb4zzxEDJ","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":"dv_KU7gS6EEXLWY27xgTc","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":"MufQVjZ7PhJFG_yXoIpCK","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":"q1akyKA8eDOB6b75_ItGW","name":"reset","brief":"

                            Reset context state

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"7uEeyoefksplebCLsYTS9","name":"resetTransform","brief":"

                            Reset the gl transform to identity

                            ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Jd1ezB3d3mdoQZkWdi6F1","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":"stUMG876oZ9_ugWJ0FvhD","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":"hwERxlpq_GbDbhTuxbHch","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":"oZsLm_9X5bMagbDeh8JWZ","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":"hvLXwdm9DUMVptVF5-B4a","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":"FzEtKUj_fGGTRK6JC2Jg6","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":"WzTpHcqVbnNOekbR2bx4z","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":"xFsCvcHFvCjeamakScNR7","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":"GXnDfjmcd8e8Tx9y_3mCW","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":"R54EhtLKfm-nuZTJvAETM","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":"z5aD9TpJ7ELx5Yj8UUwBp","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":"zcGcFUUzQGyelPH6pZmD6","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":"UGiwpUvvBDGVxiiRKgr0H","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":"tNUdzj_Wig59qRy9PPOUX","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":"3-LrJjdZhupFxntoDbII4","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":"uEm5EZWtH-JBnsPRRVGWP","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":"fnJSwnK5IAZNXFRl2_Z1c","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":"LauyAMgdtCw6Mz2GmEZYS","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":"o3kpVXN3U6NXqC5ycKeyT","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":"BP7Qxqv-MwZ9Q8cg6buaR","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":"CqdwDKaBmKLNwG-C4WdzE","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":"jroVElnvIUpHrBSyQSig6","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":"o303CXeVcLEL6Dr6HEoa5","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":"wphY0CicqRM9-d-WkxeCP","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":"A6r00lmdhT0zGU3xr8YMG","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":"e8bzsJdw_hKSAiqKLVGlG","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":"J8G_1WM6kfiBBNrOTgCUc","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":"GKje8ueD1jh8Hg1TPAtjG","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":"vzdS4in6R5QtYIbFBLvA1","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":"kI5K2evwS8drYSlqjz9d5","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":"iZkkYbG4O3Vyt8au4U9tL","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":"Iz_sBQ3v0A1Q8_7YryX7k","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":"UdA7B-2moNJHeSw1Uwhbi","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":"Y1F8NE6yNRAarsFUtM7qw","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":"anqxZQzE4OMkwP-clf7Y3","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":"v9qR1hoqA0x-NFEnVSwmi","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":"TWLh19xTMQ9b5gi8kvGRs","name":"app","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the application (game) this physic world belong to

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"ANEzS4z9ULXa0yldEK3Ts","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":"4ZBcNgd6etfMAXxtrRvLd","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":"kR1O_tWOB1r8MmQy2X5DD","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":"QK_mmC98UV677S83HBwyr","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":"UFPKUwE_vYvrH3MWp002J","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":"JlrPEOKRO04bFwQiol7ZA","name":"bodies","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the active physic bodies in this simulation

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Fs04cbo3o8oxgjZ_Uu4dE","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":"iTVboA2M8IR1YG6nYEZb0","name":"bottom","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              bottom coordinate of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"Mt_T1-mi5cvS7ERSQlwGB","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":"ABavoBBfYtPLK55D7NClO","name":"centerX","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              absolute center of this rectangle on the horizontal axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"9tZhM8swQ3wumV9Q4BKXj","name":"centerY","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              absolute center of this rectangle on the vertical axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KkFIMUdrh9Yihes0PlwmJ","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":"OSjr_3Gum3pdma0k_R_RV","name":"currentTransform","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the renderable default transformation matrix

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bI-6HgfYu8-bhTFj_6WmA","name":"depth","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the depth of this renderable on the z axis

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"nPeV8k_hKZ8HL7NQ3gL0H","name":"detector","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              the collision detector instance used by this world instance

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"KfAy_gNqGg58v9jtLby-6","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":"vno3e0yyYQ0eEqxiFYIyY","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":"UYiawZaWZWK7zzpQJD4OR","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":"lpzQ22WPxnxmB87sZfPVH","name":"gravity","brief":"","defaultValue":"<0,0.98>","scope":"instance","type":"PropertyDoc","description":"

                              world gravity

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"bX7BiZQ8r1zZXOY0es0e0","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":"-w0pa2UozqfRihf37bRDP","name":"height","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              height of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fLGM8CMqtQprZq0PtkS8N","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":"vFHlmLUmqeBM0AHl_YNSh","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":"5fGJkWjxRJWA4lmHzFMR1","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":"fuRMusxxYKms8mbCkdhPb","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":"qwgSWeO36e_-3sRmgxglz","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":"u3I6i9qbRNOWfHDNzc9Pd","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":"OUuUWJkHvGFGgQ9-qmJ8P","name":"isPersistent","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              make the renderable object persistent over level changes

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xjfthuAGAU0w9X52xAuPD","name":"left","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              left coordinate of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"v9f1YnVFOBvVgik-GTxSi","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":"YY8V37xgwqRYWh7uzZFn0","name":"name","brief":"","defaultValue":"\"\"","scope":"instance","type":"PropertyDoc","description":"

                              The name of the renderable

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DbMNXQJuthU-k0F4bunAJ","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":"n4opfVGVYeghCuL4THCq9","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":"SH9bBRBq49fZb8cxKJyfj","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":"nuXNFF5trBxdZTMNG7IB9","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":"-CoIIB44E1JajebGnV-zj","name":"pos","brief":"","access":"public","scope":"instance","type":"PropertyDoc","description":"

                              Position of the Renderable relative to its parent container

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"DKPORoA52Q6bJTPogJGm2","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":"_TXsAUsP80zDnR2-fabph","name":"right","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              right coordinate of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"TwHJglFipcUmyRR3c1bGW","name":"root","brief":"","defaultValue":"false","scope":"instance","type":"PropertyDoc","description":"

                              whether the container is the root of the scene

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"4WgqU_grJQQWnC4hD0sXo","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":"XWWlVhS4fOF7DmdAc3i9U","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":"c3TQBLaDqmR2lH5kLEYc9","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":"6_gyJKES7vCcZPAbpY0h2","name":"top","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              top coordinate of the Rectangle

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

                              the shape type (used internally)

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"OvduLY5pye5xsYaik5ofs","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":"CxR-u8Xmr4c_gWax7Sz3q","name":"width","brief":"","scope":"instance","type":"PropertyDoc","description":"

                              width of the Rectangle

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xup8Hk6eT2OytWC9eJgEh","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":"UyXNDnp5yJrMR3V3M-Qt6","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":"7v92FC23sgCvcTgl1b5TW","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":"yOpqJv9St7jmuVn-Hd9bU","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":"TDf1PM4MUM0JAgBtuYTEh","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":"RHWDRtJHiBtAdxLkS1WAs","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":"MfouXOrKb2pzxpRI5bkXy","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":"dFKgbh8KV5V6H1CPsbSU2","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":"fvfi8umyDHp4rCT-5mlY6","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":"RI9oXGdVGlxBKQHGQdWfO","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":"Qp73XSsWmtHBV1j6iQ3sf","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":"7Afm3gWbBmjrQIbzPrPRO","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":"CGYcYqU0tVLKYR2TtHJmO","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":"whDHXXfVVDGjhjOy7snNt","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":"tEID1Erfl5eUVrOKGEvEw","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":"eJ6eyFIGibDxEZW9jILDA","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":"BZALlASuaJd2NuajfD7Fn","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":"IITsrqaHAuuAZUeceDE3O","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":"pTF-9ELklM4FNz2bxSW8l","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":"0EBjdhvXYHcIBzCQ4tQ_A","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":"N-FEhaQxoRrfz6Dm0bV6K","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":"jAaFFyeVinEzxpa20YeNE","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":"yzj8PpYCZfgYtLVTijZHm","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":"zunx0TVRHGwBrlxVfPzE_","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":"L4Kg3rRK5YG12ANAU_xNs","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":"uSHFhXVm5VjBKcPu8ohWN","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":"2nS30kvAgVLLlLP-3WH2K","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":"U0BZld-9a-aoB6aG_x2A3","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":"nhxoAY8I4Gd-_ogUbXyRm","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":"AK6QUuZr70q1CHvqkMPpN","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":"zbhwqOsWx65ihVnpNxoWG","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":"9TqkEyfXcAJLe6nkHlCPN","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":"e9cv6Sx29sRfaxkl-gXuE","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":"36h6TnTrnepjtK871cyh1","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":"EdTsOL59bH-toU481kuHa","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":"SasVfEAorGdqH14aCLglc","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":"WsygvJL4XxkYQwfZdlaV6","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":"EFZtsMjovPpFDMOIpiN7t","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":"CnZFbcRKH4iqMGpzBf-xD","name":"onDestroyEvent","brief":"","scope":"instance","type":"MethodDoc","description":"

                              OnDestroy Notification function
                              \nCalled by engine before deleting the object

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"pbqCSoLRoXkE0JjXYD46r","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":"HY4iQiq1Pel_rgL1S_LeF","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":"B7Q6PQIDd1efNDgfLE_wd","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":"kCLJz2nW_cadmEf_Avz1J","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":"IDj3O4MJIw-6isKzFLvXT","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":"DDI26tKNx7F-Y1JuOeWw6","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":"OyzYyvRbZ5v1ThpQ6xfpI","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":"mOHGn-AG5ebtbDZt-diVv","name":"reset","brief":"

                              reset the game world

                              ","scope":"instance","type":"MethodDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"5ahOGxiROkC2WWnZWutMK","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":"smYfKLysovX_QzCqPQmuy","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":"eJF7EH_bI56wczO4tMFaI","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":"Y_jjNhNk0CSfYd0LxS4Xh","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":"UsjpPO9IISAlh80Yk8Xki","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":"O56JGvc3SgwydR3My3iyH","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":"qUSMOpGlbharL3Tib_Zvb","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":"6T8bG3akJwbeyTK2icPeA","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":"idiXc66Bc-ahe1UFlGcuD","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":"U-qPV24HKUp5JLR710BTo","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":"8bSzFA-wolTCgTi_JquB3","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":"DSnjLteB1u10MQb-ElrOO","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":"12bVKmF9F6_2SYbBLUuOh","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":"dIZQ_3uFKfEuR-6j_z8w5","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":"GHLys2TONa__E4h9w_pba","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":"yGxYnL-d-X8Su74QDBrC2","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":"1o8bCEr1J-vusgud7paOt","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":"r7i0jzUYcMGfuGftz2a5M","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":"2c7k0g2EFiXav02ljf1XC","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":"OpmHAcxBoxxPpOwCifbRe","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":"Ytn3w0_WryLzxdWCcCUdn","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":"uAp5TStVrJADUWqAJDkqb","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":"ZnYMxyQ7L3y5XOhaX0bnf","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":"r1Kq8BsbBzU6uIxeQdv8s","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":"PgIoUlGRBLC8aJfcH7si6","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":"C1yar8ojhTwA1GJQa99kr","name":"version","brief":"","defaultValue":"\"__VERSION__\"","readonly":true,"scope":"static","type":"PropertyDoc","description":"

                              current melonJS version

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"xYAZWCZ_ObPde9kyg5Nni","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":"Y0nIfHAsD8D6wBG4BL5vc","name":"failureLoadedAssets","brief":"

                              Assets uploaded with an error

                              ","readonly":true,"type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fz9YYipKGTHBZL5pRVotG","name":"imgList","brief":"

                              where all preloaded content is cached

                              ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6OFUFPLvXVPd90647g1Rt","name":"initialized","brief":"","defaultValue":"false","readonly":true,"type":"PropertyDoc","description":"

                              a flag indicating that melonJS is fully initialized

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"fAt7YICWHPDBChi658dnK","name":"parserInitialized","brief":"

                              keep track if parsers were registered

                              ","defaultValue":"false","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"jXo_ZrfjVaNFQfnFifOay","name":"parsers","brief":"

                              list of parser function for supported format type

                              ","type":"PropertyDoc","params":[],"returns":[],"extends":[],"implements":[]},{"id":"wW9P-dFLFbZcWUSlNKdhC","name":"skipAutoInit","brief":"","defaultValue":"false","see":["boot"],"type":"PropertyDoc","description":"

                              disable melonJS auto-initialization

                              ","params":[],"returns":[],"extends":[],"implements":[]},{"id":"6AVIfSqZ8wLIunzZOm8X4","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":"0c5hA0tMVd-EqXeLBPyZn","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":"jls7tUpFxEO-527M2IeeL","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":"e3tkn678qSS6rYsCsMV-4","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":"aVfpmGyODQAda1w4Co_Yf","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-wj351NZJQwAtHKUbmXNQL":{"uri":"/melonJS/docs/melonjs.html"},"NDExJT8nzcPALPVq2b1Dz":{"uri":"/melonJS/docs/melonjs/audio.html"},"dsa-up90kR0fE-UDUQ9y-":{"uri":"/melonJS/docs/melonjs/audio.html#stopOnAudioError"},"yi5Ea31xEgvF3BT0nly64":{"uri":"/melonJS/docs/melonjs/audio/disable.html"},"MelneP5tPIZGLf0FVfpg-":{"uri":"/melonJS/docs/melonjs/audio/enable.html"},"wb41QL3RkQ8D_6N1WVH7d":{"uri":"/melonJS/docs/melonjs/audio/fade.html"},"grPXVcDwDbiPKP2URU9Lw":{"uri":"/melonJS/docs/melonjs/audio/getCurrentTrack.html"},"es_JuZPvWtkMBcxvVR1qQ":{"uri":"/melonJS/docs/melonjs/audio/getVolume.html"},"gb9FiddK1K4-efdEw5ASv":{"uri":"/melonJS/docs/melonjs/audio/hasAudio.html"},"ggIVU4AxM_0cOUQR0m_pe":{"uri":"/melonJS/docs/melonjs/audio/hasFormat.html"},"AWH23om8L7QI3lufLq7zg":{"uri":"/melonJS/docs/melonjs/audio/init.html"},"f5VZS8HQrZFAOofuhQesR":{"uri":"/melonJS/docs/melonjs/audio/load.html"},"kT8QbR2A4zweimVr0FpnQ":{"uri":"/melonJS/docs/melonjs/audio/mute.html"},"GFPiFzkiQaR80zKHhiDaL":{"uri":"/melonJS/docs/melonjs/audio/muteAll.html"},"J9F9O5AGDmyTQKohupfl6":{"uri":"/melonJS/docs/melonjs/audio/muted.html"},"fzAPZbMBRE17fQkVbj3NR":{"uri":"/melonJS/docs/melonjs/audio/orientation.html"},"Khrbh1IDQ2sg1QbKV5tcl":{"uri":"/melonJS/docs/melonjs/audio/panner.html"},"lcjjeHTfTVWjtObKYozpR":{"uri":"/melonJS/docs/melonjs/audio/pause.html"},"pQSbuydhon4nZyI3Jbc1O":{"uri":"/melonJS/docs/melonjs/audio/pauseTrack.html"},"l6vXYnvQ4zBUkZbb5D7U0":{"uri":"/melonJS/docs/melonjs/audio/play.html"},"N9Pj3x6yiwVoZ-LQ_nzml":{"uri":"/melonJS/docs/melonjs/audio/playTrack.html"},"H4xkapk1hRy9xpeVyH0Pw":{"uri":"/melonJS/docs/melonjs/audio/position.html"},"5HfIIwYFbmBbELhFNQL6H":{"uri":"/melonJS/docs/melonjs/audio/rate.html"},"a1pcFjEB0c0u23zvUgXxK":{"uri":"/melonJS/docs/melonjs/audio/resume.html"},"SIeUODLRZfxGVih4ckMFq":{"uri":"/melonJS/docs/melonjs/audio/resumeTrack.html"},"1xbwGOWn_6TTOLx257ugG":{"uri":"/melonJS/docs/melonjs/audio/seek.html"},"FYhJCfhvQRICzJ2x0c1bg":{"uri":"/melonJS/docs/melonjs/audio/setVolume.html"},"1KEXzs6M-4l_IhYqDmD4M":{"uri":"/melonJS/docs/melonjs/audio/stereo.html"},"DuxCV5I5r_R-LF-fVQ8oO":{"uri":"/melonJS/docs/melonjs/audio/stop.html"},"XE2_ygYYgzu0QBMKTZUmZ":{"uri":"/melonJS/docs/melonjs/audio/stopTrack.html"},"esAU6JWhZSuHz1a5LQc_R":{"uri":"/melonJS/docs/melonjs/audio/unload.html"},"NHlw2Ky1Ip8xrxtKT5jwd":{"uri":"/melonJS/docs/melonjs/audio/unloadAll.html"},"QLdeZZVBjKz3uVludLN7C":{"uri":"/melonJS/docs/melonjs/audio/unmute.html"},"XdTvbqi1Dusw9hoBZjGMr":{"uri":"/melonJS/docs/melonjs/audio/unmuteAll.html"},"EYQilUD3PiVnuWFHsrktW":{"uri":"/melonJS/docs/melonjs/collision.html"},"jveSudOuKM2OTceM-sT-Q":{"uri":"/melonJS/docs/melonjs/collision/types.html"},"s7LmqafPUPNCqpoCJvTiR":{"uri":"/melonJS/docs/melonjs/collision/types.html#ACTION_OBJECT"},"tpFydYqF6pEL5u7iSnY77":{"uri":"/melonJS/docs/melonjs/collision/types.html#ALL_OBJECT"},"wERlmSGkp52ci5Olzly_w":{"uri":"/melonJS/docs/melonjs/collision/types.html#COLLECTABLE_OBJECT"},"A-K1nYK6nOk4vjTr_SJO8":{"uri":"/melonJS/docs/melonjs/collision/types.html#ENEMY_OBJECT"},"AwuHII3s4Lsnnz3VlhDcr":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT"},"ZqZqSHgVOq4ti4k6YEr2u":{"uri":"/melonJS/docs/melonjs/collision/types.html#NO_OBJECT_"},"6DYXcxLz-vaoGKtdPk4Jc":{"uri":"/melonJS/docs/melonjs/collision/types.html#NPC_OBJECT"},"DyHGWWgLfeXrMN3JP0P2g":{"uri":"/melonJS/docs/melonjs/collision/types.html#PLAYER_OBJECT"},"feE1DhDAt99IZeDfl0n2G":{"uri":"/melonJS/docs/melonjs/collision/types.html#PROJECTILE_OBJECT"},"cKqiFQDeVGPSU73SoWPKk":{"uri":"/melonJS/docs/melonjs/collision/types.html#USER"},"deXOklvsemj3CSBHGDEc3":{"uri":"/melonJS/docs/melonjs/collision/types.html#WORLD_SHAPE"},"PY9M5ZgYGyMDi6ZOx5ZWw":{"uri":"/melonJS/docs/melonjs/collision.html#maxChildren"},"ktG6ydr3x2LBnBVdYSRJW":{"uri":"/melonJS/docs/melonjs/collision.html#maxDepth"},"cFV534t-nnmSRPGwwELAR":{"uri":"/melonJS/docs/melonjs/collision.html#rayCast"},"Und9Dm9vswqZOX6D83VTo":{"uri":"/melonJS/docs/melonjs/device.html"},"0m-MWC1KhoEmNvUl1WN2Z":{"uri":"/melonJS/docs/melonjs/device/platform.html"},"VI0jgNh6ms1jdM49J8Gdu":{"uri":"/melonJS/docs/melonjs/device/platform.html#android"},"lQShdIj9xrnvzFOxPl7RW":{"uri":"/melonJS/docs/melonjs/device/platform.html#android2"},"Q2PAQzxHOorc5VrVrpMxo":{"uri":"/melonJS/docs/melonjs/device/platform.html#BlackBerry"},"nO54_I_pqVKcU_Dy6Q-_N":{"uri":"/melonJS/docs/melonjs/device/platform.html#chromeOS"},"GH9vIRCT2O6NAhnklp1vZ":{"uri":"/melonJS/docs/melonjs/device/platform.html#ejecta"},"--wjXSQpnXifswtCbhFIx":{"uri":"/melonJS/docs/melonjs/device/platform.html#iOS"},"n4nYqJQPCdvxQZFu77JUF":{"uri":"/melonJS/docs/melonjs/device/platform.html#isMobile"},"54xgl6Yh1jliDKkR09Xko":{"uri":"/melonJS/docs/melonjs/device/platform.html#isWeixin"},"xLjbZhHuHSz_E_p8oP45k":{"uri":"/melonJS/docs/melonjs/device/platform.html#Kindle"},"dlbtB0Oi4LMk8ytfJgjn7":{"uri":"/melonJS/docs/melonjs/device/platform.html#linux"},"lOnaxowAFDr5pGXFf4FbD":{"uri":"/melonJS/docs/melonjs/device/platform.html#nodeJS"},"F68n1JV-3KpsFRVqngNFX":{"uri":"/melonJS/docs/melonjs/device/platform.html#ua"},"xzu8ID9gGGl5kpCqxEN4b":{"uri":"/melonJS/docs/melonjs/device/platform.html#wp"},"6yzGpfVaVHzCzk098G0BG":{"uri":"/melonJS/docs/melonjs/device.html#accelerationX"},"SSEEpX7BRs_w_9Bke5hdV":{"uri":"/melonJS/docs/melonjs/device.html#accelerationY"},"bmRVOV2rerblaqHnhBB8o":{"uri":"/melonJS/docs/melonjs/device.html#accelerationZ"},"fy60D97qkwdzcxvMDkade":{"uri":"/melonJS/docs/melonjs/device.html#alpha"},"P06viLe3xHUAKZftYhwGz":{"uri":"/melonJS/docs/melonjs/device.html#autoFocus"},"WvkWWaEH1Hh70Rux9Rrrl":{"uri":"/melonJS/docs/melonjs/device.html#beta"},"HDaqWx9YtgeTmjTqHKVc5":{"uri":"/melonJS/docs/melonjs/device.html#devicePixelRatio"},"BBcszdvSJAVbWZF7fG18b":{"uri":"/melonJS/docs/melonjs/device.html#gamma"},"OcHkc7lB-3AHJUlMcZwxe":{"uri":"/melonJS/docs/melonjs/device.html#hasAccelerometer"},"1R1NKhWlQ13X8LvAAHOVW":{"uri":"/melonJS/docs/melonjs/device.html#hasDeviceOrientation"},"cqdwmxhmaLEsmS4HfKdlo":{"uri":"/melonJS/docs/melonjs/device.html#hasFullscreenSupport"},"UL3m1ED_GmMYspRqX7fuV":{"uri":"/melonJS/docs/melonjs/device.html#hasHTML5Audio"},"N0dkSeB_ri9NsJ2Q1QRiw":{"uri":"/melonJS/docs/melonjs/device.html#hasPointerLockSupport"},"c6tsnqEL6TIntslt1Qc6x":{"uri":"/melonJS/docs/melonjs/device.html#hasVideo"},"0QuGdQ-Zfs3-Qm3GlTk0G":{"uri":"/melonJS/docs/melonjs/device.html#hasWebAudio"},"bP5Z2tpWaEgLFIsKhfydq":{"uri":"/melonJS/docs/melonjs/device.html#isMobile"},"eGapLonwXt8VYF2hjx8xI":{"uri":"/melonJS/docs/melonjs/device.html#language"},"Hp4VIxjR241GvFz9WI9dK":{"uri":"/melonJS/docs/melonjs/device.html#localStorage"},"Jb4dt1SKGgpF_HL7z1M0E":{"uri":"/melonJS/docs/melonjs/device.html#maxTouchPoints"},"Fm5bcuk6TaYX1OkvryJhN":{"uri":"/melonJS/docs/melonjs/device.html#nativeBase64"},"ct3E648sL9Dk9EjexZEJL":{"uri":"/melonJS/docs/melonjs/device.html#offscreenCanvas"},"lYSSAaYPK9p4-q6kpgY_c":{"uri":"/melonJS/docs/melonjs/device.html#pauseOnBlur"},"v_ZQCvTx23ioU4JQJARbD":{"uri":"/melonJS/docs/melonjs/device.html#platform"},"9sNVd_4trF-zcZbsd10Me":{"uri":"/melonJS/docs/melonjs/device.html#pointerEvent"},"fimIGUTGd2pXgmHi7NIBN":{"uri":"/melonJS/docs/melonjs/device.html#resumeOnFocus"},"2Kwr7cWOqwgi-0qXW-8c_":{"uri":"/melonJS/docs/melonjs/device.html#screenOrientation"},"7gyyPx9-faSBXbfd3uWL4":{"uri":"/melonJS/docs/melonjs/device.html#sound"},"63pw3zUA0MsFjm3HdqR6G":{"uri":"/melonJS/docs/melonjs/device.html#stopOnBlur"},"fVxy_ziLlQKga4dajlYQ2":{"uri":"/melonJS/docs/melonjs/device.html#touch"},"Bpp0-MspnW4AqrY2vYO-G":{"uri":"/melonJS/docs/melonjs/device.html#touchEvent"},"YIgXphi_q_i5JTedV9vjU":{"uri":"/melonJS/docs/melonjs/device.html#wheel"},"jhxYnJz2eLRLzeMxZZrDA":{"uri":"/melonJS/docs/melonjs/device/enableSwipe.html"},"t4IH8q7mHfJkx0fNPu-mX":{"uri":"/melonJS/docs/melonjs/device/exitFullscreen.html"},"x_IC1hLXA0zBt7wNNWMPL":{"uri":"/melonJS/docs/melonjs/device/focus.html"},"YNPmyRZXMyII2O8-S-jUt":{"uri":"/melonJS/docs/melonjs/device/getElement.html"},"pJnudO4M7jNbAyfRfJkJg":{"uri":"/melonJS/docs/melonjs/device/getElementBounds.html"},"jVvCY17ncHjUcnbRG_CMS":{"uri":"/melonJS/docs/melonjs/device/getParentBounds.html"},"tzGkhTwK7LX6BdHtVvDAj":{"uri":"/melonJS/docs/melonjs/device/getParentElement.html"},"NjHKKNeIIuhhnG0KVDvke":{"uri":"/melonJS/docs/melonjs/device/getScreenOrientation.html"},"qAYVz_ep1zNvjlZaydUeZ":{"uri":"/melonJS/docs/melonjs/device/getStorage.html"},"CkJXq-M3cMLA0hH5vZts3":{"uri":"/melonJS/docs/melonjs/device/hasVideoFormat.html"},"ZVf3gVs-NfPHg2D2_QFi5":{"uri":"/melonJS/docs/melonjs/device/isFullscreen.html"},"RxNV6n8uzgQNBLDAju74s":{"uri":"/melonJS/docs/melonjs/device/isLandscape.html"},"hE2Wcffe82j_4y4YEFAOC":{"uri":"/melonJS/docs/melonjs/device/isPortrait.html"},"vL3qkFJblXO1UFpyS3ZlA":{"uri":"/melonJS/docs/melonjs/device/isWebGLSupported.html"},"TbGz4xZ9NSkPcMX5STt5n":{"uri":"/melonJS/docs/melonjs/device/lockOrientation.html"},"JNmAPk5n7X_MRN9UhsLzO":{"uri":"/melonJS/docs/melonjs/device/onReady.html"},"Jz7rbvVgXMuzOlbqTjO2N":{"uri":"/melonJS/docs/melonjs/device/requestFullscreen.html"},"d3G5X3OI8C9btVFrdk1O1":{"uri":"/melonJS/docs/melonjs/device/unlockOrientation.html"},"Wm1aZ3VIP8WPs7S2jyTlo":{"uri":"/melonJS/docs/melonjs/device/unwatchAccelerometer.html"},"z3Iq0cZfam0l7MIHeZWUk":{"uri":"/melonJS/docs/melonjs/device/unwatchDeviceOrientation.html"},"aVqQy7VCMAN3IqBDUMRKz":{"uri":"/melonJS/docs/melonjs/device/vibrate.html"},"ZLPD5gGUTkd-605PFi_t5":{"uri":"/melonJS/docs/melonjs/device/watchAccelerometer.html"},"zudsyWx8CxaN3r0ZJk1_E":{"uri":"/melonJS/docs/melonjs/device/watchDeviceOrientation.html"},"-Sf5O9DEkyGoIs5K9zVZk":{"uri":"/melonJS/docs/melonjs/event.html"},"Cz8uuvO8EiaGx7TlZ-tzn":{"uri":"/melonJS/docs/melonjs/event.html#BLUR"},"bnS4z36Q8vKAlHmRJxd0Q":{"uri":"/melonJS/docs/melonjs/event.html#BOOT"},"nQdpgqVtwkefb7vt4cWwh":{"uri":"/melonJS/docs/melonjs/event.html#CANVAS_ONRESIZE"},"62jHCajdJiFP3gEgCvyOL":{"uri":"/melonJS/docs/melonjs/event.html#DOM_READY"},"VbdeuqR9XSnWPjhZpgTQq":{"uri":"/melonJS/docs/melonjs/event.html#DRAGEND"},"IshosblLEQjJT22OAbhgD":{"uri":"/melonJS/docs/melonjs/event.html#DRAGSTART"},"x3ilpKK99YcDy5MNXqLDO":{"uri":"/melonJS/docs/melonjs/event.html#FOCUS"},"V-wYnGqKqDX5Qn5Yg1JnY":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_DRAW"},"oZDsylVGCnLQeHAg3gxlk":{"uri":"/melonJS/docs/melonjs/event.html#GAME_AFTER_UPDATE"},"SrypF1uJCSy-6zXMjS8zo":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_DRAW"},"r1336SxJZ0plXpXu8mx9k":{"uri":"/melonJS/docs/melonjs/event.html#GAME_BEFORE_UPDATE"},"1imXhUlVZi1HFvNCYktdz":{"uri":"/melonJS/docs/melonjs/event.html#GAME_INIT"},"tiuIuxaBvlAT0lYgzIGIq":{"uri":"/melonJS/docs/melonjs/event.html#GAME_RESET"},"o120GXAa8cm_9SmMPbq3x":{"uri":"/melonJS/docs/melonjs/event.html#GAME_UPDATE"},"t8FgtA0ZNYeEt4jRHlxGS":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_CONNECTED"},"QSbPN-h32yEKL3ftCc-AG":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_DISCONNECTED"},"mv_hcy3CWLmVhc1DnISiU":{"uri":"/melonJS/docs/melonjs/event.html#GAMEPAD_UPDATE"},"50jv39lLOizqH-U-G3g6x":{"uri":"/melonJS/docs/melonjs/event.html#KEYDOWN"},"nYg9_wtg3N858d1lKotiO":{"uri":"/melonJS/docs/melonjs/event.html#KEYUP"},"MkNbo9dZPsSbYB1s97aRO":{"uri":"/melonJS/docs/melonjs/event.html#LEVEL_LOADED"},"iK-dMYNGhfCGu1-CwIaeE":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_COMPLETE"},"YTeJ0jZdcYwIdLhMmGrF5":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_ERROR"},"X-reDl6l4RHjjUgRUlt4Z":{"uri":"/melonJS/docs/melonjs/event.html#LOADER_PROGRESS"},"h1bMQY8l6rzsWXxzcb5xj":{"uri":"/melonJS/docs/melonjs/event.html#ONCONTEXT_RESTORED"},"5tKadqQ-zKZVskGSVNpzC":{"uri":"/melonJS/docs/melonjs/event.html#POINTERLOCKCHANGE"},"VdxQ14f9aHowXGrDnuj5t":{"uri":"/melonJS/docs/melonjs/event.html#POINTERMOVE"},"sYvK3FQz47GuYW22kHH4g":{"uri":"/melonJS/docs/melonjs/event.html#STAGE_RESET"},"eQM0mFCa6hw4uYNs557Y7":{"uri":"/melonJS/docs/melonjs/event.html#STATE_CHANGE"},"pK-pGFU6Nh-vXnIjG5DcB":{"uri":"/melonJS/docs/melonjs/event.html#STATE_PAUSE"},"oDeLCyAqFDku_Qyu7zOmu":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESTART"},"cfBcUS_kGm0ITL7th1mMp":{"uri":"/melonJS/docs/melonjs/event.html#STATE_RESUME"},"vQEX5smH8K5qke_ehsOdX":{"uri":"/melonJS/docs/melonjs/event.html#STATE_STOP"},"BzPhQqhllRTTCRvJQO5ck":{"uri":"/melonJS/docs/melonjs/event.html#TICK"},"25rjEmFcqYgIGbvxyOSt2":{"uri":"/melonJS/docs/melonjs/event.html#VIDEO_INIT"},"b3geOvMX8aKOlqEyxvT36":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONCHANGE"},"CZxuFW7xnDGiPVDliEvOB":{"uri":"/melonJS/docs/melonjs/event.html#VIEWPORT_ONRESIZE"},"4yVg5g8iCx9rUNK00V99x":{"uri":"/melonJS/docs/melonjs/event.html#WEBGL_ONCONTEXT_LOST"},"Z5fR1o-Erj3dhE9FSYIbF":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONORIENTATION_CHANGE"},"G2RR1ifd6sYXvc-KEooFo":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONRESIZE"},"BWEVU4blZbqtfmMzhRRjl":{"uri":"/melonJS/docs/melonjs/event.html#WINDOW_ONSCROLL"},"SkRgTNeepaIorSVx7cMhs":{"uri":"/melonJS/docs/melonjs/event.html#WORLD_STEP"},"KOB2vcCIS5mjzMZTBPjwF":{"uri":"/melonJS/docs/melonjs/event/emit.html"},"iWhFnU3-i0Os8w_MUVcWt":{"uri":"/melonJS/docs/melonjs/event/off.html"},"jZYOlfINikHG3c_CBYbvP":{"uri":"/melonJS/docs/melonjs/event/on.html"},"GjmFUHbzd5mDqIS0ndLOd":{"uri":"/melonJS/docs/melonjs/event/once.html"},"jY4xq9kSl1RFoHiQ5d97l":{"uri":"/melonJS/docs/melonjs/game.html"},"PjfFupAFJWYpXWM8vhgkK":{"uri":"/melonJS/docs/melonjs/input.html"},"QKKYFTWCla84OYJ3tC7jv":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD.html"},"89r8tslyl4Acodm6YRbGZ":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/AXES.html"},"s6tOudWLzQkFEV7HhqRel":{"uri":"/melonJS/docs/melonjs/input/GAMEPAD/BUTTONS.html"},"IySAzMSTg0_icmbX7dDgb":{"uri":"/melonJS/docs/melonjs/input/KEY.html"},"QgrDpRiNWXGYfQhLoEegE":{"uri":"/melonJS/docs/melonjs/input/KEY.html#A"},"8IOAbJF6x2QubRuJ_CHve":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ADD"},"Xe2NvZ6J0L21CtQH-hlX9":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ALT"},"DE-FR4T_hgqBNZL1PLyTV":{"uri":"/melonJS/docs/melonjs/input/KEY.html#B"},"uV5tlu-IxZc7doAk4T9gO":{"uri":"/melonJS/docs/melonjs/input/KEY.html#BACK_SLASH"},"XJUeuVOl_1nT_t2QsHkqj":{"uri":"/melonJS/docs/melonjs/input/KEY.html#C"},"wpNitrbxtLIIvn-bCfoqi":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CAPS_LOCK"},"XYb5ALAZzjCklqkdWOy58":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CLOSE_BRACKET"},"RNLaX4uCDfi8Lrwzymba6":{"uri":"/melonJS/docs/melonjs/input/KEY.html#COMMA"},"KB0P6mG8xfGyvjUZZOn4C":{"uri":"/melonJS/docs/melonjs/input/KEY.html#CTRL"},"J6RY5Zs7pwvTBfOjVklX6":{"uri":"/melonJS/docs/melonjs/input/KEY.html#D"},"hEe-lLvLMdfglL4qiBDuW":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DECIMAL"},"NuFB-PYDRO6Ti_hu6Ra8x":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DELETE"},"iMPzRCn8eKP0pEwipxKxJ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DIVIDE"},"4enXzBVUFM9E2LpaGb_TM":{"uri":"/melonJS/docs/melonjs/input/KEY.html#DOWN"},"dUSwbob-9BdHhKlD99FX3":{"uri":"/melonJS/docs/melonjs/input/KEY.html#E"},"4XGEXt3uH8Lz7fpce8ON7":{"uri":"/melonJS/docs/melonjs/input/KEY.html#END"},"Pway8jnKhXcoGGin3QTF4":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ENTER"},"XEnJM_KtQHSqtscHOC57L":{"uri":"/melonJS/docs/melonjs/input/KEY.html#ESC"},"DfOEAkwD1gQehGLKa7vfH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F"},"c0tJECh6CkDB1OjOY1sPi":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F1"},"2KvcFj_qpBYiYJill0WSz":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F10"},"pm0qsIvbGipAA2YlvzmWy":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F11"},"-kYt_bFPmLzzWLdwlDJkR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F12"},"biSwEoXD4TkBbUAWGquCQ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F2"},"GwJsK0vNlHhwqbsfz0JnR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F3"},"l4uz_7XX4lAHKkwL05-_p":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F4"},"ocqFmajT2XHKZGFWH70m1":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F5"},"onuiaRuNVplTBSwqEbdpS":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F6"},"41kDME4RmKfVN7zYGt2eR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F7"},"_N0AvwUDgTnUNzgR-eUJy":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F8"},"v0-SikI3AGbH8WRc68dis":{"uri":"/melonJS/docs/melonjs/input/KEY.html#F9"},"ULuYG5l2Y7xctULRJc6dP":{"uri":"/melonJS/docs/melonjs/input/KEY.html#FORWAND_SLASH"},"TG5V8JA83md5X6BngSKCV":{"uri":"/melonJS/docs/melonjs/input/KEY.html#G"},"NX8kBE6X3npFMGz7xacGx":{"uri":"/melonJS/docs/melonjs/input/KEY.html#GRAVE_ACCENT"},"P7sdHM_gHB_K7y7wJ5PG0":{"uri":"/melonJS/docs/melonjs/input/KEY.html#H"},"uLC_bGHYA_PR0EuNeVe_r":{"uri":"/melonJS/docs/melonjs/input/KEY.html#HOME"},"vRjXDEMLuWf9kNmS7XG6T":{"uri":"/melonJS/docs/melonjs/input/KEY.html#I"},"Q6hDZler-USppk4ZBnGQj":{"uri":"/melonJS/docs/melonjs/input/KEY.html#INSERT"},"4cxKfR7ecybQDN-OODQrl":{"uri":"/melonJS/docs/melonjs/input/KEY.html#J"},"rHyROuvpAD8sOaZnYmBv_":{"uri":"/melonJS/docs/melonjs/input/KEY.html#K"},"5QPpNqvfrPsTWGvnEbUXd":{"uri":"/melonJS/docs/melonjs/input/KEY.html#L"},"sxByvkIy3OKk2B0AuOsxS":{"uri":"/melonJS/docs/melonjs/input/KEY.html#LEFT"},"GwCRlNc1vCCvlSUNGX8Fe":{"uri":"/melonJS/docs/melonjs/input/KEY.html#M"},"IClJdxLqsIYOYEo9FzAsO":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MINUS"},"Q30N8gPTXNd864mtsD9JB":{"uri":"/melonJS/docs/melonjs/input/KEY.html#MULTIPLY"},"xq1IV_eSzdD7oVT4kK5TV":{"uri":"/melonJS/docs/melonjs/input/KEY.html#N"},"VMuGw07CM1cBnKbrPzIRc":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM_LOCK"},"TVCEJ102_lc-7ZlWrVZ4p":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM0"},"1balF4oEpP1dF85ELr1pH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM1"},"rnUSmpd_vz6P-JMql360v":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM2"},"KJrnTKZyIvwDUdaviqMny":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM3"},"hA2NJMwG7Vodhegn44JrO":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM4"},"QrmvIKUEPnlhdw76UP5gO":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM5"},"vSZeuCsvnBYP16LsWYg6D":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM6"},"xwSihnmRag8YUwldiC56x":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM7"},"ek6dWgNCBnbYXFXUkvOr8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM8"},"LX8XDdYhBcX1mp52flbgI":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUM9"},"LUuBfDScyOWg-23jkJaIn":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD0"},"_B4t1_pndXLS_ZnFvPa5G":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD1"},"zguMYbKWgybV7EBUeXlJQ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD2"},"Ha3PgoNnlpHk4TcqU2isR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD3"},"v1sZ-A-5h3F5I_uofsY7W":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD4"},"Vb-dcN7WapMzpdmoffYAS":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD5"},"CCFIJqS7t_7wx2zX9cb2Z":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD6"},"61IYUX5laETXThG9HJBs5":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD7"},"gZVJ9V-YQgmIxzvT6IAI1":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD8"},"BusaJZWogxc5b-tXVUpji":{"uri":"/melonJS/docs/melonjs/input/KEY.html#NUMPAD9"},"wz8sc3i-Sj4cO9uDjYosI":{"uri":"/melonJS/docs/melonjs/input/KEY.html#O"},"cJwzvZkR00DroeqDMhE7z":{"uri":"/melonJS/docs/melonjs/input/KEY.html#OPEN_BRACKET"},"mfCDDOfurH50YeErLC3fB":{"uri":"/melonJS/docs/melonjs/input/KEY.html#P"},"ydtnutZOrQQoN4PmeALZO":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_DOWN"},"3ndGeas96SDEU3O_KI5Ac":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAGE_UP"},"upx6hHqz2K8ZJ0EDiAOh8":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PAUSE"},"u4YeoEfueS9zHAg6bVUvY":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PERIOD"},"iYlYXDx0jFuhI41Ymjert":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PLUS"},"mYQXRNFk-DInUY4t9tMs5":{"uri":"/melonJS/docs/melonjs/input/KEY.html#PRINT_SCREEN"},"bT_64aXXpiTShHeTPsvQp":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Q"},"IOjPWYvVZ5QlbYHXW3n6q":{"uri":"/melonJS/docs/melonjs/input/KEY.html#R"},"pDg2U1iSuZ0mA82l1RJ2D":{"uri":"/melonJS/docs/melonjs/input/KEY.html#RIGHT"},"bPcNzd4i-uaQhM_1RHU2a":{"uri":"/melonJS/docs/melonjs/input/KEY.html#S"},"eFdx6yriwKrgvTcq7VM-j":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SCROLL_LOCK"},"Nq8I4Emh6pODNczE5JuwQ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SEMICOLON"},"xKl49M9NnYH2UAK_RVeg4":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SHIFT"},"TA2BLNgyTfO6_fwxfDmJG":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SINGLE_QUOTE"},"BuJ7hFxygPR4bxz-8EIGg":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SPACE"},"ra7JV358w9CBtG9RFmmCT":{"uri":"/melonJS/docs/melonjs/input/KEY.html#SUBSTRACT"},"VZIMrAMq0xfKhqW6kwHF9":{"uri":"/melonJS/docs/melonjs/input/KEY.html#T"},"9QKfQtgH2AyzFvtbGtbPY":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TAB"},"Xy0dro0SIiFtO5z1hnaYV":{"uri":"/melonJS/docs/melonjs/input/KEY.html#TILDE"},"3hQUfG28lYpBgbJgP8Z_r":{"uri":"/melonJS/docs/melonjs/input/KEY.html#U"},"eZcs8tvImjlyToy0RGa1O":{"uri":"/melonJS/docs/melonjs/input/KEY.html#UP"},"pFhb4aaQy0_wxJjb9V6pF":{"uri":"/melonJS/docs/melonjs/input/KEY.html#V"},"lGagUB5BPMlAFrwxIMbai":{"uri":"/melonJS/docs/melonjs/input/KEY.html#W"},"t0LW3RAggtuqsIuhCvchK":{"uri":"/melonJS/docs/melonjs/input/KEY.html#WINDOW_KEY"},"eRm5QX8xz5XqzoJPiNKxR":{"uri":"/melonJS/docs/melonjs/input/KEY.html#X"},"lGNcv2rSNf2PcGqT8f5QH":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Y"},"H5F4qAKxTzw247kls63dZ":{"uri":"/melonJS/docs/melonjs/input/KEY.html#Z"},"UcWYBQKRsZxt8UkLVNDE-":{"uri":"/melonJS/docs/melonjs/input.html#keyBoardEventTarget"},"hqv5JMFBtj5FbZZf40OJM":{"uri":"/melonJS/docs/melonjs/input.html#locked"},"e9-_Cq54gg0Ic9ACLUIwE":{"uri":"/melonJS/docs/melonjs/input.html#pointer"},"MfSW6s6M3qHq-u4dcnfaf":{"uri":"/melonJS/docs/melonjs/input.html#pointerEventTarget"},"bdi5Hy_ZfKNhtWF-RFTSe":{"uri":"/melonJS/docs/melonjs/input.html#preventDefault"},"qWp2-odMMzZUpzm-PqGxS":{"uri":"/melonJS/docs/melonjs/input.html#setGamepadMapping"},"Yt0Mad3CMDq9LJLDpkv_r":{"uri":"/melonJS/docs/melonjs/input.html#throttlingInterval"},"cd3WHU2A4AgbUkjkzqFEZ":{"uri":"/melonJS/docs/melonjs/input/bindGamepad.html"},"uI_D1xBnEUnPsH81nA9ee":{"uri":"/melonJS/docs/melonjs/input/bindKey.html"},"7B7fg6Qj9JZG_tnDitsS5":{"uri":"/melonJS/docs/melonjs/input/bindPointer.html"},"ljcIUlc-X5PMNBxpWegnQ":{"uri":"/melonJS/docs/melonjs/input/exitPointerLock.html"},"Bm5GEP7hGY2INfYWAy8MZ":{"uri":"/melonJS/docs/melonjs/input/getBindingKey.html"},"McXd4qDQn5eLWYDOrITjT":{"uri":"/melonJS/docs/melonjs/input/globalToLocal.html"},"Mqcp0n2EeNHSCEQ4StFQZ":{"uri":"/melonJS/docs/melonjs/input/hasActiveEvents.html"},"Glual99W1Im3MJ5hsWb9G":{"uri":"/melonJS/docs/melonjs/input/hasRegisteredEvents.html"},"_NI31IpGmPwAlzuQ_S7xp":{"uri":"/melonJS/docs/melonjs/input/isKeyPressed.html"},"Q7gIZNV4xtmvgB8dNUwkE":{"uri":"/melonJS/docs/melonjs/input/keyStatus.html"},"2YpPqYCt2JYF1auYsKAJz":{"uri":"/melonJS/docs/melonjs/input/registerPointerEvent.html"},"snXbO2cfVNGraGLZDiAjp":{"uri":"/melonJS/docs/melonjs/input/releaseAllPointerEvents.html"},"M6GI3nmzNdLZ-wVLAkJAP":{"uri":"/melonJS/docs/melonjs/input/releasePointerEvent.html"},"SRhaSUdMF6XaZGhC9K1Bk":{"uri":"/melonJS/docs/melonjs/input/requestPointerLock.html"},"Z_upAUEsRK0BRzzb6p1RP":{"uri":"/melonJS/docs/melonjs/input/setGamepadDeadzone.html"},"jhiPzfUAnDqyzR6I_auOn":{"uri":"/melonJS/docs/melonjs/input/setTouchAction.html"},"9KfimRhChacWs-bbVZAy6":{"uri":"/melonJS/docs/melonjs/input/triggerKeyEvent.html"},"1TzBUYZal_TOZprQK-qic":{"uri":"/melonJS/docs/melonjs/input/unbindGamepad.html"},"0adoQa4SoVe4X_jJuzfKT":{"uri":"/melonJS/docs/melonjs/input/unbindKey.html"},"aQCdI7wQ_xDb8CvRJKPNz":{"uri":"/melonJS/docs/melonjs/input/unbindPointer.html"},"MWZSdMf2IRvqO0OcEOBcW":{"uri":"/melonJS/docs/melonjs/input/unlockKey.html"},"eH8vUsV29rY9RDzDdrLSg":{"uri":"/melonJS/docs/melonjs/level.html"},"sYgyzTqOn6dl3qVTzac55":{"uri":"/melonJS/docs/melonjs/level.html#add"},"hzsdb4sZq8AzhQ3nfNItx":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevel"},"kZ7UVaZqkNlvjIsT0LQgG":{"uri":"/melonJS/docs/melonjs/level.html#getCurrentLevelId"},"jRx9itsI0waZaa9Rc3EjT":{"uri":"/melonJS/docs/melonjs/level.html#levelCount"},"HuYXbRacwyh-Xuu1efGEi":{"uri":"/melonJS/docs/melonjs/level.html#load"},"vFkzFNnvAGQlp2UsOthWj":{"uri":"/melonJS/docs/melonjs/level.html#next"},"ylBmH1EXMgvDSfSFAZi3b":{"uri":"/melonJS/docs/melonjs/level.html#previous"},"Ratzd2YAG7320tyspb98G":{"uri":"/melonJS/docs/melonjs/level.html#reload"},"X3Wr2rGWqxa8JVxnUrMcL":{"uri":"/melonJS/docs/melonjs/loader.html"},"Qig5rXVEY3wx9NW1wMyga":{"uri":"/melonJS/docs/melonjs/loader/Asset.html"},"aU4Fng2mep1MVz6zn9Q5G":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#autoplay"},"1BeLzGORhBZfrrJsLGYf6":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#data"},"o4ENE0QFs9h8DjHDdCMjJ":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#loop"},"De2itJXr1Od7lzoEMmkvn":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#name"},"F6bLuM34xgqxSnxrv_jqB":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#src"},"gEJ7446IDKSTd7u5nzAET":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#stream"},"ryyIxBHmRJWUOKAhgZ1sU":{"uri":"/melonJS/docs/melonjs/loader/Asset.html#type"},"eYAqbEWy1l8au3I2mzEo8":{"uri":"/melonJS/docs/melonjs/loader.html#crossOrigin"},"O6LeokjuHTicu7ukapt6-":{"uri":"/melonJS/docs/melonjs/loader.html#onError"},"OlXjqK8lenJO1tKA-V-5A":{"uri":"/melonJS/docs/melonjs/loader.html#onload"},"X9-bVSZoyfGgyBNZR7SQ7":{"uri":"/melonJS/docs/melonjs/loader.html#onProgress"},"7sMY6wOvQJ8Ul4ThXKs8B":{"uri":"/melonJS/docs/melonjs/loader.html#withCredentials"},"UtqRRvX82FqJ1Bkq6RZWt":{"uri":"/melonJS/docs/melonjs/loader/getBinary.html"},"wUZk8V5xSbat4Td-wI1ta":{"uri":"/melonJS/docs/melonjs/loader/getImage.html"},"KmfvJjVKyP5HHSk7DC_PS":{"uri":"/melonJS/docs/melonjs/loader/getJSON.html"},"7BpqmieFP2oHvM_j6M-K1":{"uri":"/melonJS/docs/melonjs/loader/getTMX.html"},"1Wg82bwYexDk9bgPLsAYT":{"uri":"/melonJS/docs/melonjs/loader/getVideo.html"},"m7K-9C1tEleBe0MilUIes":{"uri":"/melonJS/docs/melonjs/loader/load.html"},"rWgloio8Jw3hc9jUPARO7":{"uri":"/melonJS/docs/melonjs/loader/preload.html"},"lFDD3U1ctKFIMRqpr-uZS":{"uri":"/melonJS/docs/melonjs/loader/reload.html"},"7jh5kvjDCmpqN1dSZtTtD":{"uri":"/melonJS/docs/melonjs/loader/setBaseURL.html"},"rj4uJnQitduXjYyQDT66C":{"uri":"/melonJS/docs/melonjs/loader/setOptions.html"},"xHow28TT0gi6zzsAhG40t":{"uri":"/melonJS/docs/melonjs/loader/setParser.html"},"Y1i7WYEKLrW3biMRBEa3N":{"uri":"/melonJS/docs/melonjs/loader/unload.html"},"ruOQO1P7Av13A2RzUHUBi":{"uri":"/melonJS/docs/melonjs/loader/unloadAll.html"},"57O0oGNlsKQPViahqLZGo":{"uri":"/melonJS/docs/melonjs/Math.html"},"0zcUf9KH3Zi7tY5zev4cF":{"uri":"/melonJS/docs/melonjs/Math.html#DEG_TO_RAD"},"IFOwoBln_3ia1b7jgs1yW":{"uri":"/melonJS/docs/melonjs/Math.html#EPSILON"},"Of59YUCCDJX3zdtA1UXmm":{"uri":"/melonJS/docs/melonjs/Math.html#ETA"},"dOo-wPRTFsuN4opsGJ_aO":{"uri":"/melonJS/docs/melonjs/Math.html#RAD_TO_DEG"},"QtO2cymlLSd2sv4uE65rq":{"uri":"/melonJS/docs/melonjs/Math.html#TAU"},"gTT0bSciarHzQgHERuUfR":{"uri":"/melonJS/docs/melonjs/Math/clamp.html"},"T2fGm2Trx-R3EmiV1uDpz":{"uri":"/melonJS/docs/melonjs/Math/degToRad.html"},"58hhwTKrl4VI1QDJa3aiU":{"uri":"/melonJS/docs/melonjs/Math/isPowerOfFour.html"},"LN5MMEk2fR3ruB08wbNKq":{"uri":"/melonJS/docs/melonjs/Math/isPowerOfTwo.html"},"A-YPPGwriSaC-ZDQ3b8QQ":{"uri":"/melonJS/docs/melonjs/Math/nextPowerOfTwo.html"},"7Pl-sHEEqN-grtYn_VR0J":{"uri":"/melonJS/docs/melonjs/Math/pow.html"},"nXyI5oclynjn8C2TckLYl":{"uri":"/melonJS/docs/melonjs/Math/radToDeg.html"},"Dcxp9qDON7-IKWNZiRbxV":{"uri":"/melonJS/docs/melonjs/Math/random.html"},"Emk0EU06ivKtw2v-I8MCZ":{"uri":"/melonJS/docs/melonjs/Math/randomFloat.html"},"K6jUFA2WIWYsL3FwVX39p":{"uri":"/melonJS/docs/melonjs/Math/round.html"},"Rc8RvVWcGl3vAv4QeY7Cb":{"uri":"/melonJS/docs/melonjs/Math/toBeCloseTo.html"},"w3wme5WXWrHqnXHRCxDuU":{"uri":"/melonJS/docs/melonjs/Math/weightedRandom.html"},"uMa7iAYFGjU4oW08jacHt":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html"},"UErNfyYeIku7CgAX_Kqza":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angle"},"iTOh9LTkzUeBEnAVfUKY4":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#angleVariation"},"jHB1DfpPD7bqjN1eM0Vi4":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#blendMode"},"bH0kCIS2drXsA0EA_iqYH":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#duration"},"8rfic_DFPOtlu_96gSghV":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#floating"},"GLh0wKQeYUcCinVDObAL7":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#followTrajectory"},"WkJpN38VSwRWbGVc-2u9w":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#framesToSkip"},"_O-1xHQKDs2-F8acSU_W9":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#frequency"},"P5eSKgkik9YHNmfrR8n-s":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#gravity"},"L8Ng1EUbDyAh5sTBEMxiv":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#height"},"kJ5gqLnzD3UPak8ooAftV":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#image"},"3PQSzASuHFGx1wN8ddWGi":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxEndScale"},"KPMrYhLEPuWDPJCrCemAf":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxLife"},"ki690-8vB_ebCCCMbqt8g":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxParticles"},"IodqdZmQLLlDrb4NohSoD":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxRotation"},"8OeDGkI3Bf39sFI4eJrwp":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#maxStartScale"},"NvReM80aqDwSsp6oaynYX":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minEndScale"},"h7YBLr9FtUoB25-yuEmTP":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minLife"},"S74_3JopNrGnzuwwDVtjD":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minRotation"},"Rh2vumjnpHiN0wU7luYaZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#minStartScale"},"V0Z-uhiYSKPl5RnYWtQnj":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#onlyInViewport"},"EYkY3C_xNo86d4zQxQMiN":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speed"},"Mw2M2n5T5--vg5zultdrr":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#speedVariation"},"LSyqkLRR__w3tFJjOngCo":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureAdditive"},"dijiq7FVCiq20p0IDnwXP":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#textureSize"},"tkemxeMo_XOgVxHgkAicl":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#tint"},"sbrBWrvYtT_DsPHplsfci":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#totalParticles"},"Y0tkcMcXnVnEK7WNyU7sN":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#width"},"Mej-Rb6v0zRvuiJhMBnPo":{"uri":"/melonJS/docs/melonjs/ParticleEmitterSettings.html#wind"},"eyVJcovKievisH5y3AwkM":{"uri":"/melonJS/docs/melonjs/plugin.html"},"FjFkEhTA5z__NeHHdSog2":{"uri":"/melonJS/docs/melonjs/plugin/Base.html"},"4Q2BQ2Dc-pfBtYFpBdsYB":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#app"},"a3V64YB0ts1uyRkLBHPnu":{"uri":"/melonJS/docs/melonjs/plugin/Base.html#version"},"xAh4XkiZC-4jigRgqll-9":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html"},"npkbAqipLYsgc7qI88p_a":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#app"},"eKmehWGuZB1X0RzNSCFJF":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#version"},"_GWTZAJJxp0CoiMIRQlrP":{"uri":"/melonJS/docs/melonjs/plugin/BasePlugin.html#constructor"},"07lG7bz7B3xEmXZ-RQpAo":{"uri":"/melonJS/docs/melonjs/plugin.html#cache"},"vNa0IfPLs8ACn7hmw9ysO":{"uri":"/melonJS/docs/melonjs/plugin/get.html"},"waFlXRTubXk2Qy2E5HL6t":{"uri":"/melonJS/docs/melonjs/plugin/patch.html"},"WpSLzeAcmuWqKQjl4a-Zx":{"uri":"/melonJS/docs/melonjs/plugin/register.html"},"82Qj6TgVMondf96kN31Co":{"uri":"/melonJS/docs/melonjs/pool.html"},"M2s2A-65HpfQxGLgPYRx8":{"uri":"/melonJS/docs/melonjs/save.html"},"7b0xxweDoeLtdVj31B4of":{"uri":"/melonJS/docs/melonjs/save.html#add"},"ie-rWmgP9QKliS5XUqpq4":{"uri":"/melonJS/docs/melonjs/save.html#remove"},"fKU9bsqDh7eym34Lv3Awx":{"uri":"/melonJS/docs/melonjs/state.html"},"RvCl2vq7_tBnzCZzLQeL2":{"uri":"/melonJS/docs/melonjs/state.html#CREDITS"},"OOU9k7w8k4vJ6h1GZvPu3":{"uri":"/melonJS/docs/melonjs/state.html#DEFAULT"},"vckn0FnW2wvVuKOHCVb4x":{"uri":"/melonJS/docs/melonjs/state.html#GAME_END"},"v0qQLsUyc5lMdt-MmhBhg":{"uri":"/melonJS/docs/melonjs/state.html#GAMEOVER"},"GiCUVId44s42vFf3lRLFj":{"uri":"/melonJS/docs/melonjs/state.html#LOADING"},"MrVWLrewSAQpRGY5n8Yuy":{"uri":"/melonJS/docs/melonjs/state.html#MENU"},"lmnu_Nx7vizEy9JvW-7EO":{"uri":"/melonJS/docs/melonjs/state.html#PLAY"},"EqBzG6g8_PdLhWdy92hga":{"uri":"/melonJS/docs/melonjs/state.html#READY"},"FRezp5iwponSOWcWOEaEP":{"uri":"/melonJS/docs/melonjs/state.html#SCORE"},"fry571u5WwdiAfkxCDcXL":{"uri":"/melonJS/docs/melonjs/state.html#SETTINGS"},"CpQBogS_H3w7khr0V5Vzh":{"uri":"/melonJS/docs/melonjs/state.html#USER"},"bEXkzdvUGhS8yt2G0BBvE":{"uri":"/melonJS/docs/melonjs/state.html#change"},"s0s1RrNgilXxrBIA_t-8a":{"uri":"/melonJS/docs/melonjs/state.html#current"},"eFPsOVHZShi8hzFQhkCCV":{"uri":"/melonJS/docs/melonjs/state.html#isCurrent"},"MYcAoUo3wpHBIMFpIWGmR":{"uri":"/melonJS/docs/melonjs/state.html#isPaused"},"fePzCgG-CHYspH1wVdLZD":{"uri":"/melonJS/docs/melonjs/state.html#isRunning"},"A4Hd88yK53suREeQBrGRs":{"uri":"/melonJS/docs/melonjs/state.html#pause"},"C5mRrzlHC7dbnlk5FNcWz":{"uri":"/melonJS/docs/melonjs/state.html#restart"},"s8K1CL8j9JjXIWfR41wjs":{"uri":"/melonJS/docs/melonjs/state.html#resume"},"Wcpl2A5SvC-qUIuoaV5lD":{"uri":"/melonJS/docs/melonjs/state.html#set"},"TnFiDGW2BvRndBf5kd8yb":{"uri":"/melonJS/docs/melonjs/state.html#set_"},"_TggAc_nGWDQ0HYhnG7gH":{"uri":"/melonJS/docs/melonjs/state.html#setTransition"},"hUOq6BJJPhUpJAbVgYigB":{"uri":"/melonJS/docs/melonjs/state.html#stop"},"MkyPFGy-R9J84qjgCEumN":{"uri":"/melonJS/docs/melonjs/state.html#transition"},"DEbY-B9sEB8UNNyT7FlQb":{"uri":"/melonJS/docs/melonjs/timer.html"},"a-jSZx-SnfjXDRRYD3sgc":{"uri":"/melonJS/docs/melonjs/TMXUtils.html"},"Atzj2lRVRmuAzlVzvP_uV":{"uri":"/melonJS/docs/melonjs/TMXUtils/applyTMXProperties.html"},"LevGzVQXLCzM1UAL7M2P6":{"uri":"/melonJS/docs/melonjs/TMXUtils/decode.html"},"QS7V-XejzQH51YF2mIWjE":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeBase64AsArray.html"},"qWLXADapSqESF3ycDSCKZ":{"uri":"/melonJS/docs/melonjs/TMXUtils/decodeCSV.html"},"ntoV8DRL2pycGLhqXbSjU":{"uri":"/melonJS/docs/melonjs/TMXUtils/decompress.html"},"9xyw2KnvzlhDItaOx2tdz":{"uri":"/melonJS/docs/melonjs/TMXUtils/parse.html"},"A3BjWKln2Xpna-Ta2KN96":{"uri":"/melonJS/docs/melonjs/TMXUtils/setInflateFunction.html"},"ucAuftJCChBZDHVdYLwhu":{"uri":"/melonJS/docs/melonjs/utils.html"},"Tz1auN-GkgtGmfP3p8fCi":{"uri":"/melonJS/docs/melonjs/utils/agent.html"},"tXtpKhwvD1Ime1CMbxU4F":{"uri":"/melonJS/docs/melonjs/utils/agent/prefixed.html"},"ry80E_3aEURQXVgcRqnmF":{"uri":"/melonJS/docs/melonjs/utils/agent/setPrefixed.html"},"j4pJsuxWQTadthqNnf8Os":{"uri":"/melonJS/docs/melonjs/utils/array.html"},"RH0QQFigFuwWrh8pq05hu":{"uri":"/melonJS/docs/melonjs/utils/array/random.html"},"gx0_Usybq4_S7cXweA4JA":{"uri":"/melonJS/docs/melonjs/utils/array/remove.html"},"RA4QhM47f5C9loHP0pC9V":{"uri":"/melonJS/docs/melonjs/utils/array/weightedRandom.html"},"K0YHHK-e7mguToPFtYS20":{"uri":"/melonJS/docs/melonjs/utils/file.html"},"0qKLVVW6N_oG4Jg9SmJaG":{"uri":"/melonJS/docs/melonjs/utils/file/getBasename.html"},"WPbe_ttzZUdxPVkD024QY":{"uri":"/melonJS/docs/melonjs/utils/file/getExtension.html"},"5qx8GNeIMe3_PZrsF8hgK":{"uri":"/melonJS/docs/melonjs/utils/file/getPath.html"},"ezvitXywfMaiKIMKBu4fI":{"uri":"/melonJS/docs/melonjs/utils/function.html"},"hkSIIjBHotZsgFOcXqdyK":{"uri":"/melonJS/docs/melonjs/utils/function/defer.html"},"61YNbSK5XrGABlmjeFqRA":{"uri":"/melonJS/docs/melonjs/utils/function/throttle.html"},"LAU3P2WfSO2NGPsidcq4n":{"uri":"/melonJS/docs/melonjs/utils/string.html"},"Vgb9Zh9UZahbXP0_2R7CP":{"uri":"/melonJS/docs/melonjs/utils/string/capitalize.html"},"dNO7xPmZ657I-Cz9nN96v":{"uri":"/melonJS/docs/melonjs/utils/string/isBoolean.html"},"C96FZV4i3brAg_D6XDB3R":{"uri":"/melonJS/docs/melonjs/utils/string/isDataUrl.html"},"aBZhQPHrIivQ0E7Pgm4CL":{"uri":"/melonJS/docs/melonjs/utils/string/isNumeric.html"},"41GLwF0VLh7furP42ZlEh":{"uri":"/melonJS/docs/melonjs/utils/string/toHex.html"},"yzKcUmmVpkDytuc3ziqdQ":{"uri":"/melonJS/docs/melonjs/utils/checkVersion.html"},"RmjSihqQLPYAAApAUnJ1G":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html"},"8Mk0bBYku1xwPSthLJs4Y":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debug"},"1PSchj0tKcIdMyJVg2JpW":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#debugToggleKey"},"Fub5dEbZhzPcTpo4h0Rhz":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#hitbox"},"i4rk1QLodt_ZaWfvDLLMw":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#quadtree"},"-k3niYkbEyzbn59ssuavV":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#velocity"},"ClIoA5eoDYbmMMqAvwcCH":{"uri":"/melonJS/docs/melonjs/utils/getUriFragment.html#webgl"},"3mkZnf_NVnX22OjxWaZRs":{"uri":"/melonJS/docs/melonjs/video.html"},"JLGkALd27frCSxi60Q-_t":{"uri":"/melonJS/docs/melonjs/video.html#renderer"},"liIGSfNds6WwoFc25d3OJ":{"uri":"/melonJS/docs/melonjs/video/createCanvas.html"},"vj2xVzhxQKU04AMiVEigo":{"uri":"/melonJS/docs/melonjs/video/getParent.html"},"Fb8MxEOeupFuau023kdzC":{"uri":"/melonJS/docs/melonjs/video/init.html"},"eqSpFDbB7zaCqTmBzIagl":{"uri":"/melonJS/docs/melonjs/Application.html"},"emrkRFePNBInvZhxEam-E":{"uri":"/melonJS/docs/melonjs/Application/Settings.html"},"_ZhxIqlZ6lZXjQ6wOc0dM":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#antiAlias"},"DC8HsGU_H1JU9dHLdnwvD":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#canvas"},"vk00nOqHszUfaytfCzJ7G":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#consoleHeader"},"tmADi2XV-7jUOl37lRjnW":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#depthTest"},"3IiuLooe08eavlXpRsYFx":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#parent"},"kU5JyZXh6egd5VSRRP3Te":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#powerPreference"},"4zaWcpPWmmbIAWIy9qiGI":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#preferWebGL1"},"dvUo5qU7T60pTBWhOOCab":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#renderer"},"Hi44wBHYCEWLN5Vv9UZ9d":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scale"},"_gKb_9vp-LVf2CSpy9R9U":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleMethod"},"yHhx5B_VHIfgPts5n7YNO":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#scaleTarget"},"lZtw4W1BwhlKc7r3lLdSo":{"uri":"/melonJS/docs/melonjs/Application/Settings.html#transparent"},"ULPEzAYJti5_CX9WNYLdO":{"uri":"/melonJS/docs/melonjs/Application.html#isInitialized"},"wdQlctijuZcMJEjlFlJgD":{"uri":"/melonJS/docs/melonjs/Application.html#lastUpdate"},"CDAZiS7UPtGKMx-dKv7RK":{"uri":"/melonJS/docs/melonjs/Application.html#mergeGroup"},"KjT8839yFXJOO3zXFz6w7":{"uri":"/melonJS/docs/melonjs/Application.html#parentElement"},"fUBmuJ7q_COeU5U2t1Gwo":{"uri":"/melonJS/docs/melonjs/Application.html#pauseOnBlur"},"hUeuMI1HSpenly85DI-zH":{"uri":"/melonJS/docs/melonjs/Application.html#renderer"},"oNjKd15jwWdBs8znNmW3I":{"uri":"/melonJS/docs/melonjs/Application.html#resumeOnFocus"},"aEP9Iy4PE5rB0DyEzrhx2":{"uri":"/melonJS/docs/melonjs/Application.html#settings"},"lAkVFAIOKi9DgCHCop67b":{"uri":"/melonJS/docs/melonjs/Application.html#sortOn"},"hpSfZ9G6P-D1Bb7ugusRy":{"uri":"/melonJS/docs/melonjs/Application.html#stopOnBlur"},"uUIfmLNdzFS6sgGX4XB_t":{"uri":"/melonJS/docs/melonjs/Application.html#viewport"},"H1eUreR3waQFHm07FcWrv":{"uri":"/melonJS/docs/melonjs/Application.html#world"},"dHC7r80if7lQiNT__a2eh":{"uri":"/melonJS/docs/melonjs/Application.html#constructor"},"qOPMKINJbAUvRAHh0_axT":{"uri":"/melonJS/docs/melonjs/Application.html#draw"},"q0Jwtukc2Xku-uGaniyhi":{"uri":"/melonJS/docs/melonjs/Application.html#getParentElement"},"r0vTqV9wK9Yl7eWjsZeaN":{"uri":"/melonJS/docs/melonjs/Application.html#init"},"L7BCx31TeQjHzbFqsAiC6":{"uri":"/melonJS/docs/melonjs/Application.html#onLevelLoaded"},"o85_BC6NkxppejMMb5N-A":{"uri":"/melonJS/docs/melonjs/Application.html#repaint"},"OjeXqPMLwrV--Aa73hj7K":{"uri":"/melonJS/docs/melonjs/Application.html#reset"},"wxzIIw0aoXoCVTO9YMXtq":{"uri":"/melonJS/docs/melonjs/Application.html#update"},"C1rl23Xa00vsGa9uGOwOC":{"uri":"/melonJS/docs/melonjs/Application.html#updateFrameRate"},"30FthVdCx8OmpPz_zrTy3":{"uri":"/melonJS/docs/melonjs/BitmapText.html"},"D7N8o07FZUf1vhRmBgK2D":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alpha"},"I7y2UdSVtaL9j6VduDAZV":{"uri":"/melonJS/docs/melonjs/BitmapText.html#alwaysUpdate"},"eUEeegojdrA-uBHr_Clnp":{"uri":"/melonJS/docs/melonjs/BitmapText.html#ancestor"},"ylgLuJPoLoeUYQjxW3nA_":{"uri":"/melonJS/docs/melonjs/BitmapText.html#anchorPoint"},"j43rrLLFrtgJRZss6eEvG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#autoTransform"},"vfJzxgiZjrA1HcZ7NEA1Y":{"uri":"/melonJS/docs/melonjs/BitmapText.html#blendMode"},"jNOeWr-krK0HQmH22t9iy":{"uri":"/melonJS/docs/melonjs/BitmapText.html#body"},"FBea9IYC79aENsV3vR33A":{"uri":"/melonJS/docs/melonjs/BitmapText.html#bottom"},"SzmYEcudtg0FFnRFs2HHI":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerX"},"jzyqrDScjFmfcVh2jTv21":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerY"},"cPMtop2LAbYo1ycHBtayp":{"uri":"/melonJS/docs/melonjs/BitmapText.html#currentTransform"},"F-SNjFNpKDQ4hzT6rv85F":{"uri":"/melonJS/docs/melonjs/BitmapText.html#depth"},"C-5uY-ZCF3olhXGgt5O59":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fillStyle"},"1ZYZgbvebAiedrgHcDKXK":{"uri":"/melonJS/docs/melonjs/BitmapText.html#floating"},"_TGXaZQaocL_wvXDQiAHi":{"uri":"/melonJS/docs/melonjs/BitmapText.html#GUID"},"f7dwa-kOYaQtQs6q4k81K":{"uri":"/melonJS/docs/melonjs/BitmapText.html#height"},"lt7YjQTP_KNtNPZuPfqqm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#inViewport"},"YxZ11Wj8gv9My3VwwXfpl":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isDirty"},"J_DtlLQz34K_2CJABF2HL":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedX"},"Qoh02oEqHwyqtFcwzyHv5":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFlippedY"},"c8VsdDNyQ46z8c_5rVbBW":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFloating"},"Fs5X0guX_VDWAxRi1fj7V":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isKinematic"},"E54g3HWUBIj8ggt6jl4X0":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isPersistent"},"JAlYECqUBzcKCWuLZ_G7a":{"uri":"/melonJS/docs/melonjs/BitmapText.html#left"},"i_5DqoFspm1_xEofFXsPV":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lineHeight"},"w3Tzk77uOPj-8qJdbiw2_":{"uri":"/melonJS/docs/melonjs/BitmapText.html#mask"},"yUoLr8yWgw6GZ_qnA7qLD":{"uri":"/melonJS/docs/melonjs/BitmapText.html#name"},"TC33QqFP-ATgZTzBFWAny":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onVisibilityChange"},"tgn6DE_R7h3J78kXe0zxB":{"uri":"/melonJS/docs/melonjs/BitmapText.html#parentApp"},"aU3dqa5vfS2wjfe_jhBsA":{"uri":"/melonJS/docs/melonjs/BitmapText.html#points"},"9JLBfGmOiewmehMBVEg-C":{"uri":"/melonJS/docs/melonjs/BitmapText.html#pos"},"U6dpts6h5iBG3fo9uiiOG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#right"},"H6deqhzdVHFcCX0zf2MQe":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shader"},"hFTQm9NLRfNS6igDw8e1J":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textAlign"},"wm-iC0GwyLya0sJa76NY0":{"uri":"/melonJS/docs/melonjs/BitmapText.html#textBaseline"},"_qzkCUtpUquT57uQL3Leb":{"uri":"/melonJS/docs/melonjs/BitmapText.html#tint"},"TtDGx4M53kgdiy_h407IL":{"uri":"/melonJS/docs/melonjs/BitmapText.html#top"},"pIfCRPlE6wndmNpFOxnG1":{"uri":"/melonJS/docs/melonjs/BitmapText.html#type"},"dUNCmEgwmyTZNEPoVlnvk":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateWhenPaused"},"77jYxTfzc2vr35QQZL-Sf":{"uri":"/melonJS/docs/melonjs/BitmapText.html#width"},"bHLr1cT5O6-JVQgLAfpkJ":{"uri":"/melonJS/docs/melonjs/BitmapText.html#wordWrapWidth"},"cuxz0Rz9r37J3IJcOigcD":{"uri":"/melonJS/docs/melonjs/BitmapText.html#_text"},"uXHRM62fHkHkFMSsTBwuH":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontData"},"8ppewfuVjQVvVuiEXDbsz":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontImage"},"72IO_G1uZ0yqTw3aHNZn8":{"uri":"/melonJS/docs/melonjs/BitmapText.html#fontScale"},"juTAm5xEcOm18pPzjE5qx":{"uri":"/melonJS/docs/melonjs/BitmapText.html#angleTo"},"XOT1YDWIRY0Gta5v8EVpS":{"uri":"/melonJS/docs/melonjs/BitmapText.html#centerOn"},"pjgpkhVdYPBjJQGCbHtFG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#clone"},"IgNSOO-z0XCA_VJPTSXmA":{"uri":"/melonJS/docs/melonjs/BitmapText.html#constructor"},"yS0Lsre2iCT1Bv59Fwnwt":{"uri":"/melonJS/docs/melonjs/BitmapText.html#contains"},"Pdkspuoa1NuFliw4LPGeV":{"uri":"/melonJS/docs/melonjs/BitmapText.html#copy"},"xTlth3FgoWT1lx4IEyYdK":{"uri":"/melonJS/docs/melonjs/BitmapText.html#distanceTo"},"QBk6IJGvfuXOp2XnAtrAb":{"uri":"/melonJS/docs/melonjs/BitmapText.html#draw"},"9MK6Y49nxeek0jpsEaCNO":{"uri":"/melonJS/docs/melonjs/BitmapText.html#equals"},"Kg0TgH7XUbPTjN0bsj4xW":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipX"},"eDQV5y6Dx8vH7PFNMOnDT":{"uri":"/melonJS/docs/melonjs/BitmapText.html#flipY"},"NdFB0l2AwnB9j90eh9O3F":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getAbsolutePosition"},"tNM0RYk5B13rDMyIRhiMj":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getBounds"},"z9a-U7VHSEu-BKHjhc5nG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getIndices"},"uE6EclIwO3dabjn3CkRnX":{"uri":"/melonJS/docs/melonjs/BitmapText.html#getOpacity"},"pmFXR1QOxQgOJJbBEZHE9":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isConvex"},"GHQ9m1e6qck_MWeIar4sY":{"uri":"/melonJS/docs/melonjs/BitmapText.html#isFinite"},"0e-y8FjvY6qGlCU_zkrXO":{"uri":"/melonJS/docs/melonjs/BitmapText.html#lookAt"},"snaxY6d5yuKX-731FpOB3":{"uri":"/melonJS/docs/melonjs/BitmapText.html#measureText"},"mSUEWhbsea0or4TXkaNae":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onCollision"},"gvpGO6I1xgInn4j03oAfc":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onDestroyEvent"},"yISdh4ndUBuaUHammeSOq":{"uri":"/melonJS/docs/melonjs/BitmapText.html#overlaps"},"DsEzsU7P4E6BrhIoTdsUa":{"uri":"/melonJS/docs/melonjs/BitmapText.html#postDraw"},"c29dj-qqFxENUr1npbvFm":{"uri":"/melonJS/docs/melonjs/BitmapText.html#preDraw"},"V0zFk4U0k2sCJcOphRp6p":{"uri":"/melonJS/docs/melonjs/BitmapText.html#recalc"},"0YMcRgiVD7QrZVmuoRPcy":{"uri":"/melonJS/docs/melonjs/BitmapText.html#resize"},"GXgaZBmQGi-bJgtZimhEG":{"uri":"/melonJS/docs/melonjs/BitmapText.html#rotate"},"9h2lcJEc9mOmh6GUIR-jM":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scale"},"CN7C3e5kMFpNUa5IYAd0j":{"uri":"/melonJS/docs/melonjs/BitmapText.html#scaleV"},"0ZOcZumX_in7rRArHVTqb":{"uri":"/melonJS/docs/melonjs/BitmapText.html#set"},"hP2FV_qTyUJ3BKKQbSS3w":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setOpacity"},"TZHAm9JxjgCD0516ztyK_":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setShape"},"hpw_0JMHvFXBdpLQfDT1j":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setText"},"nQCx3hHo-YiYGQ4ZYz5vx":{"uri":"/melonJS/docs/melonjs/BitmapText.html#setVertices"},"tHH1jjNzKSrfoh0koUbFX":{"uri":"/melonJS/docs/melonjs/BitmapText.html#shift"},"P6iUwsnfPBkxF2ABHfBXX":{"uri":"/melonJS/docs/melonjs/BitmapText.html#to2d"},"aTJdPaB6wj1jV7NXBl1jj":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toIso"},"P-15sJDiIyHh6AO1o8D4H":{"uri":"/melonJS/docs/melonjs/BitmapText.html#toPolygon"},"dKYM88ndod99dPTa3uJTk":{"uri":"/melonJS/docs/melonjs/BitmapText.html#transform"},"0GdIuzhfEbji5f-v7kx84":{"uri":"/melonJS/docs/melonjs/BitmapText.html#translate"},"lU_ypgwkzOwXpUuxEaxoA":{"uri":"/melonJS/docs/melonjs/BitmapText.html#union"},"a2ozJfDpp7xq0BFCG2mVK":{"uri":"/melonJS/docs/melonjs/BitmapText.html#update"},"-UXzw-p_53sSTcx94GSrP":{"uri":"/melonJS/docs/melonjs/BitmapText.html#updateBounds"},"tKTFfagvOxFHZDEcnQtpM":{"uri":"/melonJS/docs/melonjs/BitmapText.html#onAnchorUpdate"},"sg4o2piYlKA9qxP5ew12I":{"uri":"/melonJS/docs/melonjs/Body.html"},"-c4j4a8VKfLaTFs9Plz3L":{"uri":"/melonJS/docs/melonjs/Body.html#ancestor"},"U8DEsqG6tpiBAi5somixt":{"uri":"/melonJS/docs/melonjs/Body.html#bounce"},"vvXVxCrESHriE-yk0jk8s":{"uri":"/melonJS/docs/melonjs/Body.html#bounds"},"aKuK87Js0muvOM31oDfri":{"uri":"/melonJS/docs/melonjs/Body.html#collisionType"},"qKFVX3E3PrPGjL_JUhpBi":{"uri":"/melonJS/docs/melonjs/Body.html#falling"},"c23xUg5ck4CyjACQPbTGi":{"uri":"/melonJS/docs/melonjs/Body.html#force"},"-27lszq5-R_eds3LERp0_":{"uri":"/melonJS/docs/melonjs/Body.html#friction"},"yBozAWAgiuy5edFEYnkQA":{"uri":"/melonJS/docs/melonjs/Body.html#gravityScale"},"IjNIg6xc5vwNAPy5GurRt":{"uri":"/melonJS/docs/melonjs/Body.html#ignoreGravity"},"HLV9lHrWtmrE17u2fNqod":{"uri":"/melonJS/docs/melonjs/Body.html#isStatic"},"y0XVzmQA17twsNEA-ZwtD":{"uri":"/melonJS/docs/melonjs/Body.html#jumping"},"LdOGTiZPMm4__ZIauhVN-":{"uri":"/melonJS/docs/melonjs/Body.html#mass"},"8Nzdqlho_Whb5zgI86xk3":{"uri":"/melonJS/docs/melonjs/Body.html#maxVel"},"DuqPW45L4At8qmuKpXkvG":{"uri":"/melonJS/docs/melonjs/Body.html#vel"},"C4yK3xfSxtOi47woDWzjS":{"uri":"/melonJS/docs/melonjs/Body.html#addShape"},"-WqkEe0lpWwCCMEEN4Y1H":{"uri":"/melonJS/docs/melonjs/Body.html#addVertices"},"jTUBJGY7yUSO3Mnyz0iTs":{"uri":"/melonJS/docs/melonjs/Body.html#constructor"},"iQVG6dyHUyPDY-_2fgwxZ":{"uri":"/melonJS/docs/melonjs/Body.html#contains"},"Hp_wM8i9EPI88QMOlKSXZ":{"uri":"/melonJS/docs/melonjs/Body.html#forEach"},"RkBQmgxjuidMNDARgmvT1":{"uri":"/melonJS/docs/melonjs/Body.html#fromJSON"},"WNTzF7Eg54nu3aKNztYR9":{"uri":"/melonJS/docs/melonjs/Body.html#getBounds"},"NQ6Awp3JgzuawqcqseTtY":{"uri":"/melonJS/docs/melonjs/Body.html#getShape"},"wPHzzd1KaUDiTmjX5fFRD":{"uri":"/melonJS/docs/melonjs/Body.html#removeShape"},"n3cW4G__ql76j0VBKCst1":{"uri":"/melonJS/docs/melonjs/Body.html#removeShapeAt"},"_jTOV1OTy0lI5w-sJQlvC":{"uri":"/melonJS/docs/melonjs/Body.html#respondToCollision"},"-jVNKnbtOkxg-Ylf3jFSg":{"uri":"/melonJS/docs/melonjs/Body.html#rotate"},"1GyucdTgsKEPEKQd8_Ocf":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionMask"},"9Rw1XteWV43LU3L2Ql-3d":{"uri":"/melonJS/docs/melonjs/Body.html#setCollisionType"},"iU3SkH8eVfzVA-Rffc7xj":{"uri":"/melonJS/docs/melonjs/Body.html#setFriction"},"zDiMWROMHG6HcEMRyl7Ja":{"uri":"/melonJS/docs/melonjs/Body.html#setMaxVelocity"},"1XL9NroQw72KRV2TzBEUq":{"uri":"/melonJS/docs/melonjs/Body.html#setStatic"},"WIFG8a3SPDAYIq-xiXbPS":{"uri":"/melonJS/docs/melonjs/Body.html#setVertices"},"ZOFCzpTgOEPBhsrkIc82b":{"uri":"/melonJS/docs/melonjs/Body.html#update"},"B-jKdlwDxW2Xm34w8tGHg":{"uri":"/melonJS/docs/melonjs/Bounds.html"},"t_lf8-N8phvnpKgBfR_Lo":{"uri":"/melonJS/docs/melonjs/Bounds.html#bottom"},"oD0vqu0MtKPRM5EpU99tT":{"uri":"/melonJS/docs/melonjs/Bounds.html#center"},"mGOLj1qwbwoP38IWUfJYT":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerX"},"CQcHfNjEDS5j0EccV-D4D":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerY"},"oPWiHMdwy8w6q2qXQDJBD":{"uri":"/melonJS/docs/melonjs/Bounds.html#height"},"ltmSRv6VlhD59HO__iJyF":{"uri":"/melonJS/docs/melonjs/Bounds.html#left"},"MdYHY6r-ozkrI5l0F6nOR":{"uri":"/melonJS/docs/melonjs/Bounds.html#right"},"4_CZQoJnC9T-oiRMPwdXt":{"uri":"/melonJS/docs/melonjs/Bounds.html#top"},"AkUj21DapLZVwqdZMw1t-":{"uri":"/melonJS/docs/melonjs/Bounds.html#type"},"IJdRV9ORd0UNrLzofKu3f":{"uri":"/melonJS/docs/melonjs/Bounds.html#width"},"ZIg4cblwcFrhz2OMkmXNw":{"uri":"/melonJS/docs/melonjs/Bounds.html#x"},"w9OH3dG4Kx3rQh3LizII0":{"uri":"/melonJS/docs/melonjs/Bounds.html#y"},"G7zyrBPOIBB_Jrcsi_dyS":{"uri":"/melonJS/docs/melonjs/Bounds.html#add"},"dGRR0JQvmb73IaKhwO6zE":{"uri":"/melonJS/docs/melonjs/Bounds.html#addBounds"},"4Sh78EXDiGBXkB5y2DG-f":{"uri":"/melonJS/docs/melonjs/Bounds.html#addFrame"},"X4EOi-slblU2d1OjtKdbL":{"uri":"/melonJS/docs/melonjs/Bounds.html#addPoint"},"PW-QUDuydBJRjuyIegieX":{"uri":"/melonJS/docs/melonjs/Bounds.html#centerOn"},"f8gXYeTQrlt3AJuO4iKF4":{"uri":"/melonJS/docs/melonjs/Bounds.html#clear"},"tDZNIFxx1MZuBHM8JEpWz":{"uri":"/melonJS/docs/melonjs/Bounds.html#clone"},"76M7YBU7xxbp1R9LymTfx":{"uri":"/melonJS/docs/melonjs/Bounds.html#constructor"},"BCYeBYrPovbRKoROcBDPE":{"uri":"/melonJS/docs/melonjs/Bounds.html#contains"},"mYwqRWzTyEnS5_u4_0ZVj":{"uri":"/melonJS/docs/melonjs/Bounds.html#isFinite"},"5uN2gl6RMMmtPT9BZBOcC":{"uri":"/melonJS/docs/melonjs/Bounds.html#overlaps"},"0hVgPuCt9j25IraI5EVJp":{"uri":"/melonJS/docs/melonjs/Bounds.html#setMinMax"},"4rzzWiqeKL8UkrQROMd0b":{"uri":"/melonJS/docs/melonjs/Bounds.html#shift"},"84xCsC_-_wCJg1jufAwoE":{"uri":"/melonJS/docs/melonjs/Bounds.html#toPolygon"},"6igHjO8UWu6vhISTGotqY":{"uri":"/melonJS/docs/melonjs/Bounds.html#translate"},"dqCqaOUkGDmU45SePU6k9":{"uri":"/melonJS/docs/melonjs/Bounds.html#update"},"XEMciw6gFYftq0nLPEYF_":{"uri":"/melonJS/docs/melonjs/Camera2d.html"},"9RZbFA2FYR1-DfKARjlDu":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html"},"SbjWYGMXe6prmsx2YjTEu":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#BOTH"},"tMRcEBmC9BzfuTLGSpQju":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#HORIZONTAL"},"atz-mP5Zo9zNulOyHebxf":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#NONE"},"PF8dgTYhGwlotQteDV-0v":{"uri":"/melonJS/docs/melonjs/Camera2d/AXIS.html#VERTICAL"},"VJ9y5butvjW0AgoVf5lt_":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alpha"},"8ez5ilzYZfMqRJEH_VXqm":{"uri":"/melonJS/docs/melonjs/Camera2d.html#alwaysUpdate"},"IepXtorSL9q5RfExWP-Gp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#ancestor"},"tc7z7Wzblfk1rt2S_b3rz":{"uri":"/melonJS/docs/melonjs/Camera2d.html#anchorPoint"},"zn4Oy0dQCDoInHQMBNbD8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#autoTransform"},"KJJ8i0OsKIxjmJ06f_M42":{"uri":"/melonJS/docs/melonjs/Camera2d.html#blendMode"},"xxJ8qqyLMe_gIbkMliQ0i":{"uri":"/melonJS/docs/melonjs/Camera2d.html#body"},"ZqLKIEJ3KP2vONRhJilch":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bottom"},"gMa-cmWgxM3JbTU-C64dS":{"uri":"/melonJS/docs/melonjs/Camera2d.html#bounds"},"V3kNCj_QuXkv0Msq4TOVn":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerX"},"7sPw-z3WAD3j78-NjMfWC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerY"},"fNp7IcOwkhKbL-aalEKNt":{"uri":"/melonJS/docs/melonjs/Camera2d.html#currentTransform"},"YZ-CDqAgz0hxWI9mIxNr9":{"uri":"/melonJS/docs/melonjs/Camera2d.html#damping"},"D4zWaPzla0w2IS_GNpG3y":{"uri":"/melonJS/docs/melonjs/Camera2d.html#depth"},"oe9kt4c7wK_XLsogzXRdi":{"uri":"/melonJS/docs/melonjs/Camera2d.html#far"},"WhAbvFh00ikpdDEYITTgU":{"uri":"/melonJS/docs/melonjs/Camera2d.html#floating"},"4kANwdA_Cg-yE5RJzfnVh":{"uri":"/melonJS/docs/melonjs/Camera2d.html#GUID"},"2DTgjypT52gE9W60UOHnZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#height"},"tCoG28vvPkTKVFdbBn4gZ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#inViewport"},"hFDR2lTAGnelTrKUtn1YG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isDirty"},"s0wOvTwJMPur4dU3wPquM":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedX"},"vg5JO-ba7vuz1rZ1pQ6iT":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFlippedY"},"LYXbpoWOxN89IujmHhTCP":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFloating"},"5wRj9BNPgkNxDSfwFVVHV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isKinematic"},"hayzBftbPY79pZkxfyhV7":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isPersistent"},"QwEvLsPPaLksbbgfC8b_B":{"uri":"/melonJS/docs/melonjs/Camera2d.html#left"},"C3PNgkQrnOVoJKCBtrC-U":{"uri":"/melonJS/docs/melonjs/Camera2d.html#mask"},"2yyZSbsyLLFmsTbGfQ0LC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#name"},"tPZXTunby7PFgB9iAKYtc":{"uri":"/melonJS/docs/melonjs/Camera2d.html#near"},"5BuzKVumLLh4JOWqBzZtN":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onVisibilityChange"},"IVw3mOOx0B1lz5Kl066zC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#parentApp"},"YT1h32xPCuiamn7hnA6D8":{"uri":"/melonJS/docs/melonjs/Camera2d.html#points"},"tpKgESBWl7HjdHB5zS69H":{"uri":"/melonJS/docs/melonjs/Camera2d.html#pos"},"LKvOiMIxezYO5Hub4FeFe":{"uri":"/melonJS/docs/melonjs/Camera2d.html#projectionMatrix"},"u1LJer0kMCyGRWxQlDWzq":{"uri":"/melonJS/docs/melonjs/Camera2d.html#right"},"NXILBg__PILHzwGNeE3Dm":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shader"},"o69Cv_JdJLjsDJiWyuDVn":{"uri":"/melonJS/docs/melonjs/Camera2d.html#tint"},"37PB8W1SyyFP7WCnG3OB3":{"uri":"/melonJS/docs/melonjs/Camera2d.html#top"},"N3tjSbBTx-PIQqtUcN7mj":{"uri":"/melonJS/docs/melonjs/Camera2d.html#type"},"je-tR1u75CHDpgUsFwLkR":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateWhenPaused"},"uC0jBLGemo3H292-cts83":{"uri":"/melonJS/docs/melonjs/Camera2d.html#width"},"ARyzV7dfGSOAPBHz8oHsa":{"uri":"/melonJS/docs/melonjs/Camera2d.html#smoothFollow"},"hnuHVgv8n7KJIsVzFKBaa":{"uri":"/melonJS/docs/melonjs/Camera2d.html#angleTo"},"J_eTIQ9_-HtzeVHDuI9DV":{"uri":"/melonJS/docs/melonjs/Camera2d.html#centerOn"},"xfTqa97FeA6Uur_-fkwpw":{"uri":"/melonJS/docs/melonjs/Camera2d.html#clone"},"YrTWPTFenv_aUUGBIgbmT":{"uri":"/melonJS/docs/melonjs/Camera2d.html#constructor"},"MQb4H9q4ViAihWZqCiJ3r":{"uri":"/melonJS/docs/melonjs/Camera2d.html#contains"},"Z5OgynwSwKBrf6RrO8tfR":{"uri":"/melonJS/docs/melonjs/Camera2d.html#copy"},"PSg8JuakMgVVH-mfJS0PE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#distanceTo"},"moyO2bBmJslisg_qkKSse":{"uri":"/melonJS/docs/melonjs/Camera2d.html#draw"},"u5kBACJ53Kz0vzR4IG8Kt":{"uri":"/melonJS/docs/melonjs/Camera2d.html#equals"},"MrZ7ukALBcDJBDyPHDFmG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeIn"},"_J3pL7To-GxMihsQVglPx":{"uri":"/melonJS/docs/melonjs/Camera2d.html#fadeOut"},"ZHwo2k7k0nFhFlrQ44BEg":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipX"},"LAcJGFUkFCjdNFCiB5M8X":{"uri":"/melonJS/docs/melonjs/Camera2d.html#flipY"},"oj3JB6SvRvlMS9F5HNP8l":{"uri":"/melonJS/docs/melonjs/Camera2d.html#focusOn"},"wQp7PSJXlMiisZmjrZO37":{"uri":"/melonJS/docs/melonjs/Camera2d.html#follow"},"rK4Qc2rE81oZXsr3VbfUs":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getAbsolutePosition"},"wGNMNSlg4y05G82ZxI7Xh":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getBounds"},"hSCex0iPSRN-QdeOnuuJ7":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getIndices"},"8IQdNbQFX7WpMIrGHVeeO":{"uri":"/melonJS/docs/melonjs/Camera2d.html#getOpacity"},"zv9p0EPz4ZNv41i_FIUZr":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isConvex"},"x2oJzf968y3R3vmFdie_n":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isFinite"},"c_ipWq4-_VKWsVZ0bYq8n":{"uri":"/melonJS/docs/melonjs/Camera2d.html#isVisible"},"8cw-3BGsYxws0lk5E0HFE":{"uri":"/melonJS/docs/melonjs/Camera2d.html#localToWorld"},"S0QBoHYJZn-NYc6ksWKBR":{"uri":"/melonJS/docs/melonjs/Camera2d.html#lookAt"},"Hl974zaYtLIq0f0YPVL1o":{"uri":"/melonJS/docs/melonjs/Camera2d.html#move"},"ftZk1cSSuGOTnG_S4pjfs":{"uri":"/melonJS/docs/melonjs/Camera2d.html#moveTo"},"5PVrfC5MjDl2YXKAS6roW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onCollision"},"n2WoaAeCNgxdbNndfKckW":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onDestroyEvent"},"ETjXNvd2-O5S3PEoHnv-N":{"uri":"/melonJS/docs/melonjs/Camera2d.html#overlaps"},"px7YH2qPJd2k65zI7WOV6":{"uri":"/melonJS/docs/melonjs/Camera2d.html#postDraw"},"Sv9P1M3zTYRe6yg5O8C6G":{"uri":"/melonJS/docs/melonjs/Camera2d.html#preDraw"},"vBlhECzuKRZMdCANniEnG":{"uri":"/melonJS/docs/melonjs/Camera2d.html#recalc"},"lQKYWU6_bxqH1YOMlJQSu":{"uri":"/melonJS/docs/melonjs/Camera2d.html#reset"},"_oJt9suaWOPbArBoM27UM":{"uri":"/melonJS/docs/melonjs/Camera2d.html#resize"},"N2PyBOv7GATBXGEw8GgBs":{"uri":"/melonJS/docs/melonjs/Camera2d.html#rotate"},"dTl5AZXKiuECgjwFmTvLP":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scale"},"Vvglpkn24dMH1ga4GjN8P":{"uri":"/melonJS/docs/melonjs/Camera2d.html#scaleV"},"VtYj49nGX8RwNhbY0GbMm":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setBounds"},"y40Ws7GoqWcN1vJFstl1m":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setDeadzone"},"ZJVJxa56hEd4jV4JSDnxK":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setOpacity"},"QLlS2nQb07vD5YYSFWyeC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setShape"},"fgu7TlOl1fKb914thtY7q":{"uri":"/melonJS/docs/melonjs/Camera2d.html#setVertices"},"Mdi_dNkI1TMlccGdoiPb6":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shake"},"WsivkxTDNw9V7DVQBgKOC":{"uri":"/melonJS/docs/melonjs/Camera2d.html#shift"},"xmNNCDsoyr_Vgj2Ykl4Pa":{"uri":"/melonJS/docs/melonjs/Camera2d.html#to2d"},"HQicqKT4mlds5H6zUf4vp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toIso"},"JnWAbnDaZqXv0nCfkyInI":{"uri":"/melonJS/docs/melonjs/Camera2d.html#toPolygon"},"ujtw_V5cdppRhAIZ_rhx-":{"uri":"/melonJS/docs/melonjs/Camera2d.html#transform"},"SDnZKi1lJFM3MS2NIPMVp":{"uri":"/melonJS/docs/melonjs/Camera2d.html#translate"},"cx_fiB7AaK7ztY9RxVd79":{"uri":"/melonJS/docs/melonjs/Camera2d.html#unfollow"},"CSxejwcvMD2_5sPYy_2a6":{"uri":"/melonJS/docs/melonjs/Camera2d.html#union"},"5T0T7OKGogSWMY-5JupAv":{"uri":"/melonJS/docs/melonjs/Camera2d.html#update"},"Ye98xS7_TcBEnjb1WSL_U":{"uri":"/melonJS/docs/melonjs/Camera2d.html#updateBounds"},"I_njIa2FKPcXKs-hHYg6h":{"uri":"/melonJS/docs/melonjs/Camera2d.html#worldToLocal"},"-pgc2NFhoHiOQyvRVEHIJ":{"uri":"/melonJS/docs/melonjs/Camera2d.html#onAnchorUpdate"},"55U0CbIM-Dg0wSsnMiyrg":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html"},"FX-oCBLtZStYTDzAzpe_M":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#depthTest"},"QuaxXavIY7ufTWe03WBW3":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#designRatio"},"JhSH26gByokRZPfDybxZG":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#height"},"IBCiKM4rPbZ07c3PmfYyB":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#isContextValid"},"7GqhZOFkOdBhyP05FXeDc":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#path2D"},"kjhCGf30cKAxaYqno01He":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#renderTarget"},"dIRPjy5Em4ULOrGZ8aH74":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scaleRatio"},"fscMRIqqrnR-dYRX8-6lO":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#settings"},"dEd_c2YMBDcWiR4FLAhlF":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#type"},"8wbcpdzLMFhck6fNNzx7Z":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#width"},"-4DZzDfqzib6KaY8tre4m":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#beginPath"},"Sr5LsBm4rfAo70yPBsOOn":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clear"},"mN1VreuzmGiWo0krKh-wW":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearColor"},"IEdy0XANBlMUwPmcrDSyy":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearMask"},"raKZdnFMwmSFBTxqE8j93":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearRect"},"fOM51HZMuyj2Ox8KsSYjR":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clearTint"},"Hq7WgPVVs998TSz-fCrXK":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#clipRect"},"_sm6bMg0a1j39-Q6DqycW":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#closePath"},"-N68FyWW3qfeDX_gsTif_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#constructor"},"Z1Tbf9wTeiKTtPdommGQp":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#createPattern"},"97nvOJGAFNjDit3f0Wn02":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawImage"},"n_FtlEbJXbj8Dp705fza-":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#drawPattern"},"pV8JJSG-mXRRkWTDfqFxw":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fill"},"Q4CquA3XzF01h-ippZE42":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillArc"},"IQ8y06iAcyIRDmXapnjQt":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillEllipse"},"RS8CnOWNgGco0dbWyFFLb":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillLine"},"CD0NBIzMLvTzk8-Pu8ImD":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPoint"},"DWlhi4bD2ELNA5VXeFwCY":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillPolygon"},"uiKEYEFuFiMms77zX7zco":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRect"},"ywT9Jh7O6ToeSFLBsbUIV":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#fillRoundRect"},"Pl3Fwoe4K9X-M2xwDXDUz":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#flush"},"odvPt7plm7nGgOuWTU2g6":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getBlendMode"},"9v2vox5BniWlQvbQu0OwD":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getCanvas"},"NK3khHvXsEulFGpnj0hNA":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getColor"},"NjiiGAf2Ilu_TIRVGWNHB":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext"},"RNz4oWu4wWtGelPiC9rDo":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getContext2d"},"Kon4TKrNCsN-651-G0Ki0":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getGlobalAlpha"},"LIkL0dMATyyR3moPeCSam":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenCanvas"},"DI_-as3CAla_c1QlcIztn":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#getScreenContext"},"OcaDFwkITa9XBk-hiFcnj":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#globalAlpha"},"yMdV6J-Hp3hLJ2uwavTAX":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#lineTo"},"-LXMBUy760jp3Yu4I3fPe":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#moveTo"},"YZcW2qC68ZGVEvyCEA-FI":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#overlaps"},"Jj5xssxXvd-4YWDZKjdzP":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rect"},"37Fwqn-BH0XD-fMwxBR7G":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#reset"},"2fjp5nH4m0RpRh0NCmw9r":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resetTransform"},"GrQAIqxfNphnlIHEGmC4b":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#resize"},"6PE_2NssgTSNK0f2VkgLE":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#restore"},"377updYHyV7F9ZJGHgOVx":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#rotate"},"Rp8X6x4sbJC_8ZUOYg6BN":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#roundRect"},"wrB0XsvPQ4Xry6zG_roU_":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#save"},"P-aOUfNL61bowEqMX6eyQ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#scale"},"z2kXhCLufQF0G6EJq3oDZ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setAntiAlias"},"mMqiUD_dLHGZggWcz3EIf":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setBlendMode"},"3deSJuHjThiOgSHR2DSv3":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setColor"},"rNdsmpGMPr-TAw4Mo947h":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setGlobalAlpha"},"KQaeSJ9FgqRhV4HfAtnt9":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setLineWidth"},"HLjROXhEZr6eRdZC-ie6O":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setMask"},"q50c_sGn3bvpFH0x0Ufxp":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setProjection"},"oHnhl4b7HAZIuRLMnm2mL":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTint"},"ogOidUHHg1F359uU4Yh6-":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#setTransform"},"ZyLVKFnG6bRHGKpx7IynG":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#stroke"},"0e8iQxkObXQMJrNTjuOV4":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeArc"},"pEAAKDhgMZcgZCn8zdYvp":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeEllipse"},"JuxdmoJiw-qYZ03vEklAQ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeLine"},"rPib2_7o-N2pNoPvHdhPs":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePoint"},"4nn3CX5UpYbnoZS96xhKr":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokePolygon"},"7klQPTUsHldYnB_MBPTQ1":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRect"},"hOOTD6rGUELK02n78_upU":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#strokeRoundRect"},"-VwdQiaZyWFUb1hc6qo-c":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#tint"},"qEUv_U6RDmpRsTUE8nN-Q":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toBlob"},"UzYiaKmjadaC4FatTpOjZ":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toDataURL"},"R0TkpTPhIIXDIuLcUIuBO":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#toImageBitmap"},"iKMLVka2RuE38BWbpl_H9":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#transform"},"NvDiJQq_4mZj6pYVKu1Lp":{"uri":"/melonJS/docs/melonjs/CanvasRenderer.html#translate"},"wdi0RmaZ7_UHGJu3hUoY6":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html"},"tQydmfVM4QNnVf2yJmY_3":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#height"},"WdOvsAj1NG2VMIkW0FhCS":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#width"},"CGrYU0SQ8QBsBcx7f0cAY":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#clear"},"8ARzKevyROcNr9ULNMK7z":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#constructor"},"G0BQ54rcNweJTxFZ-qANW":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#getImageData"},"jK_8rBdtwH9GDCbVH2h6t":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#invalidate"},"HR1uAVNGYWhd6VccnLWC3":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#resize"},"oK4Sj3mJAjFkjt_zLbnwp":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#setAntiAlias"},"he9FYvBd3rwNrq4Zaz_9N":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#toBlob"},"wqy-bdl2rHBVDqdUOCvjH":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#toDataURL"},"K7zFWl1aZuxNx8v552xPF":{"uri":"/melonJS/docs/melonjs/CanvasRenderTarget.html#toImageBitmap"},"hzP4KA3KdxB49_CHLCFU3":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html"},"Pxw8fIuiUkd1MsWAwUrVF":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#height"},"VtSFakk1HduR03f2nNKZl":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#width"},"LiKFtQPfPcGdHuskZ7-ir":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#clear"},"9LHuEzbXceiTlWmjfTLWu":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#constructor"},"5ppi4O0OKK1Yc3gBn0WKf":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#getImageData"},"U_lOASpEG85umsKizJh09":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#invalidate"},"fBu9GWO2IyudOm0gNgXZQ":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#resize"},"rvV_e_EhIoWkVylfDjlPU":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#setAntiAlias"},"B0z7Vj6iMRsBKzto-7U5d":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toBlob"},"oXF8KP4YOnewfjITQMzCL":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toDataURL"},"7dm4tghB20LVKi6iMkJQ9":{"uri":"/melonJS/docs/melonjs/CanvasTexture.html#toImageBitmap"},"M7PgR_hX-tfFmRsp_OAup":{"uri":"/melonJS/docs/melonjs/Collectable.html"},"DV6siYNSv7HTR-g8Z-d1W":{"uri":"/melonJS/docs/melonjs/Collectable.html#alpha"},"l6_9H0cH0IloudAP986hq":{"uri":"/melonJS/docs/melonjs/Collectable.html#alwaysUpdate"},"Wz1j4hSU0V1RownFLEEW4":{"uri":"/melonJS/docs/melonjs/Collectable.html#ancestor"},"PKQGjM18slpq2CIFS7h7f":{"uri":"/melonJS/docs/melonjs/Collectable.html#anchorPoint"},"t86GeLue2Jq5DDABrBw5w":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationpause"},"GfhMgY_m81g5clSc5H2-t":{"uri":"/melonJS/docs/melonjs/Collectable.html#animationspeed"},"Hpozx_VREHFY1DiO46gJY":{"uri":"/melonJS/docs/melonjs/Collectable.html#autoTransform"},"hckmfvbnDsKV0MDC41Yde":{"uri":"/melonJS/docs/melonjs/Collectable.html#blendMode"},"hX28FVSLzXMzeyBMfHGJb":{"uri":"/melonJS/docs/melonjs/Collectable.html#body"},"unIWSrFjdLuKK-sm6jtmQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#bottom"},"M-VW8RKUWAAs2vNWhTfRv":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerX"},"xRpkBs8DMm3dcIeXKMb9q":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerY"},"l3hpVJ4RnV9ZM0xfIGCCf":{"uri":"/melonJS/docs/melonjs/Collectable.html#currentTransform"},"lx3Cb11JLmAy4EBgxdmhV":{"uri":"/melonJS/docs/melonjs/Collectable.html#depth"},"w4xQjBr7-q0-OdaJbj0wd":{"uri":"/melonJS/docs/melonjs/Collectable.html#floating"},"CwZvuALYr-nbUn8YSMZL2":{"uri":"/melonJS/docs/melonjs/Collectable.html#GUID"},"eD3lHzgChLvz2SLdIZVW_":{"uri":"/melonJS/docs/melonjs/Collectable.html#height"},"eRmkOCQwF47ZZP9SGPYM_":{"uri":"/melonJS/docs/melonjs/Collectable.html#inViewport"},"KGWUkJqfsIzqR3l0om_Cc":{"uri":"/melonJS/docs/melonjs/Collectable.html#isDirty"},"VMuhFGUMdKdrzbTCIro8Y":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedX"},"5rEA6N4ONMLZIOZPK9KgS":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlippedY"},"6OSaNz-3E0xA2lvrN6DNg":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFloating"},"8vjiAAregFpFBZ_pc5Ycq":{"uri":"/melonJS/docs/melonjs/Collectable.html#isKinematic"},"4pDYMv5xGfqQk-pxrJii7":{"uri":"/melonJS/docs/melonjs/Collectable.html#isPersistent"},"PmySRXxGqx2cRjPmNxRom":{"uri":"/melonJS/docs/melonjs/Collectable.html#isVideo"},"6kW8y7ZMjNG6YgnJqpxYI":{"uri":"/melonJS/docs/melonjs/Collectable.html#left"},"ktyEqLuhY7Ep3qa9oSEr8":{"uri":"/melonJS/docs/melonjs/Collectable.html#mask"},"TJC-X7ibO7X1KP5JW6_mg":{"uri":"/melonJS/docs/melonjs/Collectable.html#name"},"gnm1Oj9K0cFi9n8IwHEs4":{"uri":"/melonJS/docs/melonjs/Collectable.html#offset"},"iX2rwDzsKEfOdQYkdDHYB":{"uri":"/melonJS/docs/melonjs/Collectable.html#onVisibilityChange"},"q4qIuZ3NJ8V3OvQwlomM9":{"uri":"/melonJS/docs/melonjs/Collectable.html#parentApp"},"0WUAHNMvSJTBOF_KXYWKt":{"uri":"/melonJS/docs/melonjs/Collectable.html#points"},"uX2s-sgIEtWq400RhGOY3":{"uri":"/melonJS/docs/melonjs/Collectable.html#pos"},"SfMjR-bCiIT5OU4VecmUx":{"uri":"/melonJS/docs/melonjs/Collectable.html#right"},"_GoH6-M8U2agiL3-5lnfl":{"uri":"/melonJS/docs/melonjs/Collectable.html#shader"},"baabUKhYylZzNykROUVg0":{"uri":"/melonJS/docs/melonjs/Collectable.html#source"},"UPExzAFa8hPTA1w_nCLi7":{"uri":"/melonJS/docs/melonjs/Collectable.html#tint"},"07t9-qdMUPqXHrLVdfCPI":{"uri":"/melonJS/docs/melonjs/Collectable.html#top"},"EdLF-6WzpI1ORGP_nnTjV":{"uri":"/melonJS/docs/melonjs/Collectable.html#type"},"Kz-OHSEVZHDOZjymHCXmM":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateWhenPaused"},"lhX068n6zVmxoD8CkhGar":{"uri":"/melonJS/docs/melonjs/Collectable.html#width"},"4FmKNbGo5go3UyQkVxLGh":{"uri":"/melonJS/docs/melonjs/Collectable.html#addAnimation"},"XcPH4-gA_aeHscSXsTZv4":{"uri":"/melonJS/docs/melonjs/Collectable.html#angleTo"},"qtSjDdok4qbVeDUBxq5GT":{"uri":"/melonJS/docs/melonjs/Collectable.html#centerOn"},"bJgaqSer5sG2SONgOjdJ9":{"uri":"/melonJS/docs/melonjs/Collectable.html#clone"},"IHYWVuyICvuaABiA45xTn":{"uri":"/melonJS/docs/melonjs/Collectable.html#constructor"},"bSBuqqiaHb1LV2OBJasYP":{"uri":"/melonJS/docs/melonjs/Collectable.html#contains"},"9ornS_oftCK_EKvSYXC5f":{"uri":"/melonJS/docs/melonjs/Collectable.html#copy"},"9buZK85Rh50vnNK3U0UM5":{"uri":"/melonJS/docs/melonjs/Collectable.html#distanceTo"},"n74jRly0WY-5HhZdN-zLR":{"uri":"/melonJS/docs/melonjs/Collectable.html#equals"},"RDl1I7VFEPWVBhxRApSps":{"uri":"/melonJS/docs/melonjs/Collectable.html#flicker"},"6S0CtJsJpC5Ks8kX1PSHn":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipX"},"tEZOjKC5jWYK-RkIxnlP-":{"uri":"/melonJS/docs/melonjs/Collectable.html#flipY"},"CiYVD4vZobZk70s4Yj3wn":{"uri":"/melonJS/docs/melonjs/Collectable.html#getAbsolutePosition"},"TKXUZ_7MuH-P7lEgeHnx9":{"uri":"/melonJS/docs/melonjs/Collectable.html#getBounds"},"ufVAt8SU5Kip1ywtT7zf6":{"uri":"/melonJS/docs/melonjs/Collectable.html#getCurrentAnimationFrame"},"tfZ_QBVHEwQp_z6vH0XeZ":{"uri":"/melonJS/docs/melonjs/Collectable.html#getIndices"},"miLBfa77uzE4gKsywi1Jp":{"uri":"/melonJS/docs/melonjs/Collectable.html#getOpacity"},"8_t5M9GnD7RhFp78h22Ll":{"uri":"/melonJS/docs/melonjs/Collectable.html#isConvex"},"8qJFFF-XEQkkL7PDpLR_J":{"uri":"/melonJS/docs/melonjs/Collectable.html#isCurrentAnimation"},"ZmDtxEc66wrLiL_B0DB4e":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFinite"},"JqNqSLiLbGvegdt3p2tW2":{"uri":"/melonJS/docs/melonjs/Collectable.html#isFlickering"},"BawWbIyWE0JLev5d7Lqnr":{"uri":"/melonJS/docs/melonjs/Collectable.html#lookAt"},"StxqJmdyQsgXzTTnxLizH":{"uri":"/melonJS/docs/melonjs/Collectable.html#onCollision"},"MRfv0bWcn6Snw1PO6aFYQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#onDestroyEvent"},"a37CqPGLMf0h1NYSXJ-Kg":{"uri":"/melonJS/docs/melonjs/Collectable.html#overlaps"},"HJCxUezKnfxOMyVSahIV-":{"uri":"/melonJS/docs/melonjs/Collectable.html#pause"},"dzpcz0CMLl-LU0k__LIbk":{"uri":"/melonJS/docs/melonjs/Collectable.html#play"},"Tn6012Yk5J7D_UcsVx626":{"uri":"/melonJS/docs/melonjs/Collectable.html#postDraw"},"Hosc1FdGh29aAGjJKLUUL":{"uri":"/melonJS/docs/melonjs/Collectable.html#preDraw"},"tviqX7fJn8Qgphs0CSufg":{"uri":"/melonJS/docs/melonjs/Collectable.html#recalc"},"2Hj9VG4VOT4mJGdcd78_F":{"uri":"/melonJS/docs/melonjs/Collectable.html#resize"},"cYehF5-GKMlVeXLHcyXhd":{"uri":"/melonJS/docs/melonjs/Collectable.html#reverseAnimation"},"mH-AZh3jms3japSO6yAFU":{"uri":"/melonJS/docs/melonjs/Collectable.html#rotate"},"NYaDyQCZIdU3L5BFUs7aK":{"uri":"/melonJS/docs/melonjs/Collectable.html#scale"},"23fIBUZT8g_HMtNoBIPVi":{"uri":"/melonJS/docs/melonjs/Collectable.html#scaleV"},"TuMM9Yu7P1x7W82te6p_Y":{"uri":"/melonJS/docs/melonjs/Collectable.html#setAnimationFrame"},"iiQwf8uTWRc2_EUhI5UaQ":{"uri":"/melonJS/docs/melonjs/Collectable.html#setCurrentAnimation"},"XAtdDZiJtOc4noQc3TX-j":{"uri":"/melonJS/docs/melonjs/Collectable.html#setOpacity"},"Ba_oiSJ2wUoS6nr3dgqA_":{"uri":"/melonJS/docs/melonjs/Collectable.html#setRegion"},"RHtsIqscRoYSM-t2L2YsB":{"uri":"/melonJS/docs/melonjs/Collectable.html#setShape"},"wDP0fcviFqXnr5PsggaJP":{"uri":"/melonJS/docs/melonjs/Collectable.html#setVertices"},"VzbPO6xPcxVGl_MmlDQli":{"uri":"/melonJS/docs/melonjs/Collectable.html#shift"},"d3d2waNOlfWMGPjMYdckM":{"uri":"/melonJS/docs/melonjs/Collectable.html#to2d"},"MdJwE5pguVc4E8-LKzGyY":{"uri":"/melonJS/docs/melonjs/Collectable.html#toIso"},"2Zd3GkVuqKGsUIyWNCLLs":{"uri":"/melonJS/docs/melonjs/Collectable.html#toPolygon"},"IaRaNhNHbdO-A7uLKvTIl":{"uri":"/melonJS/docs/melonjs/Collectable.html#transform"},"P1UCfET_REzgHHu2yHvC3":{"uri":"/melonJS/docs/melonjs/Collectable.html#translate"},"attfeguVufLA-cPvqzNpl":{"uri":"/melonJS/docs/melonjs/Collectable.html#union"},"d6WiUtET_bD4jUHDyPJk1":{"uri":"/melonJS/docs/melonjs/Collectable.html#updateBounds"},"YaGsXTksP1TTm2JfZoyTM":{"uri":"/melonJS/docs/melonjs/Collectable.html#draw"},"2s0yxCDtKxyK40FSwVxHY":{"uri":"/melonJS/docs/melonjs/Collectable.html#update"},"ub4LATcWtsZqyaFTlIFpE":{"uri":"/melonJS/docs/melonjs/Collectable.html#onAnchorUpdate"},"QN-m8UfSaiG1-wIhjHhYs":{"uri":"/melonJS/docs/melonjs/Color.html"},"BxMXd5nr8Kpu43I-UghU5":{"uri":"/melonJS/docs/melonjs/Color.html#alpha"},"60XeGf74zcQxjlsgwbi8h":{"uri":"/melonJS/docs/melonjs/Color.html#b"},"xmo0QG8l9ueouSDwUWO4k":{"uri":"/melonJS/docs/melonjs/Color.html#g"},"Zj0ez_bxAB3APJ8yatm2W":{"uri":"/melonJS/docs/melonjs/Color.html#r"},"C21-nzc2sZkwm6A92tnpW":{"uri":"/melonJS/docs/melonjs/Color.html#add"},"XFubxDk30yvBJTEVYUUhU":{"uri":"/melonJS/docs/melonjs/Color.html#clone"},"5qCbTdKVlvHpmeB_Q5pco":{"uri":"/melonJS/docs/melonjs/Color.html#constructor"},"tVuiE2sfl_mWGKW337QfY":{"uri":"/melonJS/docs/melonjs/Color.html#copy"},"unMeYS2AUY9nS1E9UpKbK":{"uri":"/melonJS/docs/melonjs/Color.html#darken"},"JnAk3iuIXX63pz_UxulNV":{"uri":"/melonJS/docs/melonjs/Color.html#equals"},"KKeXkQID1XaK7fsqTn49H":{"uri":"/melonJS/docs/melonjs/Color.html#lerp"},"LKqurjiNIIpq8j2ijBRzy":{"uri":"/melonJS/docs/melonjs/Color.html#lighten"},"gpVVbDeVLWPufCW5e-m1c":{"uri":"/melonJS/docs/melonjs/Color.html#parseCSS"},"lCNl1CYIHgIEPDdAcWuTi":{"uri":"/melonJS/docs/melonjs/Color.html#parseHex"},"e42szAaUsV5oUQ_IWAeuW":{"uri":"/melonJS/docs/melonjs/Color.html#parseRGB"},"OsI1Qtl4iGCowoofkHKoS":{"uri":"/melonJS/docs/melonjs/Color.html#random"},"h7uDYGYwCUIgY6BKOcvnu":{"uri":"/melonJS/docs/melonjs/Color.html#setColor"},"NSoING60kZSStXm6PCac1":{"uri":"/melonJS/docs/melonjs/Color.html#setFloat"},"dVdYfVh-VS4APDIBa5nte":{"uri":"/melonJS/docs/melonjs/Color.html#setHSL"},"_wp06FuTsNdiBgm9DGNqG":{"uri":"/melonJS/docs/melonjs/Color.html#setHSV"},"DprEhOIxysnRYq0rYvygd":{"uri":"/melonJS/docs/melonjs/Color.html#toArray"},"xZ-Rh4nLmrtEYLXBU4R-w":{"uri":"/melonJS/docs/melonjs/Color.html#toHex"},"1_FDZOW_PwFzBUD1Y4dHx":{"uri":"/melonJS/docs/melonjs/Color.html#toHex8"},"eRw6Owfk7YK4FrJQIT3CD":{"uri":"/melonJS/docs/melonjs/Color.html#toRGB"},"kFUcJzgdLb59KDf9-iYQb":{"uri":"/melonJS/docs/melonjs/Color.html#toRGBA"},"4jz5Rm995hzgGi611TeAg":{"uri":"/melonJS/docs/melonjs/Color.html#toUint32"},"5AyEv6Jv9aSBAFE2IzY-L":{"uri":"/melonJS/docs/melonjs/ColorLayer.html"},"zY7MoqYCsZAe7-ZB6kgq1":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alpha"},"PExYeeAfLcg9p4IbiHnmw":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#alwaysUpdate"},"tPyPu5PFCmBWEh7g_XaAr":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#ancestor"},"hbVOT9p4-xQRDM83wz_e3":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#anchorPoint"},"hUD8E30iql7iO237HSDHN":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#autoTransform"},"I4rgzdICOiB6KZgAbgIwR":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#blendMode"},"PI9LcNqj8YFyUuLbuZhEd":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#body"},"YwSpVCbvvdA0UTrcgLRcF":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#bottom"},"K0FQSB2awGTyJ-gQBjoiE":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerX"},"svcRxGT7PKkuTDKu1nBrs":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerY"},"EE9MhZZzmD7Q1qBsTox3N":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#color"},"Wh7WuSWc9LdOIU8hGLycy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#currentTransform"},"FcZu9dJ3wNSGX2IFxaQR-":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#depth"},"gqIJj9yzw-iqTVcqHomcZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#floating"},"Vz3zcVWczaR4eH_WJxykm":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#GUID"},"dzBhAb9f-l-TcFQEIsu5C":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#height"},"oRyi-xMSVtcANKSFWMsIN":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#inViewport"},"mCwF38TjTy67SiwE4bDQh":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isDirty"},"g3ykmP12jeSc_OU70pVAZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedX"},"FgLc50cLG6b0gsCZRGQBe":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFlippedY"},"08Yv46YTX7Z9ACEKnmhFT":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFloating"},"BnwsWRKp-HijGAArpUida":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isKinematic"},"JdhVMOeAhSpF9ahkWGEUN":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isPersistent"},"wvbu-9-CVPLqYo9m12r4o":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#left"},"AT2qXuT9ogL8aF-S0ptWh":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#mask"},"2sOAdlyA_GQBpuWdzEy2f":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#name"},"DciVCdYWdR8aSJKpsyOS2":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onVisibilityChange"},"0tAdmzFExn3J8RD-l72Zv":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#parentApp"},"V_m4M-f6nFrH9iz6d-jE2":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#points"},"pg5IeCM7PVdVnowMutN-J":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#pos"},"RwRnCLb8hV6LljBHuSHFf":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#right"},"d3xAn1X7vTCc6rx_HMSLu":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shader"},"mQtbYsm4mqNKNnB-wPvnW":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#tint"},"RN9T53cPQ4MkD3gzkH2lo":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#top"},"yl174vclv5jpntm_O6lwA":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#type"},"TC3iG6zFg-SWQk5XFX2wk":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateWhenPaused"},"uXqq15tiEYn27Ul82JEPd":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#width"},"Pb73kJZ2JbIYaRy-qE33K":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#angleTo"},"KgarhV2VvxeoIQhPrcUMZ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#centerOn"},"pM_BSMO_DvJU70yJRyfLr":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#clone"},"f0rDkDsAIdVce5_vpH2sh":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#constructor"},"DWh-194CQBHzFYp3ZKb_6":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#contains"},"3O4Ne-kjF5OT3KjcfECzX":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#copy"},"3PYHkZSmCLujOOQvrQHfp":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#distanceTo"},"LSQCOM9Lr3uS6zeYFVrXI":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#equals"},"b-bgbNci4CQ_l8C2qvn_u":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipX"},"FtsbUiK_LIvAvIZji8yNo":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#flipY"},"qk-xuWuw5ftLhwDGneMBG":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getAbsolutePosition"},"CP_Vk96ZkOmmHSAzJmP6f":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getBounds"},"UsvnazOwEHMG3ViP5mEb9":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getIndices"},"A-QxBASDJfwp5kz0YU-sV":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#getOpacity"},"dzxiuiyJIFfTJ6TTe7tZV":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isConvex"},"UXes1SPE3qgzRSJsWb_9e":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#isFinite"},"LrUJ6EzU-qzanW5O3_0pq":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#lookAt"},"4nw_cscGr14RgzJil8vdJ":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onCollision"},"3YlNfCGHChcWGR0iNm6jk":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onDestroyEvent"},"jgYei0DCJ2nJ_nwucUqnK":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#overlaps"},"FFgLMsMunjoPRXEmhJkJy":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#postDraw"},"ET5iZ50pm6jYJScUYCamb":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#preDraw"},"oCSzdQl35FkBdfcQdzGvx":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#recalc"},"rMhijCr3ryqOkQLkIJn6p":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#resize"},"gYZm3kslkXixcSZgWkg-B":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#rotate"},"ej8DIqab--A01Fb4DHZBP":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scale"},"siR7Cu18TXbo12Y7WIG7X":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#scaleV"},"hr3a2_hxXZ8UhuA_ZP6dW":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setOpacity"},"Qh_aPxqqd60vGLglQcMLY":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setShape"},"ghjA6qUWlw3Kaqae0W03g":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#setVertices"},"1mDhixkrHw61H2dSPE5T4":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#shift"},"WWA13NvfW8Y790qBz6-U8":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#to2d"},"o3fBtBIHI3-cVYduOuYPL":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toIso"},"DzNhD0CKeaaHb122mNGXn":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#toPolygon"},"0mUx_iKDzWJVvQcf5gyO6":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#transform"},"BFTMZoXieLGbibKOI57F1":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#translate"},"uGC-6mUgPlgSGYrz0NYZx":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#union"},"v2ZatsmBkclTyJCAOpC_6":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#update"},"kwgy41oThM8D0fRnkRb_A":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#updateBounds"},"PzmohN2_m3cMYpEOVEzeF":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#draw"},"uaDEcQ9qypf43R-aVh0sP":{"uri":"/melonJS/docs/melonjs/ColorLayer.html#onAnchorUpdate"},"wtOpMrmrr_vOKHjWkVzXV":{"uri":"/melonJS/docs/melonjs/Compositor.html"},"fh5hQIqdvOT3vX5BTJxzr":{"uri":"/melonJS/docs/melonjs/Compositor.html#attributes"},"cXLk2FU0BqegVEcdH04IN":{"uri":"/melonJS/docs/melonjs/Compositor.html#currentShader"},"3eqLGo2c6J8fhKajyA5dU":{"uri":"/melonJS/docs/melonjs/Compositor.html#defaultShader"},"FMV137N6Kkj41a4qi8ZRH":{"uri":"/melonJS/docs/melonjs/Compositor.html#mode"},"WwtAJMGlcwLyz7j1x6XmD":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexByteSize"},"mZnzG-1-Y2EMrikEetAsp":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexData"},"XnD3MUxh2pzc7qez6kDu2":{"uri":"/melonJS/docs/melonjs/Compositor.html#vertexSize"},"s984KQuaOQY53F_xYjpIv":{"uri":"/melonJS/docs/melonjs/Compositor.html#addAttribute"},"knP1Aa-XoNbuZntoON7wO":{"uri":"/melonJS/docs/melonjs/Compositor.html#bind"},"u6IP3QTCNDBw_6KILOhdV":{"uri":"/melonJS/docs/melonjs/Compositor.html#constructor"},"evvUs7Ya9cZw6Xdq5PfFN":{"uri":"/melonJS/docs/melonjs/Compositor.html#flush"},"jfxsMeb1hKx4aTUq7ytsa":{"uri":"/melonJS/docs/melonjs/Compositor.html#setProjection"},"n5k34kIRnUKbZ8jGpSQg2":{"uri":"/melonJS/docs/melonjs/Compositor.html#useShader"},"P7y4xiLfha_NUetQ3FA9X":{"uri":"/melonJS/docs/melonjs/Container.html"},"oXPL4w63pZyeBXjGdFRk1":{"uri":"/melonJS/docs/melonjs/Container.html#alpha"},"SYvp0BIFW1dmA5MH0POfl":{"uri":"/melonJS/docs/melonjs/Container.html#alwaysUpdate"},"Jg3Q8ibCb_JeHaJn6hX6y":{"uri":"/melonJS/docs/melonjs/Container.html#ancestor"},"2x-jliqXbogXZJbE1VH2-":{"uri":"/melonJS/docs/melonjs/Container.html#anchorPoint"},"suO0gBhi0pQ5FyMQ-O8YM":{"uri":"/melonJS/docs/melonjs/Container.html#autoDepth"},"ngMDxk0mCSJFy150qN8_d":{"uri":"/melonJS/docs/melonjs/Container.html#autoSort"},"P1m9dE-LxCojhKdhugP-T":{"uri":"/melonJS/docs/melonjs/Container.html#autoTransform"},"X3bU0P-mfaS_Slbjk2cWt":{"uri":"/melonJS/docs/melonjs/Container.html#backgroundColor"},"gaLbJO4uGl2Ve6qMP58OJ":{"uri":"/melonJS/docs/melonjs/Container.html#blendMode"},"8eZAZVDRrCVvNp5JB5RkK":{"uri":"/melonJS/docs/melonjs/Container.html#body"},"nNoZ2zT7hBpKyRcmBCc39":{"uri":"/melonJS/docs/melonjs/Container.html#bottom"},"eGh_BxF4IfADgGroQVzCi":{"uri":"/melonJS/docs/melonjs/Container.html#centerX"},"xJ33gYW0BxfuROI_XBGPj":{"uri":"/melonJS/docs/melonjs/Container.html#centerY"},"WIaOpuDKs4P3dDCHzBWcN":{"uri":"/melonJS/docs/melonjs/Container.html#clipping"},"m7i0a6hje01jAdHagN3Jl":{"uri":"/melonJS/docs/melonjs/Container.html#currentTransform"},"VmlE9HgLws6pku1yZF_I0":{"uri":"/melonJS/docs/melonjs/Container.html#depth"},"5AERbEXQlaDkVzQlQ5a9M":{"uri":"/melonJS/docs/melonjs/Container.html#enableChildBoundsUpdate"},"_RRayCte57YYccJEPYBwb":{"uri":"/melonJS/docs/melonjs/Container.html#floating"},"Thet9ZNh_OgK1yHc4y9qG":{"uri":"/melonJS/docs/melonjs/Container.html#GUID"},"abqEQxPtzbrLA72QcOGti":{"uri":"/melonJS/docs/melonjs/Container.html#height"},"6bzfq9AWFy606Oy3OmTkI":{"uri":"/melonJS/docs/melonjs/Container.html#inViewport"},"Z21twfSfmv6qQQnKQVPiA":{"uri":"/melonJS/docs/melonjs/Container.html#isDirty"},"Xlg9-26bkX7cKnUaaabDd":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedX"},"woowERkv9nk_1Q3q1pwL7":{"uri":"/melonJS/docs/melonjs/Container.html#isFlippedY"},"Vbsc7T-tq8Dml8BiY7MPo":{"uri":"/melonJS/docs/melonjs/Container.html#isFloating"},"6bKvT67e8q-_NsRYXNQhW":{"uri":"/melonJS/docs/melonjs/Container.html#isKinematic"},"pFX8eMJHtSurwO4zxEIO4":{"uri":"/melonJS/docs/melonjs/Container.html#isPersistent"},"PS1DpR1mUkKS3hGZFfP4-":{"uri":"/melonJS/docs/melonjs/Container.html#left"},"ZP_qduEM1xGGLpzAzAGhs":{"uri":"/melonJS/docs/melonjs/Container.html#mask"},"H5Bz7G1WantLknZG3FNA7":{"uri":"/melonJS/docs/melonjs/Container.html#name"},"Z8CfHbbEcGvD98NU2AHkh":{"uri":"/melonJS/docs/melonjs/Container.html#onVisibilityChange"},"mP19ug5cbHMLpmfKIPWOg":{"uri":"/melonJS/docs/melonjs/Container.html#parentApp"},"1OCbb-PhCEzc5oTYKzSX1":{"uri":"/melonJS/docs/melonjs/Container.html#points"},"uqreMEA0TSKb0Qw6XDVOk":{"uri":"/melonJS/docs/melonjs/Container.html#pos"},"noXDBxOnvdEeV_5hmzlpA":{"uri":"/melonJS/docs/melonjs/Container.html#right"},"XUL3I6OGm6hPfbaue-Gpj":{"uri":"/melonJS/docs/melonjs/Container.html#root"},"jSgJkvVnYFBk-nQxUOLvH":{"uri":"/melonJS/docs/melonjs/Container.html#shader"},"Az5k2uQ-pmCCwdyZnwuVh":{"uri":"/melonJS/docs/melonjs/Container.html#sortOn"},"xTi5cG7FxDJfqzI4h75EN":{"uri":"/melonJS/docs/melonjs/Container.html#tint"},"5ZDOrM0KMQJSsWeez9nHY":{"uri":"/melonJS/docs/melonjs/Container.html#top"},"3EKOrgtPLALPk-PnEA1kT":{"uri":"/melonJS/docs/melonjs/Container.html#type"},"7bgrOOltU5Avk1e3P85cl":{"uri":"/melonJS/docs/melonjs/Container.html#updateWhenPaused"},"OffQHVAdWVuRJ83etNIRI":{"uri":"/melonJS/docs/melonjs/Container.html#width"},"HtlWKdlzi2qy5xHidhyDc":{"uri":"/melonJS/docs/melonjs/Container.html#addChild"},"UwlhUHi_3ZsaWgTK446XI":{"uri":"/melonJS/docs/melonjs/Container.html#addChildAt"},"589uy568rG7Zs29kTT5js":{"uri":"/melonJS/docs/melonjs/Container.html#angleTo"},"s5kDveiDYjBbizwRYQ29P":{"uri":"/melonJS/docs/melonjs/Container.html#centerOn"},"rFIp21iT-bj0vj87BbQAh":{"uri":"/melonJS/docs/melonjs/Container.html#clone"},"y8k-oYua5vWcQpCliiQSB":{"uri":"/melonJS/docs/melonjs/Container.html#constructor"},"WJn4cuhAfRhjhLfft4-aL":{"uri":"/melonJS/docs/melonjs/Container.html#contains"},"xk0XElgPyv_o_3Xla6cEa":{"uri":"/melonJS/docs/melonjs/Container.html#copy"},"kMtxXuYnnzdqmykhfaBU6":{"uri":"/melonJS/docs/melonjs/Container.html#distanceTo"},"grGLla8YNbESsvr2zcLDA":{"uri":"/melonJS/docs/melonjs/Container.html#equals"},"NZSL_UMGkhuZ-d6h8kvIh":{"uri":"/melonJS/docs/melonjs/Container.html#flipX"},"6b8cF54e75Tyb4nn3oYpf":{"uri":"/melonJS/docs/melonjs/Container.html#flipY"},"U8nmdMYEeKeJMaz-6lR4U":{"uri":"/melonJS/docs/melonjs/Container.html#forEach"},"aPxjz3RmVHy6DthIk7_iA":{"uri":"/melonJS/docs/melonjs/Container.html#getAbsolutePosition"},"DxpQ0_cGGRPjl5h_rsRrR":{"uri":"/melonJS/docs/melonjs/Container.html#getBounds"},"pNNEVbGfydmf6YHxvxCEI":{"uri":"/melonJS/docs/melonjs/Container.html#getChildAt"},"LVRClns2StK5DB_1ycaWC":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByGUID"},"2N758Kipp6kz2IKoKa2np":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByName"},"qJF4080KkohD1grho_LQ5":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByProp"},"AGwcqLvZSwsG35xpT56PY":{"uri":"/melonJS/docs/melonjs/Container.html#getChildByType"},"rv_mpq_0_CtQ2p4AP7z-Y":{"uri":"/melonJS/docs/melonjs/Container.html#getChildIndex"},"Z8JDaJHyAP-zaDqSe4tRa":{"uri":"/melonJS/docs/melonjs/Container.html#getChildren"},"f4XyMR1W6dxTIVaNkGCMH":{"uri":"/melonJS/docs/melonjs/Container.html#getIndices"},"h6dHoUtJpaqiaGPwqSyAs":{"uri":"/melonJS/docs/melonjs/Container.html#getNextChild"},"APcK_u_YJYd37VpIA7yOW":{"uri":"/melonJS/docs/melonjs/Container.html#getOpacity"},"0NGk_7bvh1fU6MIMXO99A":{"uri":"/melonJS/docs/melonjs/Container.html#getRootAncestor"},"alYq5fh25genj9JNm3Jy1":{"uri":"/melonJS/docs/melonjs/Container.html#hasChild"},"6IT0GWJ8Dt7SuLfVt67Mq":{"uri":"/melonJS/docs/melonjs/Container.html#isAttachedToRoot"},"HLMxAOi0HUjNCeThvyR8R":{"uri":"/melonJS/docs/melonjs/Container.html#isConvex"},"nGnNmHaO1qHDs-si3nlwF":{"uri":"/melonJS/docs/melonjs/Container.html#isFinite"},"lv9v6djeB-B5HJabVpigM":{"uri":"/melonJS/docs/melonjs/Container.html#lookAt"},"V3ePuOTQH6IC9kqouFbW3":{"uri":"/melonJS/docs/melonjs/Container.html#moveDown"},"7T8ifayxSLsnPdfdJwWIU":{"uri":"/melonJS/docs/melonjs/Container.html#moveToBottom"},"xrdUqn8KaNF9egOh1z4nq":{"uri":"/melonJS/docs/melonjs/Container.html#moveToTop"},"lFDf-pkHjzjl-JqnBJKtz":{"uri":"/melonJS/docs/melonjs/Container.html#moveUp"},"S_RWMWSkUTKpMLZh5cPbg":{"uri":"/melonJS/docs/melonjs/Container.html#onChildChange"},"jtzIFgVEfIBpurX7GJ1EI":{"uri":"/melonJS/docs/melonjs/Container.html#onCollision"},"bH4weTsy4uaMaGz8gJker":{"uri":"/melonJS/docs/melonjs/Container.html#onDestroyEvent"},"dIolFLFX7C3pxEsWYpBeF":{"uri":"/melonJS/docs/melonjs/Container.html#overlaps"},"YLJ5cXcf6NFY2BHc5ACwJ":{"uri":"/melonJS/docs/melonjs/Container.html#postDraw"},"lqZg121NnHZ_YkAoPCr93":{"uri":"/melonJS/docs/melonjs/Container.html#preDraw"},"Nz4SOYI1MQjcZzE2fHG3J":{"uri":"/melonJS/docs/melonjs/Container.html#recalc"},"5pOCw6Muho6Z_kmUJ0N5d":{"uri":"/melonJS/docs/melonjs/Container.html#removeChild"},"eEGxUmwHe8RhHk8gDakYR":{"uri":"/melonJS/docs/melonjs/Container.html#removeChildNow"},"gsDcaJCTlkHL2hbi46Q8H":{"uri":"/melonJS/docs/melonjs/Container.html#reset"},"_04Cv_pw8MohYvvYtzOT3":{"uri":"/melonJS/docs/melonjs/Container.html#resize"},"2bztL6aIEQ_OSFTTughU3":{"uri":"/melonJS/docs/melonjs/Container.html#rotate"},"-0l98kcnw6uQqQghxeugM":{"uri":"/melonJS/docs/melonjs/Container.html#scale"},"kCIrAu6NPICgtytUGkNSn":{"uri":"/melonJS/docs/melonjs/Container.html#scaleV"},"We86338FhPLX-G_tGcNUW":{"uri":"/melonJS/docs/melonjs/Container.html#setChildsProperty"},"UvC_pd8IEPQAroj-mhpsS":{"uri":"/melonJS/docs/melonjs/Container.html#setOpacity"},"HnbBbbIxIHL0ToYaXMWDN":{"uri":"/melonJS/docs/melonjs/Container.html#setShape"},"zr1eH8tqOf-TRDHIbBxcZ":{"uri":"/melonJS/docs/melonjs/Container.html#setVertices"},"nIBsH1QR66r3hQUuYvW5Q":{"uri":"/melonJS/docs/melonjs/Container.html#shift"},"EmFn-eNIArBhgjoW_icxz":{"uri":"/melonJS/docs/melonjs/Container.html#sort"},"CI4-1KkZzU8RI5UJrY3rn":{"uri":"/melonJS/docs/melonjs/Container.html#swapChildren"},"apfsBYVdNWdPIpfnKBpdD":{"uri":"/melonJS/docs/melonjs/Container.html#to2d"},"eHW0MBVutcl954EKVpLeA":{"uri":"/melonJS/docs/melonjs/Container.html#toIso"},"e7Vei7b6Pgw-VEL3MVgEb":{"uri":"/melonJS/docs/melonjs/Container.html#toPolygon"},"TUgPKqkG3oKYW7wyRt5Qr":{"uri":"/melonJS/docs/melonjs/Container.html#transform"},"rl7HEfP9V8EKVi_ooOXaF":{"uri":"/melonJS/docs/melonjs/Container.html#translate"},"jmgR81Y5auE1bI9pj75Jj":{"uri":"/melonJS/docs/melonjs/Container.html#union"},"V4i7SNAt8pNEx8I1qQLMK":{"uri":"/melonJS/docs/melonjs/Container.html#updateBounds"},"8-RHqUj241n4-cg6GdbUp":{"uri":"/melonJS/docs/melonjs/Container.html#draw"},"_tOG2x7QioCrqbJhBvSjC":{"uri":"/melonJS/docs/melonjs/Container.html#update"},"yPupuyiQbYJGPo39M6r99":{"uri":"/melonJS/docs/melonjs/Container.html#onAnchorUpdate"},"_KcJTSDmPZX485cnit1HV":{"uri":"/melonJS/docs/melonjs/Detector.html"},"_ZiWUZg1J-UtpRttvCW3i":{"uri":"/melonJS/docs/melonjs/Detector.html#response"},"PZ91yMZm-dNmGuJWgq0cd":{"uri":"/melonJS/docs/melonjs/Detector.html#collides"},"URXuUHbksLcgdrGq0n2LW":{"uri":"/melonJS/docs/melonjs/Detector.html#constructor"},"mhZT4CI7YZ3eDwgpWT9s6":{"uri":"/melonJS/docs/melonjs/Detector.html#shouldCollide"},"RDvxH9PCy1N_7kbMgLMMC":{"uri":"/melonJS/docs/melonjs/Draggable.html"},"0GG_w5Tzp4ZEZ8iAf2cMk":{"uri":"/melonJS/docs/melonjs/Draggable.html#alpha"},"O2VbEW7sAYAfEzX-ta0cM":{"uri":"/melonJS/docs/melonjs/Draggable.html#alwaysUpdate"},"FFY-aNZIQbtqNqXE4xxxr":{"uri":"/melonJS/docs/melonjs/Draggable.html#ancestor"},"7Id0Dp5kaf7Uh7HmXLan6":{"uri":"/melonJS/docs/melonjs/Draggable.html#anchorPoint"},"lVYHxQhcUTGgRSpnH_ymo":{"uri":"/melonJS/docs/melonjs/Draggable.html#autoTransform"},"gSgaE-qjtakcNXBqWfORt":{"uri":"/melonJS/docs/melonjs/Draggable.html#blendMode"},"_lAMS5sYNwYd4Lme36_9z":{"uri":"/melonJS/docs/melonjs/Draggable.html#body"},"42C2KkoaayzgdShiyImFM":{"uri":"/melonJS/docs/melonjs/Draggable.html#bottom"},"xOv94EVkiyGt4gGNPNUJZ":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerX"},"GFbFVuGtdH7VNnJwQ-a0n":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerY"},"j-DK96EHwrM1ErK0clSeQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#currentTransform"},"51LYKlescr3hYaUNIhDhQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#depth"},"Alnh79LzlEojudg7A8fAp":{"uri":"/melonJS/docs/melonjs/Draggable.html#floating"},"H5cH_jYxvvX2LY_yrBJkC":{"uri":"/melonJS/docs/melonjs/Draggable.html#GUID"},"wUFChE9kx7R56XwoWNCmk":{"uri":"/melonJS/docs/melonjs/Draggable.html#height"},"y6iSuLyMnaxw2bVfL5hdb":{"uri":"/melonJS/docs/melonjs/Draggable.html#inViewport"},"kW3bfTLlYZ_ApWa_Rfe32":{"uri":"/melonJS/docs/melonjs/Draggable.html#isDirty"},"FUTZEwjUPM9Ql95H_Rx_3":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedX"},"WraUvb5Oa6Kmm2g0gP2K7":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFlippedY"},"u6wJ1Glr18wzxAkzuB1-o":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFloating"},"zmxzgLK6JOPFmoKSAtJV9":{"uri":"/melonJS/docs/melonjs/Draggable.html#isKinematic"},"HnXb40kfKKlc6m837rpjQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#isPersistent"},"R6SSTPbUMuc8XDvc2DXdh":{"uri":"/melonJS/docs/melonjs/Draggable.html#left"},"aRQiyJfvJv5Iu3CzXMMN5":{"uri":"/melonJS/docs/melonjs/Draggable.html#mask"},"PjGri42tdXoJ8YLIn7VwR":{"uri":"/melonJS/docs/melonjs/Draggable.html#name"},"OH-ao99juQpnn2ZOgrYD0":{"uri":"/melonJS/docs/melonjs/Draggable.html#onVisibilityChange"},"_3RCKhauv51L_aDpXvVJr":{"uri":"/melonJS/docs/melonjs/Draggable.html#parentApp"},"DV-iHU3A4cf2AmT6ly5FT":{"uri":"/melonJS/docs/melonjs/Draggable.html#points"},"vXyhwrqSfe5HF2j3BoL32":{"uri":"/melonJS/docs/melonjs/Draggable.html#pos"},"waomG6goCBe0cJUafYsGw":{"uri":"/melonJS/docs/melonjs/Draggable.html#right"},"SZNQ7np7srIsCf4gwDE1P":{"uri":"/melonJS/docs/melonjs/Draggable.html#shader"},"CEFemqMDTqi7jSg1Ra_Bj":{"uri":"/melonJS/docs/melonjs/Draggable.html#tint"},"4npkEL0fxAtEb-dQKnayI":{"uri":"/melonJS/docs/melonjs/Draggable.html#top"},"Rxtjriu2Wi7ezV-561ZMC":{"uri":"/melonJS/docs/melonjs/Draggable.html#type"},"emqb-pGj5C-47VeyLH_ZE":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateWhenPaused"},"DesEmFqkTpC_Bo3_u0kZw":{"uri":"/melonJS/docs/melonjs/Draggable.html#width"},"Xu7HCBLLlGaUkNNWQJIz1":{"uri":"/melonJS/docs/melonjs/Draggable.html#angleTo"},"hNsBBTrGXNH3Vtz35xzLK":{"uri":"/melonJS/docs/melonjs/Draggable.html#centerOn"},"O9mhVMGibjtY_SJRjrr5A":{"uri":"/melonJS/docs/melonjs/Draggable.html#clone"},"f8z2XU3vJ8bLCscITsGi1":{"uri":"/melonJS/docs/melonjs/Draggable.html#constructor"},"HBkAaCZxUZUubf1kpLc-0":{"uri":"/melonJS/docs/melonjs/Draggable.html#contains"},"obp31mz9ioO_3E8naq4xC":{"uri":"/melonJS/docs/melonjs/Draggable.html#copy"},"xzijo4VN1AAyhfPN1MeCM":{"uri":"/melonJS/docs/melonjs/Draggable.html#distanceTo"},"KVWCbZKqVEVRLFYgKXMxH":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragEnd"},"5aZZgtReRJFIsH1CIFmRD":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragMove"},"YJn8koZ37eFRQCspU9jHb":{"uri":"/melonJS/docs/melonjs/Draggable.html#dragStart"},"xBDQ0u-h9cPHBoCIaCqxs":{"uri":"/melonJS/docs/melonjs/Draggable.html#draw"},"eougwgFBxrGHSZEsggUaS":{"uri":"/melonJS/docs/melonjs/Draggable.html#equals"},"f7UgWIAQA9vRMIp4gnj2N":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipX"},"l8JOEvIFm2vKcEARW9Mcb":{"uri":"/melonJS/docs/melonjs/Draggable.html#flipY"},"nSYiUvQV7yebTNpdnV4Wn":{"uri":"/melonJS/docs/melonjs/Draggable.html#getAbsolutePosition"},"agl_D3BFSWo-AeTSSw9NS":{"uri":"/melonJS/docs/melonjs/Draggable.html#getBounds"},"VTIgRVCur3tgSD3C3OxBQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#getIndices"},"Fsk6fcVrKJwtQInQKvKWr":{"uri":"/melonJS/docs/melonjs/Draggable.html#getOpacity"},"ZEt2uqyh0pUhTJN9_zKLT":{"uri":"/melonJS/docs/melonjs/Draggable.html#isConvex"},"OB4JxVVYUbSuvq4dKd8jQ":{"uri":"/melonJS/docs/melonjs/Draggable.html#isFinite"},"0_LonbFKxv9yvfloqRW7p":{"uri":"/melonJS/docs/melonjs/Draggable.html#lookAt"},"nir35vIKZ9VQRhyvFaFSP":{"uri":"/melonJS/docs/melonjs/Draggable.html#onCollision"},"3JWJusfxNNRphOYQkJfCJ":{"uri":"/melonJS/docs/melonjs/Draggable.html#onDestroyEvent"},"axVke0B4OGCAExLqX0TlY":{"uri":"/melonJS/docs/melonjs/Draggable.html#overlaps"},"gFd6AxhWUjgk_C0wMHkKr":{"uri":"/melonJS/docs/melonjs/Draggable.html#postDraw"},"f03OsnSt5jj2wpX7KZfU_":{"uri":"/melonJS/docs/melonjs/Draggable.html#preDraw"},"IU8s7WJOynVLofNcNgfsd":{"uri":"/melonJS/docs/melonjs/Draggable.html#recalc"},"QpKY_oEKzVqS3ZZDdnyjp":{"uri":"/melonJS/docs/melonjs/Draggable.html#resize"},"b5bVBpO3VbhxilI0psk2k":{"uri":"/melonJS/docs/melonjs/Draggable.html#rotate"},"kcfBBJnELI9e_ha3T6f9L":{"uri":"/melonJS/docs/melonjs/Draggable.html#scale"},"qVZsIIMm47pZYLcWgwjs1":{"uri":"/melonJS/docs/melonjs/Draggable.html#scaleV"},"1fuVUehzu6f-rCoofthIR":{"uri":"/melonJS/docs/melonjs/Draggable.html#setOpacity"},"84bhjPLd5Q4TTHxbpb4Wh":{"uri":"/melonJS/docs/melonjs/Draggable.html#setShape"},"pwIxHpDwudXfT9SoaJZrA":{"uri":"/melonJS/docs/melonjs/Draggable.html#setVertices"},"UvMtM2_h_X28VgnvW1xQG":{"uri":"/melonJS/docs/melonjs/Draggable.html#shift"},"l7iGWgvevcMr6EQD9Zdth":{"uri":"/melonJS/docs/melonjs/Draggable.html#to2d"},"2pG5bg4nIXw5RUuGnOmHR":{"uri":"/melonJS/docs/melonjs/Draggable.html#toIso"},"Hkrkh3zsC7GgBFMXrFELv":{"uri":"/melonJS/docs/melonjs/Draggable.html#toPolygon"},"7Mho1UVFbxNtd1P8lgeKU":{"uri":"/melonJS/docs/melonjs/Draggable.html#transform"},"uTSMFcnSE_CWthFlq5a8V":{"uri":"/melonJS/docs/melonjs/Draggable.html#translate"},"99nLosBhN9CHlgohksLlm":{"uri":"/melonJS/docs/melonjs/Draggable.html#union"},"5PBSYiZVj1r4A8NQvoN3B":{"uri":"/melonJS/docs/melonjs/Draggable.html#update"},"YpHv_ySx5unLhxO6SKHOS":{"uri":"/melonJS/docs/melonjs/Draggable.html#updateBounds"},"WJu3XIIKcJABUwn9gQ6Ga":{"uri":"/melonJS/docs/melonjs/Draggable.html#initEvents"},"1KPMGULe0rDY6MhrswOD1":{"uri":"/melonJS/docs/melonjs/Draggable.html#onAnchorUpdate"},"XcYgyNOWmz4NVqqsOraLw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html"},"OLEGQZGwcKA5YbTQXFm-W":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alive"},"CU1VK8zlyOuU-68bkUZbm":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alpha"},"SbUWNGV-Eaglmn8f2Fx8L":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#alwaysUpdate"},"hgEi6Tb0MMPbL6GAZ0ppI":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#ancestor"},"CqQOej_fV3o8byz9RLpkt":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#anchorPoint"},"iaynoHobl5e_r5WUZuUQY":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#autoTransform"},"-Vsvd6aMTbmYY1nwt-hrG":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#blendMode"},"r6aFnn7B04C2Vu4XX5ite":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#body"},"0V-eOUXHPOBJWqYXgQ48-":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#bottom"},"Yiqx53PLKr3vt74JAQRAg":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerX"},"esuYY9IxVQp2nxamjUBJ2":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerY"},"8JIcwSp0IR4Y9FwfrblSo":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#currentTransform"},"BOd0CMWOVUPsiN8K3oovB":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#depth"},"kGcNbelFKG_ULTJ5GyGPO":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#floating"},"ZelelT4UkzTVH2H3Ks6Z0":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#GUID"},"9PREA3pmbZaeK2SrryAvt":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#height"},"sDhWU-kEboTXMJ40JA0VX":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#id"},"JPBP9IER883ERugVlKewi":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#inViewport"},"eja9tg739PYNoy_sEzyRk":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isDirty"},"ou0zcM20Zqz43HNyBkR3P":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedX"},"6YfHH0-qvhUuHujL2NY9k":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFlippedY"},"0dr51UrPpxqnFUkOU1Pv6":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFloating"},"fDA6XFxEfNfFjANKDeuq_":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isKinematic"},"iSdm7_UDpe1BfUN2S6qNC":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isPersistent"},"KFNI_mll7hAvlj6jYUk4i":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#left"},"9Lr-GKqw8qKrGA8MkSEC5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#mask"},"pUu3rGO-NGMaJOdJf19ON":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#name"},"3yAugYnrQe2ljRGUnQzNn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onVisibilityChange"},"5bAzohQ3yPllwG8zs25Oq":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#parentApp"},"QCd2hn5e4k7vjRsKhwoC5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#points"},"MCvhnG6oPU7DDsUzm-aWw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#pos"},"OfMVz6fkEcZUCJt0sg1h3":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#renderable"},"mc-KvIc_oEo4lmR8hG208":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#right"},"vG_DwhhFFT_PiEHbjI6hw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shader"},"fkyPOLNHvMOETm74SLcR7":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#tint"},"G-Cy4NRJSmTN8s9Zx31Rb":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#top"},"rwsuxJ28mdHxintc71Prq":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#type"},"5u3l-GbNT5jth5_r7Vkzn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateWhenPaused"},"CECI2G1VqfJ7PmO87jok9":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#width"},"xI-rXWSmA0vVdlA6fpCx6":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#angleTo"},"7s_fMu6EmRV6ThMWRIKuJ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#centerOn"},"BwXfSptUlGxWpZBMcdkp1":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#clone"},"MWK_ROw-W7fW6jka3eKJ-":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#constructor"},"0wnEh4uGMqUzTmRHtHYFK":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#contains"},"IAeoaMNUKDCVAfPHqqjlC":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#copy"},"WvCJ_rBrW6dbjzNkgK9vD":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#distanceTo"},"V-jKEaJIzxPfZsXCtfM0u":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#equals"},"RxdgDMDpuJu82-6h6FoSf":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipX"},"nM_JIx_99RNvXbd916OBq":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#flipY"},"k42xUunBICxvb5TUZjwSw":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getAbsolutePosition"},"rwr_UrkZQsV3vdiKGcGuF":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getBounds"},"I8POLpT6WUnmEGi6Lz2KA":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getIndices"},"vRlhOmlOJcLqW0BHiOpan":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#getOpacity"},"b2DKdmYNQNKY8zFMhq-_B":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isConvex"},"k-jKT1qTMXQEiI7xfih4G":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#isFinite"},"gAEQxGecjcDNPyJjSq6as":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#lookAt"},"3NoI_77Ex9otlK5EyqBLs":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onBodyUpdate"},"R6gjEhh1eb5_YmbhrYPJh":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onCollision"},"L32-FwlWd4l6AD2f93B-Y":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDeactivateEvent"},"IbyoEr-dcaLNdzJFSQ7o6":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onDestroyEvent"},"LsnYSqbXDshhsSOhoeiKa":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#overlaps"},"OgZMUBY5421nqOEQ7tMGC":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#postDraw"},"5E0HcdzG4Zj8YUsVUk51w":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#preDraw"},"JPSoAUkLLkD6NbRZ7aP7K":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#recalc"},"K3KADiPHF4z1bK3sfbfKJ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#resize"},"Ex008XK8CVu5tDp4J_vAW":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#rotate"},"OHzdryBsXBaC5ySMnUFG5":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scale"},"V0NYV-BNWx3sKa-bHrfjd":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#scaleV"},"D1EzYMrZqNg29kgrzem7C":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setOpacity"},"fcUYI4tSMwwyzDGV-cJbJ":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setShape"},"CmKyoGOBHD3_Vh3zF2Yrb":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#setVertices"},"VD6hxcD0klMJsPCE3NDAn":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#shift"},"7MoOLisn0qLLSu8WTWMQL":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#to2d"},"nqGK4_R7a3MsB46lIEerW":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toIso"},"HeoSdoErWQzjTanXHeNxi":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#toPolygon"},"qt7PAIdc44KctSipIXKMd":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#transform"},"M3TNfZs43eUbeLn97Q0Qx":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#translate"},"bMT-k7KLilptVvuva715W":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#union"},"pt_QozIuN6orQJN7KaTPf":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#update"},"rSOWCFN8D8lHZjvz7xB7k":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#updateBounds"},"QeHwKduwdPGUgFARgx_Bi":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#draw"},"X6ogJVZZZFTBn1zQ60o9f":{"uri":"/melonJS/docs/melonjs/DraggableEntity.html#onAnchorUpdate"},"cniiF_XT54fdZdw20Z_qR":{"uri":"/melonJS/docs/melonjs/DropTarget.html"},"p15V_aiGGO_RHM8245fNL":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alpha"},"9noxLaANm_C59YVmL7GmQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#alwaysUpdate"},"6UKFdHAnBx0rgb-PtVpBn":{"uri":"/melonJS/docs/melonjs/DropTarget.html#ancestor"},"mCHE30FxEzYd63SV-O7mX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#anchorPoint"},"3RrpHAXviCGqZzELm_X6A":{"uri":"/melonJS/docs/melonjs/DropTarget.html#autoTransform"},"gPxvz_Dns_bWRL29gxmW_":{"uri":"/melonJS/docs/melonjs/DropTarget.html#blendMode"},"HypQrUl7RJ3V2GAn60miO":{"uri":"/melonJS/docs/melonjs/DropTarget.html#body"},"oQYd4rpifDFpAKQTs9faY":{"uri":"/melonJS/docs/melonjs/DropTarget.html#bottom"},"6Om6pAdr87VFBBevfuHIE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerX"},"Xz6wBlqe2ZrzO4EwtET2k":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerY"},"7BVLq7iJNQU4fbW3GcGmu":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkMethod"},"dgLyucZclyRwqFdlOj1wi":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_CONTAINS"},"sMpJU7d1AtGJviFtICHti":{"uri":"/melonJS/docs/melonjs/DropTarget.html#CHECKMETHOD_OVERLAP"},"yCmCeva0JKkTw4YdbayH-":{"uri":"/melonJS/docs/melonjs/DropTarget.html#currentTransform"},"lqo_SbhFwFq-5_c2x9_2J":{"uri":"/melonJS/docs/melonjs/DropTarget.html#depth"},"XMVkz76dQ_ts5Maj69Q3E":{"uri":"/melonJS/docs/melonjs/DropTarget.html#floating"},"0zA2NI9txLDzg4U9Q37XS":{"uri":"/melonJS/docs/melonjs/DropTarget.html#GUID"},"n9sE1H6wOPRxLopS4BHlu":{"uri":"/melonJS/docs/melonjs/DropTarget.html#height"},"vJTPsrQ_Op8Hm4uWbJoot":{"uri":"/melonJS/docs/melonjs/DropTarget.html#inViewport"},"4YyXN6LWNNuX4-qFisSzQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isDirty"},"F3YQjPbek962geKvLxUv7":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedX"},"bJDR3Dfh9R5wnovG2Quyu":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFlippedY"},"xsJYyOr_lTRpS9DsZwI4K":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFloating"},"OUZM4mC7Z6fRu7oyWHqNR":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isKinematic"},"T4upeG33Wv3NZnefPYPHn":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isPersistent"},"weUUOFVbDL9d_tqRAg800":{"uri":"/melonJS/docs/melonjs/DropTarget.html#left"},"qLSsRhsloyND2b1jTJhWq":{"uri":"/melonJS/docs/melonjs/DropTarget.html#mask"},"0Pgw296BiFK8LDR7BoLWn":{"uri":"/melonJS/docs/melonjs/DropTarget.html#name"},"TPw2VNWjVfWEDy0ppJE0Q":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onVisibilityChange"},"fUzfeU0K5VtR63V4o94xk":{"uri":"/melonJS/docs/melonjs/DropTarget.html#parentApp"},"3o0P1M09KUsPJVOMPMknB":{"uri":"/melonJS/docs/melonjs/DropTarget.html#points"},"nHZzQSxPB0xpEcbTuzdN3":{"uri":"/melonJS/docs/melonjs/DropTarget.html#pos"},"D6LpS6AbRQujUQj6snwfO":{"uri":"/melonJS/docs/melonjs/DropTarget.html#right"},"4-ShxVYFFG6v8SuMnNH5I":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shader"},"mYeZO2Cm-Aw3whbJW7I8O":{"uri":"/melonJS/docs/melonjs/DropTarget.html#tint"},"VTiacy9u5ZPr53SCELGKR":{"uri":"/melonJS/docs/melonjs/DropTarget.html#top"},"Ah_V6gK4DGp2HW7b-XUoa":{"uri":"/melonJS/docs/melonjs/DropTarget.html#type"},"LOIRQRCeu93o1wQ_odoIh":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateWhenPaused"},"aJGE3qqr4PTyEx7VQuG3n":{"uri":"/melonJS/docs/melonjs/DropTarget.html#width"},"HV0CKhf6qovHVPFoefsc3":{"uri":"/melonJS/docs/melonjs/DropTarget.html#angleTo"},"vJK7nCbPHr5CmCxPSqH1W":{"uri":"/melonJS/docs/melonjs/DropTarget.html#centerOn"},"b6FFpoyOSv-r1jyzadSdQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#checkOnMe"},"tGmlThj24Cku10T4glYk8":{"uri":"/melonJS/docs/melonjs/DropTarget.html#clone"},"7mqhwA1BrjrQYJMsET700":{"uri":"/melonJS/docs/melonjs/DropTarget.html#constructor"},"MbjM4o2xnN22BZ5HctqYw":{"uri":"/melonJS/docs/melonjs/DropTarget.html#contains"},"jd2sQKl_m_kymSXWo9Mg9":{"uri":"/melonJS/docs/melonjs/DropTarget.html#copy"},"HcaGXYWrEiuPvlLaBSfL_":{"uri":"/melonJS/docs/melonjs/DropTarget.html#distanceTo"},"YzPnL76Z7Qfifstsrhb6q":{"uri":"/melonJS/docs/melonjs/DropTarget.html#draw"},"i-THC6gnwmfjDpEXYQoK6":{"uri":"/melonJS/docs/melonjs/DropTarget.html#drop"},"ZFnyOaWzceSOX-Rgctsbo":{"uri":"/melonJS/docs/melonjs/DropTarget.html#equals"},"ZZh3ZppjGJ5L_DYkTXczI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipX"},"j5bfAHJmLLSfC0bd4xQMQ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#flipY"},"0a1sqq9mEEFC7uXlNkeAI":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getAbsolutePosition"},"yiX61brZJLJItduITf58t":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getBounds"},"ISBi0T2dO4bGoZiT4JTip":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getIndices"},"DOkngh4K9dkG-9g3t_reK":{"uri":"/melonJS/docs/melonjs/DropTarget.html#getOpacity"},"iZl4vo19dG28MD6-1Yloo":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isConvex"},"z2IIMuPngpB9pSS-E_sC9":{"uri":"/melonJS/docs/melonjs/DropTarget.html#isFinite"},"AtZeUnjoaL0NtmiTuqlqe":{"uri":"/melonJS/docs/melonjs/DropTarget.html#lookAt"},"dpjLaWEFPwC23WjQSFxth":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onCollision"},"uJuDsJ8q4fOgks5Ppsu_Z":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onDestroyEvent"},"GOU64yLiA2CcTg33JUe3V":{"uri":"/melonJS/docs/melonjs/DropTarget.html#overlaps"},"11wLyKOFdlpofGpkpX8Uy":{"uri":"/melonJS/docs/melonjs/DropTarget.html#postDraw"},"EyuMY7HRjUlRzsCze7BLU":{"uri":"/melonJS/docs/melonjs/DropTarget.html#preDraw"},"-cvg6MVNXUw84NTEEQjMt":{"uri":"/melonJS/docs/melonjs/DropTarget.html#recalc"},"5cVYM_O_CzJreuG2dYXvd":{"uri":"/melonJS/docs/melonjs/DropTarget.html#resize"},"gHPIeM1cKJmy5mD0D8pSB":{"uri":"/melonJS/docs/melonjs/DropTarget.html#rotate"},"l0QWuFF-FvGGKLIRWsckJ":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scale"},"-U5koCLcEHHdkkEMGrcEe":{"uri":"/melonJS/docs/melonjs/DropTarget.html#scaleV"},"ytWOhSZWmEA0uCpe67qtT":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setCheckMethod"},"hURhbtjFa04CJU2LBLa6I":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setOpacity"},"2qMyQXvFx1OP_U3KiRvCH":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setShape"},"dCzVxi3Ac2QsNcJxlo7AU":{"uri":"/melonJS/docs/melonjs/DropTarget.html#setVertices"},"tY744E9VS3nIhxxkj4mkV":{"uri":"/melonJS/docs/melonjs/DropTarget.html#shift"},"6s4ZCrJgtwRtxvyIVK9Gw":{"uri":"/melonJS/docs/melonjs/DropTarget.html#to2d"},"XGnBDPfmeo0q7h3l3qaFf":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toIso"},"KXtmhzV0NCfrRIflN9OtE":{"uri":"/melonJS/docs/melonjs/DropTarget.html#toPolygon"},"ZWaOZrenK-n6mVp5QBpEX":{"uri":"/melonJS/docs/melonjs/DropTarget.html#transform"},"SQ7Rq1E5Yq5VLaJsBcs4W":{"uri":"/melonJS/docs/melonjs/DropTarget.html#translate"},"EEKLMRfPgVgl9f5gc5M9T":{"uri":"/melonJS/docs/melonjs/DropTarget.html#union"},"PXmLKMHKsztyKJ9Op_h__":{"uri":"/melonJS/docs/melonjs/DropTarget.html#update"},"845MopbzrXhxqy5Zqc9DB":{"uri":"/melonJS/docs/melonjs/DropTarget.html#updateBounds"},"INOs10EvkSSMhjFw0_7Lk":{"uri":"/melonJS/docs/melonjs/DropTarget.html#onAnchorUpdate"},"_Ig6FtJHzeL2lo6I0vfgR":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html"},"tfbIAN5HPK4qsNFx7JQse":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alive"},"RqvTxcecAYODMg1SWTtG1":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alpha"},"cam0Eb4H4vQRFtMefXnNw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#alwaysUpdate"},"hRDcJJIT7ufEGuQEJ-IhB":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#ancestor"},"vv1G2H1vJPpJHTV2bLWOv":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#anchorPoint"},"4saH9hZJN5lESx6z_974R":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#autoTransform"},"SKQ0vkll7uy1j_MbV51sQ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#blendMode"},"d2d2d0Ir4HUt34FBe-5kH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#body"},"BwQ3gzVjgS8ZeMG7apsxG":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#bottom"},"WoB_5tbYzmH-WpAFabIUr":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerX"},"18o5e8JbV4TI_3Mqmk1XP":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerY"},"uvKZnskVjbnlUMk610ZeT":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#currentTransform"},"4gD1TtqNyCbDLpS-Y3DQ4":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#depth"},"PJLZTI9D9S1FBlvkZpXru":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#floating"},"qbdXnmCPMLMSTURjdrTIK":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#GUID"},"aVmuzi3_yR5_gsMZHaD3S":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#height"},"KkPYwjawlinF7pK1CYdJZ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#id"},"M721n7SboQduvfC4xv6s2":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#inViewport"},"GOyjbT2PwrfO9xCNvHxqw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isDirty"},"Top6pGDTNQbkKqmG-6Uwd":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedX"},"nDpzyTp-UoqJEKQzFG-P9":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFlippedY"},"Y10VQ92BhB1vJAOG4eVEK":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFloating"},"jvHfGfXUGNh00M_ZSyXig":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isKinematic"},"g3yB1fJS9zI9yTqMXE7JB":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isPersistent"},"ERBdZ0jkUTQR15Bv4EOmT":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#left"},"Dw1GCe0BnppFM9L2I84bm":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#mask"},"jaCMh-R8IfPWs6sa2hrbW":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#name"},"KgXIdCKOLtsXvSio3f6yo":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onVisibilityChange"},"w5cSsQYPEHDI2i4pwHmke":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#parentApp"},"2n7JqcTFyI0MHZOAMof42":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#points"},"yst3fFaWGU2qdq0x9gpfz":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#pos"},"NpEoeaCwwPV76RWsqFVg7":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#renderable"},"PI2Tv4cLDFWR-sSpy5n5I":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#right"},"aDCbgorMCpyebEqnkYGxp":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shader"},"Q8pxNs0Ri0_5YWPHajNjC":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#tint"},"Z73zrN7fpew6w8wFxH65b":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#top"},"ZuJB_KHkjZ-ftolf1SZAX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#type"},"tLjJOIVgoHpAMBqO8qDRz":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateWhenPaused"},"v5CZu2YQeUa2rNfNpQybM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#width"},"9VxWK8Mn5kQsMTslv9Nr8":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#angleTo"},"CfYzJnY5ZBJ63FmpyCSVc":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#centerOn"},"Dw_3zSizCJoFMpR1ujYCf":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#clone"},"eKKlE134BPKmLnMKYu3Ah":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#constructor"},"8e-Z0ftSmFYctCm-XRRwJ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#contains"},"d1snRjykqTx-qops-myph":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#copy"},"uHqisp5M0wRxrkiBvxPaU":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#distanceTo"},"jxdMiJhY_K1FxouVxFHZ6":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#equals"},"QIprqCInBeOud2zEmL9RF":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipX"},"wcn-0V9R0stfQXl-jYpLF":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#flipY"},"1ChlmIS7We3YKU_bpsZQI":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getAbsolutePosition"},"LfCqs-0nB77nh3Uo9CX5u":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getBounds"},"5WYg89vylGr0Z7yRwjQ-X":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getIndices"},"xX9Lqz22XunHMSpHVHJjK":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#getOpacity"},"8BV1vCabyuQ7tjHSCiTFZ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isConvex"},"6hr-J-_NlpRHDBqRKtRIw":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#isFinite"},"D9eMjnar3TDumv0diogvh":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#lookAt"},"YRjJ0PRbZH52F4vKYKYYl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onBodyUpdate"},"nW2S8vMPZuDDsatTQwM6j":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onCollision"},"mzJ7FT03bHD4c20NMoS-o":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDeactivateEvent"},"aP_UHI7-bE1Opn05ZEdEN":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onDestroyEvent"},"Ou0u_BnLQcmzj0ua0mw38":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#overlaps"},"Xli3XyfIOMAUvnL4ptvAB":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#postDraw"},"QYZyCz8s0OhW70BdWP8sJ":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#preDraw"},"lZevH2JQBE-8E6gFNz0RX":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#recalc"},"Xakz8XCPazLfVOLtNnqyM":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#resize"},"hSTOKzaAjwU8H7jiKrNsH":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#rotate"},"bg3jOWW28kHPIjOf-piaS":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scale"},"c2GBlcKFthpDBXfrEOsWk":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#scaleV"},"z-c8ok7M9RqjFaeZ4_rWY":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setOpacity"},"J0geYR_CmHhvL7nHZJSrl":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setShape"},"bsg3LSFRAA2bwx73Hd_-Z":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#setVertices"},"Erx0mFrdMErIaY9jikKWo":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#shift"},"gN-olEghHN_8k4r9L-KqL":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#to2d"},"qjyF0lkrXTAjhC_1hwFEV":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toIso"},"KUkdSBoUG8pxWskY7pqqf":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#toPolygon"},"H8UfcdCY3K-lvUZy57KBy":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#transform"},"U3iGHpgrDm7eTbbkrtiwV":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#translate"},"LH4f-zaELuL6BNrxzk_iA":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#union"},"uCzsYPYZpN2dWbYH6qx9x":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#update"},"TyHV_BfFzBHdvua9VCUmB":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#updateBounds"},"hb2OSKvqLIvM1OMOiPo-c":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#draw"},"_792AquqPPy9uSZiDOHLa":{"uri":"/melonJS/docs/melonjs/DroptargetEntity.html#onAnchorUpdate"},"ADI8Xo0j-CCHqPea6Km_1":{"uri":"/melonJS/docs/melonjs/Ellipse.html"},"BNudkPE3aKA7ITv0v4Cpm":{"uri":"/melonJS/docs/melonjs/Ellipse.html#pos"},"GVlDxYpDEQWGSceGsfIzs":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radius"},"H4ezwHDN1puCR3w5eaF3K":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusSq"},"T14fqGBszfXHYm_YRKB8M":{"uri":"/melonJS/docs/melonjs/Ellipse.html#radiusV"},"ARIISWutwzMrk5kSyGj8-":{"uri":"/melonJS/docs/melonjs/Ellipse.html#ratio"},"gM0ahNh9Dt0RTUijBvyFy":{"uri":"/melonJS/docs/melonjs/Ellipse.html#type"},"LjsPk2_L3VR5E4GtOnHeY":{"uri":"/melonJS/docs/melonjs/Ellipse.html#_bounds"},"MtQaAN6nMQS3RJhz4EVpB":{"uri":"/melonJS/docs/melonjs/Ellipse.html#clone"},"1alGaqxpltdzozTC7LosE":{"uri":"/melonJS/docs/melonjs/Ellipse.html#constructor"},"DJ-VMmTJ5ufSSkmXSiABW":{"uri":"/melonJS/docs/melonjs/Ellipse.html#contains"},"B761O_vdV2weBftfY0MkU":{"uri":"/melonJS/docs/melonjs/Ellipse.html#getBounds"},"WX9j-PjJewErZpnbdQI6H":{"uri":"/melonJS/docs/melonjs/Ellipse.html#rotate"},"zrKro6AIwaKG92cGikvDN":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scale"},"3P9jkYozCVmkNHr9RhDaA":{"uri":"/melonJS/docs/melonjs/Ellipse.html#scaleV"},"syyc1ssQMYcKIP6Pc9IsV":{"uri":"/melonJS/docs/melonjs/Ellipse.html#setShape"},"W7DdoQlnpcZRIiUX_WkLt":{"uri":"/melonJS/docs/melonjs/Ellipse.html#transform"},"vXyE-ajzlcp0RIQZJkwys":{"uri":"/melonJS/docs/melonjs/Ellipse.html#translate"},"UckTsA8ASeibUXcoqRbJi":{"uri":"/melonJS/docs/melonjs/Entity.html"},"l06vRQs44C7HTAtCPubjX":{"uri":"/melonJS/docs/melonjs/Entity.html#alive"},"Dy6zH82NtlS-1h-Fy7Yq0":{"uri":"/melonJS/docs/melonjs/Entity.html#alpha"},"Rrm6Xu3ofTLRyPHgbxn8j":{"uri":"/melonJS/docs/melonjs/Entity.html#alwaysUpdate"},"05g0SlJu4NBmdtCkby8PW":{"uri":"/melonJS/docs/melonjs/Entity.html#ancestor"},"UhWM6jnNnl_T3jkjRpyl1":{"uri":"/melonJS/docs/melonjs/Entity.html#anchorPoint"},"Bz-5bNOGB4nRfZgnM6QvL":{"uri":"/melonJS/docs/melonjs/Entity.html#autoTransform"},"h1EVa5plp6dnihm-NYJxY":{"uri":"/melonJS/docs/melonjs/Entity.html#blendMode"},"UH7qnX1Upzku45V85Nz9d":{"uri":"/melonJS/docs/melonjs/Entity.html#body"},"ts_S63DaQvJSfZh9eY-Dl":{"uri":"/melonJS/docs/melonjs/Entity.html#bottom"},"4ty7VjwXHDr_jFNPDC6eQ":{"uri":"/melonJS/docs/melonjs/Entity.html#centerX"},"H22K3V0oqD0_4YcfnMZ7s":{"uri":"/melonJS/docs/melonjs/Entity.html#centerY"},"5vnATHGm4jTeuC3N6N6-n":{"uri":"/melonJS/docs/melonjs/Entity.html#currentTransform"},"kEUWbLyW-x9BNInb3mjui":{"uri":"/melonJS/docs/melonjs/Entity.html#depth"},"HkJxDZhFZprloGxBJ3TJ_":{"uri":"/melonJS/docs/melonjs/Entity.html#floating"},"RxM2PJ65VE1baKTX9GL5I":{"uri":"/melonJS/docs/melonjs/Entity.html#GUID"},"lpFxeveONay2z1V9cMWs9":{"uri":"/melonJS/docs/melonjs/Entity.html#height"},"mFJAS-akG1S3L1ws4c_U1":{"uri":"/melonJS/docs/melonjs/Entity.html#id"},"LhVcyhbqOxmUqOEMGCLkr":{"uri":"/melonJS/docs/melonjs/Entity.html#inViewport"},"02lbPrFlz5le2qzPlr5bU":{"uri":"/melonJS/docs/melonjs/Entity.html#isDirty"},"mlx9kW6DP-TKjXE8wCuMg":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedX"},"6CO1NgZD9j7wOT7cEkms1":{"uri":"/melonJS/docs/melonjs/Entity.html#isFlippedY"},"_noRWaj3QbETiIGcn4_su":{"uri":"/melonJS/docs/melonjs/Entity.html#isFloating"},"STiM9vEIPXFu-q0VWtIUD":{"uri":"/melonJS/docs/melonjs/Entity.html#isKinematic"},"FiJPG41tngTJGngUlgr-8":{"uri":"/melonJS/docs/melonjs/Entity.html#isPersistent"},"4V_EC7PcTzgR3_EFPsfMU":{"uri":"/melonJS/docs/melonjs/Entity.html#left"},"pWsnQjilVaDUD21YAOUN6":{"uri":"/melonJS/docs/melonjs/Entity.html#mask"},"9n__hypHnYhPJJ-WmJqJm":{"uri":"/melonJS/docs/melonjs/Entity.html#name"},"8HLzXJehOsSA7qS_tzAYh":{"uri":"/melonJS/docs/melonjs/Entity.html#onVisibilityChange"},"gQcfyqkPOhGrgCw7TfWiF":{"uri":"/melonJS/docs/melonjs/Entity.html#parentApp"},"kV5b8eZKMXMH3mFu0XYEg":{"uri":"/melonJS/docs/melonjs/Entity.html#points"},"hM9vh7QIC0cseY6mp75sO":{"uri":"/melonJS/docs/melonjs/Entity.html#pos"},"yqfDGhP4-cPng_FFUgP8H":{"uri":"/melonJS/docs/melonjs/Entity.html#renderable"},"I8SgAFpVWGhfvKmSZOQvo":{"uri":"/melonJS/docs/melonjs/Entity.html#right"},"kyV-NLZg2Acj5ZVmWirB2":{"uri":"/melonJS/docs/melonjs/Entity.html#shader"},"aq2VFuOrv2NzqA1H1gRtW":{"uri":"/melonJS/docs/melonjs/Entity.html#tint"},"lWXEywZDjZ2XgHzzOJypl":{"uri":"/melonJS/docs/melonjs/Entity.html#top"},"Pn1TtYKUr0JYj59j8UPpl":{"uri":"/melonJS/docs/melonjs/Entity.html#type"},"G4HmqErjBk-qBEOr2FbH7":{"uri":"/melonJS/docs/melonjs/Entity.html#updateWhenPaused"},"QTIiqJEHWqpqi8me61E5j":{"uri":"/melonJS/docs/melonjs/Entity.html#width"},"m7xL2FjaZK90RqBU9e2bB":{"uri":"/melonJS/docs/melonjs/Entity.html#angleTo"},"iMh09171BQr_nz2iySVFQ":{"uri":"/melonJS/docs/melonjs/Entity.html#centerOn"},"lIKdPx7YFO2fTTbPnB9xn":{"uri":"/melonJS/docs/melonjs/Entity.html#clone"},"Tzc2tJOq1sXQeiJklBAxb":{"uri":"/melonJS/docs/melonjs/Entity.html#constructor"},"P1nUbFszSSST3u-C_-01x":{"uri":"/melonJS/docs/melonjs/Entity.html#contains"},"8OQ4UpZES8jHUSXO8H96M":{"uri":"/melonJS/docs/melonjs/Entity.html#copy"},"et7Z-h7ZljtmySgbmb9BT":{"uri":"/melonJS/docs/melonjs/Entity.html#distanceTo"},"Ix1jVv_tNEeWnKQAHu5tN":{"uri":"/melonJS/docs/melonjs/Entity.html#equals"},"Xh0zvzLgnOLIYBhktHXkB":{"uri":"/melonJS/docs/melonjs/Entity.html#flipX"},"VUMZpOxJ2ybGlmgvqr5-z":{"uri":"/melonJS/docs/melonjs/Entity.html#flipY"},"SdxfZ5uKVqFT_8IM-kduu":{"uri":"/melonJS/docs/melonjs/Entity.html#getAbsolutePosition"},"cWE1pZ8aPo50Ak2XglMXz":{"uri":"/melonJS/docs/melonjs/Entity.html#getBounds"},"dAYoJ_B9hDYaWwr_XtObb":{"uri":"/melonJS/docs/melonjs/Entity.html#getIndices"},"veaN458e5iTNmvPl7GWu0":{"uri":"/melonJS/docs/melonjs/Entity.html#getOpacity"},"OAptRTJ6KBzunn8_GoV_n":{"uri":"/melonJS/docs/melonjs/Entity.html#isConvex"},"uGmlpYbkiqsrzopDq6LNa":{"uri":"/melonJS/docs/melonjs/Entity.html#isFinite"},"Nl9tBgklY4cAcUHZIgl-E":{"uri":"/melonJS/docs/melonjs/Entity.html#lookAt"},"zT7Rfk4f5OUmLypVm4yU6":{"uri":"/melonJS/docs/melonjs/Entity.html#onBodyUpdate"},"QILwm9QRDR5Vokl5Sprwp":{"uri":"/melonJS/docs/melonjs/Entity.html#onCollision"},"V6okwI5-Y_tzklQYLjOqT":{"uri":"/melonJS/docs/melonjs/Entity.html#onDeactivateEvent"},"8iWoVdqjDQFu9m09exBmz":{"uri":"/melonJS/docs/melonjs/Entity.html#onDestroyEvent"},"mJIMGSFUU0jjjzpfySUnB":{"uri":"/melonJS/docs/melonjs/Entity.html#overlaps"},"rr7Nk0qNwKz_MtfOCY3lJ":{"uri":"/melonJS/docs/melonjs/Entity.html#postDraw"},"18XUlGrZx1K-bl5d4sH7O":{"uri":"/melonJS/docs/melonjs/Entity.html#preDraw"},"yD0PYcv7UyxI4WzbeAvcn":{"uri":"/melonJS/docs/melonjs/Entity.html#recalc"},"DY21wmlIjnQNSIDD_RIkj":{"uri":"/melonJS/docs/melonjs/Entity.html#resize"},"yKk71ZUgRLHYvaqa-nYsP":{"uri":"/melonJS/docs/melonjs/Entity.html#rotate"},"F2ZDlzOfGZctS8CgrCUSA":{"uri":"/melonJS/docs/melonjs/Entity.html#scale"},"SWo0wu82i62iq4J1LGQCM":{"uri":"/melonJS/docs/melonjs/Entity.html#scaleV"},"9RFA_q7FP0ZmIC2nRss5B":{"uri":"/melonJS/docs/melonjs/Entity.html#setOpacity"},"Qj4GRgUh4r9ee3loHwpok":{"uri":"/melonJS/docs/melonjs/Entity.html#setShape"},"PfTk1rc0QSECa_Apdkr2l":{"uri":"/melonJS/docs/melonjs/Entity.html#setVertices"},"LNPIKmUdmfWsRba-3FRuT":{"uri":"/melonJS/docs/melonjs/Entity.html#shift"},"TTe1I3y1O8imG3WpGKqSN":{"uri":"/melonJS/docs/melonjs/Entity.html#to2d"},"YlmOM0hWO-ccVfNI5l539":{"uri":"/melonJS/docs/melonjs/Entity.html#toIso"},"fL3E80M7AiQlo_abotn6P":{"uri":"/melonJS/docs/melonjs/Entity.html#toPolygon"},"NpkB7-KEnG0Gd-rAmHCzo":{"uri":"/melonJS/docs/melonjs/Entity.html#transform"},"MnU3UGMUEZ7Dc2W9sMP4l":{"uri":"/melonJS/docs/melonjs/Entity.html#translate"},"K2UrHYXPBgROFPfQQW14t":{"uri":"/melonJS/docs/melonjs/Entity.html#union"},"KUsSVXVwcNV4H-wJGwK8T":{"uri":"/melonJS/docs/melonjs/Entity.html#update"},"E_HQvP1tmbAELh9JQDaSA":{"uri":"/melonJS/docs/melonjs/Entity.html#updateBounds"},"B4qH4eJJVSeKNltFb5YiC":{"uri":"/melonJS/docs/melonjs/Entity.html#draw"},"pve_pT4uu1Uxgoqe-Pw9H":{"uri":"/melonJS/docs/melonjs/Entity.html#onAnchorUpdate"},"JJPY3xMgRqlswCoDEDyAh":{"uri":"/melonJS/docs/melonjs/GLShader.html"},"X2Dv-7Bnl356dCLC-cIJd":{"uri":"/melonJS/docs/melonjs/GLShader.html#attributes"},"MGjXTaGcsNo9PfkRqqHLw":{"uri":"/melonJS/docs/melonjs/GLShader.html#fragment"},"bsJz7gKNysSYCyq4eAto3":{"uri":"/melonJS/docs/melonjs/GLShader.html#gl"},"HFGdu_-plb5fnPCUy7Q6L":{"uri":"/melonJS/docs/melonjs/GLShader.html#program"},"OYNbV3BwF1DYFCz0zn1m2":{"uri":"/melonJS/docs/melonjs/GLShader.html#uniforms"},"2ga4KGaDi3lQ3ZpK17wYF":{"uri":"/melonJS/docs/melonjs/GLShader.html#vertex"},"8haDuCnBkYmjQvQUHENE3":{"uri":"/melonJS/docs/melonjs/GLShader.html#bind"},"399tfCyXUgaNoPm-Slenm":{"uri":"/melonJS/docs/melonjs/GLShader.html#constructor"},"9hTWZ1Ab-tl2ofFMIMHf1":{"uri":"/melonJS/docs/melonjs/GLShader.html#destroy"},"MXF1ny61WOKJFoqUr6UBN":{"uri":"/melonJS/docs/melonjs/GLShader.html#getAttribLocation"},"mPE4bIhU6tkQB_1cobrVp":{"uri":"/melonJS/docs/melonjs/GLShader.html#setUniform"},"lDSbsHfpsUe4iV_3Jx2dS":{"uri":"/melonJS/docs/melonjs/GLShader.html#setVertexAttributes"},"9ua8DJxm2Q876L8ANoFAz":{"uri":"/melonJS/docs/melonjs/GUI_Object.html"},"TaaGKbIh1yULwKjLhDCaA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alpha"},"fytLUC43MI_YdqoBYJRbA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#alwaysUpdate"},"_L4ai1fe2s4ZOaDMExnIc":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#ancestor"},"EKm-7IPT9fKF_58VwuhtD":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#anchorPoint"},"ummLZxLYDsXrV-2Hci3QR":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationpause"},"fDb_4GnZs3zRlKCLhHk69":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#animationspeed"},"4nlQy6ymEjkumMLSd9qUJ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#autoTransform"},"zJQdNLxU2NCZwx1ILv1Jo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#blendMode"},"S5LyUeK_48G5GRSnClOZY":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#body"},"ZDigFyXm7gkt8B3OVkqIU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#bottom"},"OQD-pmIERNvY4J1LKRVay":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerX"},"tflXJ1Ni0l2_A1Xb5Pdfr":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerY"},"A-jZKKieS0Eyrzunwd5lk":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#currentTransform"},"qAHuwQ5i995byzZJv1MZn":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#depth"},"3QFzc5rU9SCwZ1mTzBkIF":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#floating"},"jwdUfPjz-s9JzmpOkuhqV":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#GUID"},"CZlWo1LBM5Q6XN_3OEVcV":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#height"},"4dQ0nEXvVQ5g_b8qfvHQB":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#inViewport"},"yEbLdXCAYY4Ak3wOB6Rt1":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isDirty"},"_WCjYuMU5zmnRjAjCpuhp":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedX"},"Alcefelpg4MTs7LCvkXv9":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlippedY"},"IzNFRVVutJy-uaZaATCel":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFloating"},"3nHJ292CuA_EKUbNo37mg":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isKinematic"},"q8DobHmx8aXmLlXNH3Rc_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isPersistent"},"D0U2ZZyW-CFdJeg60d515":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isVideo"},"mvCQwCWHYzICrzTRfkYiB":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#left"},"KrPZGL8dqUaPvdxuGZm_U":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#mask"},"UckUaFJ2dDR_KxlMeAr-l":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#name"},"6JO26wjaGCLr_If3_7gkO":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#offset"},"2kJX3XksYD7XFPFVoRvAP":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onVisibilityChange"},"paK5-DyuYufWQWORNtT9-":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#parentApp"},"-8G_w0mjoRPmBOP1ukmNp":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#points"},"hEBO_FBro22cvXjKHXD4g":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pos"},"3ILRkqvTEIdyZhRiwgGA9":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#right"},"hSJEjzUevwZ3J5UlR-H0o":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shader"},"Bv6VmMqnf8IWuFY19OrOx":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#source"},"O6chhaHkWUCBygF1DGNQz":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#tint"},"tdeJ1KXC8PMCCjqAyBIbz":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#top"},"1UJA9m7gckdfuI_dU_JuF":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#type"},"A1iYhX0EZ4FMIxBmV5UNv":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateWhenPaused"},"la6dSOhC-UxlV5FIUrn3L":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#width"},"9P_EGey8T13BEeJzEDuKE":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#addAnimation"},"po2XDdbjopd_U8NgAa4pe":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#angleTo"},"w5eUzpfiw_zvVxK8zP_eu":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#centerOn"},"QOSjM_NfnVxpXb8r2u_nl":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#clone"},"s2UWRD8lglZ8zc-vQLKQ4":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#constructor"},"Z4PkFtmSMMx3FfOyAMUik":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#contains"},"I7AObcEwSb3J3XTP0YvyT":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#copy"},"FW4x-wsyGDdJnmH9z2m70":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#distanceTo"},"DNBehz_aVc0onb45ukNhA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#equals"},"76zccnUcU3eSb3j877mEN":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flicker"},"o185DOeZy-02FkAJefJP-":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipX"},"3qfTcDPa22CRwgNiE-H_3":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#flipY"},"bSF1Oyoec0SprfqJv9NaM":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getAbsolutePosition"},"TdN4vVsESaexmVwh43QI_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getBounds"},"kIALStABFTRQ0NYxMWb__":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getCurrentAnimationFrame"},"vKheYqBdiIRwklExTqvQM":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getIndices"},"4ESWAK4xC2ZR1sy6noPs1":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#getOpacity"},"lqbiHc7kmMUwUkQNUAPNo":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isConvex"},"IWl5VHLqOWd_gX0iVw8KT":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isCurrentAnimation"},"jjr0zDRAOMx75xnt5H8_T":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFinite"},"mbfBk0RZmQFs4d8oZ_cKR":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#isFlickering"},"CZW1iAJ1b7KikdxplrUMZ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#lookAt"},"RSbgvTz75MGDgFLmYeXEw":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onCollision"},"7cjhc_5K4_FHEQasO59ew":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onDestroyEvent"},"ozfhnxxSKJTTpvrZS-QOs":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#overlaps"},"bLdD-mwqVH-pAWA9xTpIU":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#pause"},"esPp8h4aHVUo0mJokaWr_":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#play"},"nuPxPFMFBQNQW-rvQHJ-l":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#postDraw"},"3YIYXv4oPeoFdRGe7Vmb5":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#preDraw"},"EAa9n7mWU2qD0bR6drhQw":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#recalc"},"DYyYTaSgPZSEHcCNIXUuS":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#resize"},"QEXmyoUA8oVcLnuuPSMii":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#reverseAnimation"},"cBPhmk59_GmHPvtc_kR1g":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#rotate"},"zJD9fFWvWviVZmdrHyU7J":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scale"},"YoNzpKS5Y__cKAQc9aQE6":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#scaleV"},"Pv37NIQTNOBYCdVu9PvmN":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setAnimationFrame"},"t1tVBEw5sJ6CAf4ruwxd7":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setCurrentAnimation"},"lVzcbQF6t5QR_wqe0DMdC":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setOpacity"},"ue9PdlSzIpCYqx5WJd3_j":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setRegion"},"A0bttl7PvzHjOK-y60nsn":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setShape"},"o77FCb3A6UPNviA6omgOn":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#setVertices"},"eUnhHzdSMTHXlA1OoHcHy":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#shift"},"o_BXzmWK0uBHnJGc4X6pv":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#to2d"},"cLvYSJ9tve9lDzCByGWFZ":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toIso"},"v2p7qkSNDYfhbFruWyVnv":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#toPolygon"},"LJ4qjg9gWXVdOBW-qbC7h":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#transform"},"NH3iuwJfvUkOsnD0piK2V":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#translate"},"cT0Utk8FaagB0kVdR_URM":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#union"},"7YdqJSKpcxD13ChPByvqq":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#updateBounds"},"OmLgDH_KSPopDPJmtT_5S":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#draw"},"AjDZl7KXfZelHaly3nFFA":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#update"},"zB5RmN7kg3Nk0pySQOD3x":{"uri":"/melonJS/docs/melonjs/GUI_Object.html#onAnchorUpdate"},"A2pT10--1iHkczVnJMo8I":{"uri":"/melonJS/docs/melonjs/ImageLayer.html"},"cwK3efWRT7R6m1ZbjWbbG":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alpha"},"F8MVUXSXGduqkEMjS6cnb":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#alwaysUpdate"},"Vux_rlxuj_z6RVhOKrl9D":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ancestor"},"WZNEnFSHb_8zsjehMj4_u":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#anchorPoint"},"x2GMXUwhaz06kABHnrbv8":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationpause"},"-EMi6fuQnhX49C2evdiRo":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#animationspeed"},"zo61dAlnkE14X-_bLur-B":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#autoTransform"},"2wpkFacnDq7Q9bysfo8b6":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#blendMode"},"eefjiprK1Sb27f6t0BZ3O":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#body"},"jzkcJq9i8R1ePQoAKmIW7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#bottom"},"PezbNgmYLPZ3p56e81fDk":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerX"},"1yn18go07BTYiHQtTpAoU":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerY"},"_WR7Tc2YOHt1LiAl9NnG_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#currentTransform"},"OrzhRtW-86JZpU-U0Iw0b":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#depth"},"w1qms2bjTa9jxGPXv7W3h":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#floating"},"4b1-8yuyV9out4NmV_8H-":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#GUID"},"8DiANx3Q6lUxGUFRriRN_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#height"},"1q_gEQv2YUa48Qh4LZ4VK":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#inViewport"},"OYsuiS2RnuCLR5SaAAMx1":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isDirty"},"y2ilXUaYa9zURND9ADkyT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedX"},"JjYjvPm0Ojk9rj6PMgjSI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlippedY"},"eslGxDKMFjWpChsIldEJB":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFloating"},"jtCsEwq80fTGjevpJ73Kj":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isKinematic"},"BHXKBcfOO8aXIKKg0bv7X":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isPersistent"},"rrlR5cAfDqb5YyApYoqjT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isVideo"},"lwyq4P0eFuxTaaXDkGqv8":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#left"},"bg37stqRhardWEcHKQh8v":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#mask"},"0-VwKD7BWniAX0TknasMR":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#name"},"zLmM1sZV0N3f4kKeK-K_n":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#offset"},"pZzWZdQCJoaTrxUXjoE0S":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onVisibilityChange"},"U2tS0uyn0ewnpUT9UkHT9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#parentApp"},"zffVSutSo7eIfr8ngYwOh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#points"},"gAjoskNBLSQIjJqWs__Sk":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pos"},"qZDRpkW30Q64_A26GjvjC":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#ratio"},"FJzWXP6wLr3wsQ18wT4D7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#repeat"},"-uWa-qlZDlc1Yw8nSfEiq":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#right"},"wCwLGEJcKTX7OSwdjw2sa":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shader"},"_5HiMOBKh_1IvDfJokNUd":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#source"},"WrZLWn20Z2n-D8eoun4_E":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#tint"},"KKCqKxlxTyjwOcbW6I79P":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#top"},"DjE22Bet-virpYhCC4PEr":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#type"},"PQZwMxn_servZWG15UuQs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateWhenPaused"},"YVH-Xp02P2k-Tr3HKIXpo":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#width"},"MVqrUoZQzJWysXUXP6CW7":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#addAnimation"},"gqDqaB5TrDW2jYxCMKMcr":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#angleTo"},"2cWVmn2ikNo8DLW8PLiYS":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#centerOn"},"MYs26jpq9raenUi7TmgT_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#clone"},"TOFERWfg0aYF0FgK_d1jF":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#constructor"},"9oKlSBq_aYdGif0dcTDvm":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#contains"},"oSMmxjk1ITT6PCfxtg_Oz":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#copy"},"yaPHTKVq3os_pqH_Vc5SL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#distanceTo"},"a6V9RvwGDid8xZw8BIA-j":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#equals"},"hk204__EWzkz75CvzEKpd":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flicker"},"C5lPy08psz4LhvMHbPdmv":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipX"},"XLUb_0Uz8QJ1FhO8PqoX-":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#flipY"},"936y_N8PPjUHm_IbNLi0G":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getAbsolutePosition"},"s75eHiRk69KHkzLNl9yH9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getBounds"},"0fWJL5p4WkfnkaeUdgyvH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getCurrentAnimationFrame"},"hske_UNlcjdMJ2XeQXD5E":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getIndices"},"3RZ_shzMppl7MkoA0btdi":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#getOpacity"},"IZX7n64kjlLJQ7b2DCizI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isConvex"},"gqzeH_WICtSzU-JjRS1LI":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isCurrentAnimation"},"FTjkNhwdfnOK35HAI0dqR":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFinite"},"2YwvU46b9eMm8TuJVyq7O":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#isFlickering"},"X0Ub--p4kgTJZ8ejlpWdl":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#lookAt"},"XJwyl3YiO9CAe81x4VjVe":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onCollision"},"HJFJ_gY9d-xTFYSSaxTH_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onDestroyEvent"},"WNROZtqASSuqwa_xqY8B1":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#overlaps"},"e85skrmY3sfu4vS67PIqu":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#pause"},"ITsgH9_ltM2oOAM9tG7d2":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#play"},"Hmw-3_nv0TT9BtJGp1GeT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#postDraw"},"gvszM7vfiiNSZ9NUsnSQs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#preDraw"},"NztEfzOWcoEhtLOaLqUWb":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#recalc"},"HZ-G3sdQVlHodVEfS6IjH":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#resize"},"YdWLjfETkiJxEqTWwnbF5":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#reverseAnimation"},"yKzps0GSWvdM29Hc5mtT6":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#rotate"},"m_VQ8F4D_FV63PIXw6aXj":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scale"},"asJx1xYdO2cAu8JJgVw9n":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#scaleV"},"htd6b4GKZqw7VGIgUn1lM":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setAnimationFrame"},"1Qs1UhtJ71-nHbZ0jjx7T":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setCurrentAnimation"},"R25inyBalDJd3UEsmbpmv":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setOpacity"},"6oGAVvbGGd_bm9jHzuVT_":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setRegion"},"MtYZ7eY4wqU3S5QfxzRsE":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setShape"},"sDVEgt6VuV6O4SlioAqE4":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#setVertices"},"W9t4XVWriVar-0F2IGwzL":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#shift"},"Oc8VdEYo-JZ4Qp1KbBo0v":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#to2d"},"qEU3EpsKqJB4-LieYOwp9":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toIso"},"U6YbvudZfDHzQDgswFJQ8":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#toPolygon"},"W050mirXYdHdhAuaIkpQi":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#transform"},"JoUHXjk0rHZdjKu_4XoDs":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#translate"},"M0Gt2Y0g8AGlLWx8emuLe":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#union"},"NhoR94dWCrA-Uu74IyZxT":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#updateBounds"},"9_jMBlQxj9YOkpp0HjO7W":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#draw"},"XfjWX8ixhjRimu9nYDW15":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#update"},"4-hkALbtxi7zK7-bKKumh":{"uri":"/melonJS/docs/melonjs/ImageLayer.html#onAnchorUpdate"},"RqyznMKXfttw6B00JiHz6":{"uri":"/melonJS/docs/melonjs/Light2d.html"},"LXm3yuwX0HxcasY5w1f2u":{"uri":"/melonJS/docs/melonjs/Light2d.html#alpha"},"-twBU9ZlJn-eVsRYQ7y8v":{"uri":"/melonJS/docs/melonjs/Light2d.html#alwaysUpdate"},"PFdAsfNHRp_C559Sn09Ei":{"uri":"/melonJS/docs/melonjs/Light2d.html#ancestor"},"bx_7_0bH4VhtM89K4qwma":{"uri":"/melonJS/docs/melonjs/Light2d.html#anchorPoint"},"JW4dVRWGZk9syxta1MSmc":{"uri":"/melonJS/docs/melonjs/Light2d.html#autoTransform"},"8nJ7KteXiyYO3vr12e5GA":{"uri":"/melonJS/docs/melonjs/Light2d.html#blendMode"},"DkIQwiV5QrZt6xw43OnDO":{"uri":"/melonJS/docs/melonjs/Light2d.html#body"},"70yfCeyMh0_PZ-gYn9ls-":{"uri":"/melonJS/docs/melonjs/Light2d.html#bottom"},"F2323yyrBzdTxbE6T6TP2":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerX"},"l-9P8msoGDC-chBkOSWmF":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerY"},"XCL-wlEyTKI5Abb4QyVzy":{"uri":"/melonJS/docs/melonjs/Light2d.html#color"},"TeJn26Df1gSmMeh556Ryv":{"uri":"/melonJS/docs/melonjs/Light2d.html#currentTransform"},"U4HFwI03ahZsdnavbyYDt":{"uri":"/melonJS/docs/melonjs/Light2d.html#depth"},"KrJbsn-if37R34tHctK-t":{"uri":"/melonJS/docs/melonjs/Light2d.html#floating"},"SA2rlz8f8hIwwcx2g4o8y":{"uri":"/melonJS/docs/melonjs/Light2d.html#GUID"},"epmH4t0P_XGWzFN-A-e8c":{"uri":"/melonJS/docs/melonjs/Light2d.html#height"},"FWL3_DLoOKBexAxCh58gP":{"uri":"/melonJS/docs/melonjs/Light2d.html#intensity"},"Q-3zNSi9dQAnoLuC03tZh":{"uri":"/melonJS/docs/melonjs/Light2d.html#inViewport"},"UR7zDRxO4GPM8GfSJQehk":{"uri":"/melonJS/docs/melonjs/Light2d.html#isDirty"},"blxIiI32cdTxtWWmS6HPw":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedX"},"QODUC2fNNYdAxDUENFIVp":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFlippedY"},"nHG6otZBIRIkVMBwXLTMd":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFloating"},"QkMAFtDvlOIUJ9ancTVG5":{"uri":"/melonJS/docs/melonjs/Light2d.html#isKinematic"},"qexmKOAhtFQ92SH027LjC":{"uri":"/melonJS/docs/melonjs/Light2d.html#isPersistent"},"UzLTo2xM0heRDsikJdHAr":{"uri":"/melonJS/docs/melonjs/Light2d.html#left"},"4tUDzXdXCGDehU29BL9Xc":{"uri":"/melonJS/docs/melonjs/Light2d.html#mask"},"AkJG67zqql8BWhQElzoF9":{"uri":"/melonJS/docs/melonjs/Light2d.html#name"},"33-c3EGsLs7j2HuiE5vhY":{"uri":"/melonJS/docs/melonjs/Light2d.html#onVisibilityChange"},"wbAuCFpTWmTvn-sU27AN5":{"uri":"/melonJS/docs/melonjs/Light2d.html#parentApp"},"YosImVscCmKaed9_Kdkoa":{"uri":"/melonJS/docs/melonjs/Light2d.html#points"},"X6AOruEAi0Ap2OYOeILvr":{"uri":"/melonJS/docs/melonjs/Light2d.html#pos"},"1-0Pjm5r2pyYT1bV5B5_g":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusX"},"zUpyyMRtjFUoQZ7rbMbZk":{"uri":"/melonJS/docs/melonjs/Light2d.html#radiusY"},"ZBHeafVGxrR4kcinNlnB-":{"uri":"/melonJS/docs/melonjs/Light2d.html#right"},"DdIFHUkEazbAxl2ABrNRl":{"uri":"/melonJS/docs/melonjs/Light2d.html#shader"},"rICJ416KQoY8cwKno5C3n":{"uri":"/melonJS/docs/melonjs/Light2d.html#tint"},"wFqlL2vmz1bIBL7IDKnZ_":{"uri":"/melonJS/docs/melonjs/Light2d.html#top"},"77n9hLjyMgJCXu46wbBgx":{"uri":"/melonJS/docs/melonjs/Light2d.html#type"},"MPuXqFHZ4xY9g_1JQpyTz":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateWhenPaused"},"k0HOq4l-nzo2oyNAZ-dz1":{"uri":"/melonJS/docs/melonjs/Light2d.html#width"},"sjClQ-rhohWjGDhIUCRtr":{"uri":"/melonJS/docs/melonjs/Light2d.html#angleTo"},"sDEz0KYYJW77azL7_ey_R":{"uri":"/melonJS/docs/melonjs/Light2d.html#centerOn"},"KcJB-CtOcIQt7Z1r_nNI0":{"uri":"/melonJS/docs/melonjs/Light2d.html#clone"},"cyUMpSlK4-DeS06AbsReh":{"uri":"/melonJS/docs/melonjs/Light2d.html#constructor"},"GdJh10oaoYKc_GghEF1Ni":{"uri":"/melonJS/docs/melonjs/Light2d.html#contains"},"N-ab3hRRrvF_mE7XMdM0G":{"uri":"/melonJS/docs/melonjs/Light2d.html#copy"},"j923pBAlLpmb0Bs2ypXZV":{"uri":"/melonJS/docs/melonjs/Light2d.html#distanceTo"},"rwdfNb74CL1eqQ2JVqxYq":{"uri":"/melonJS/docs/melonjs/Light2d.html#equals"},"gr6u01D6rmG8Ya6f-v7hy":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipX"},"cPHtIiqvuHEXSSB7i1M8t":{"uri":"/melonJS/docs/melonjs/Light2d.html#flipY"},"LNlvtgQrGRHqRIME6K5Up":{"uri":"/melonJS/docs/melonjs/Light2d.html#getAbsolutePosition"},"iTvRJjWdn8_kcOVjHewu4":{"uri":"/melonJS/docs/melonjs/Light2d.html#getBounds"},"D77qA28_V67j1tdFGWP8_":{"uri":"/melonJS/docs/melonjs/Light2d.html#getIndices"},"pDkag5GbNlbCYVPbzrhMv":{"uri":"/melonJS/docs/melonjs/Light2d.html#getOpacity"},"lRKMzw_OtmOG553d0xUnW":{"uri":"/melonJS/docs/melonjs/Light2d.html#getVisibleArea"},"6JitEtNtIxRkst3rg53BK":{"uri":"/melonJS/docs/melonjs/Light2d.html#isConvex"},"FahAAo85DXxBjmGwGwJot":{"uri":"/melonJS/docs/melonjs/Light2d.html#isFinite"},"QLL_G8edByYIj3bZJmabT":{"uri":"/melonJS/docs/melonjs/Light2d.html#lookAt"},"3ig6CxKrYVbl_in-Fbuu1":{"uri":"/melonJS/docs/melonjs/Light2d.html#onCollision"},"m4EcZ8v-TNiX3tRloFpnw":{"uri":"/melonJS/docs/melonjs/Light2d.html#onDestroyEvent"},"BfHQ0rBUFl-VFqgph7XJM":{"uri":"/melonJS/docs/melonjs/Light2d.html#overlaps"},"ZQjg5103UKfip6_Nweas5":{"uri":"/melonJS/docs/melonjs/Light2d.html#postDraw"},"XU4PjVe9otY-zSCo-9M0i":{"uri":"/melonJS/docs/melonjs/Light2d.html#preDraw"},"wX56XCne9kLM9k0X4QmCY":{"uri":"/melonJS/docs/melonjs/Light2d.html#recalc"},"Rsnu-j5ftLJ9FeJ-Jx3xb":{"uri":"/melonJS/docs/melonjs/Light2d.html#resize"},"YY7EAfKXFV7ganr67nUwh":{"uri":"/melonJS/docs/melonjs/Light2d.html#rotate"},"DgoMNEwBDPgY94JG-tX-J":{"uri":"/melonJS/docs/melonjs/Light2d.html#scale"},"hBvpfMx_n-EiIcKULBv8j":{"uri":"/melonJS/docs/melonjs/Light2d.html#scaleV"},"ruOlJXo7En7APfF-DZffS":{"uri":"/melonJS/docs/melonjs/Light2d.html#setOpacity"},"QEQLQ717QupKSvYZ-y5hi":{"uri":"/melonJS/docs/melonjs/Light2d.html#setShape"},"UwQE64N4cP7NqHTeWp2PB":{"uri":"/melonJS/docs/melonjs/Light2d.html#setVertices"},"FwoE13lSkkNl2MhjrJcH0":{"uri":"/melonJS/docs/melonjs/Light2d.html#shift"},"s0vzbd_i3SL3DD9Zq0mLN":{"uri":"/melonJS/docs/melonjs/Light2d.html#to2d"},"1MrFKVoF_5UeIVmbKKqqj":{"uri":"/melonJS/docs/melonjs/Light2d.html#toIso"},"MwbLMAKi5d5yzHaT1tyj2":{"uri":"/melonJS/docs/melonjs/Light2d.html#toPolygon"},"3J59UorpKr5fQUE8PhZou":{"uri":"/melonJS/docs/melonjs/Light2d.html#transform"},"1BTqYMOzwwneVWSKYl8x8":{"uri":"/melonJS/docs/melonjs/Light2d.html#translate"},"Ho72s--wqui26VEZchcRj":{"uri":"/melonJS/docs/melonjs/Light2d.html#union"},"YNJVuQtilO0yx9OS4BYSW":{"uri":"/melonJS/docs/melonjs/Light2d.html#update"},"cBlGyTBa7anFSMFQ_WCiZ":{"uri":"/melonJS/docs/melonjs/Light2d.html#updateBounds"},"ckuz6L_vqaMXQwg3609Te":{"uri":"/melonJS/docs/melonjs/Light2d.html#draw"},"86HJLJHMW7FWSgE2cqYJk":{"uri":"/melonJS/docs/melonjs/Light2d.html#onAnchorUpdate"},"oR8G50u5LndS07NOOO3JM":{"uri":"/melonJS/docs/melonjs/Line.html"},"SrAq5GfGfJxC3bJ1lJZCK":{"uri":"/melonJS/docs/melonjs/Line.html#points"},"UgvLLhrnVSy2uTCfPfaEm":{"uri":"/melonJS/docs/melonjs/Line.html#pos"},"xIPZFBZFlkQDje_Zm4EQf":{"uri":"/melonJS/docs/melonjs/Line.html#type"},"4sYbmWXww4IkuVY3usAHU":{"uri":"/melonJS/docs/melonjs/Line.html#clone"},"8w4MvCWXAF5_Ghn_FEyrq":{"uri":"/melonJS/docs/melonjs/Line.html#constructor"},"7RrgO4qWZGs1DCAgngJU3":{"uri":"/melonJS/docs/melonjs/Line.html#contains"},"FC3p9VbI4GiovxtH7c469":{"uri":"/melonJS/docs/melonjs/Line.html#getBounds"},"lZMkeTEPh64R4LNZmUUbP":{"uri":"/melonJS/docs/melonjs/Line.html#getIndices"},"hAjF-3qw49AQCOANoGvBW":{"uri":"/melonJS/docs/melonjs/Line.html#isConvex"},"kcxnyn4ODTvfuo8bAgKfu":{"uri":"/melonJS/docs/melonjs/Line.html#recalc"},"u65LHvmYb424ttsYFIM5x":{"uri":"/melonJS/docs/melonjs/Line.html#rotate"},"2gcfwr0t1llcdEAl89AHR":{"uri":"/melonJS/docs/melonjs/Line.html#scale"},"hUQkzjgd0Gvtu_bEdu2ic":{"uri":"/melonJS/docs/melonjs/Line.html#scaleV"},"IghwUFCpsTH29GJ-8Q0Yi":{"uri":"/melonJS/docs/melonjs/Line.html#setShape"},"aoPW3AmQPRarufb79n7wu":{"uri":"/melonJS/docs/melonjs/Line.html#setVertices"},"4Lbe2W0C8Oxzqw3OAjWxM":{"uri":"/melonJS/docs/melonjs/Line.html#shift"},"vEzcUQVHEPhFHrp-OY6_7":{"uri":"/melonJS/docs/melonjs/Line.html#to2d"},"Mqso4_JjABKViSzKqFxeu":{"uri":"/melonJS/docs/melonjs/Line.html#toIso"},"4avgctFNJToN0GAHqcy-Y":{"uri":"/melonJS/docs/melonjs/Line.html#transform"},"N7_mq8ClmCPAsFliP-3Rv":{"uri":"/melonJS/docs/melonjs/Line.html#translate"},"Bc5h1lMrLYCoyq9tpB3Pu":{"uri":"/melonJS/docs/melonjs/Line.html#updateBounds"},"c1iO861O4ldb3TT8gnD6Q":{"uri":"/melonJS/docs/melonjs/Matrix2d.html"},"F9wXBe4hm_A-AgfJ9J0Ih":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#tx"},"Jpcl0PfHY-fQNgdPAKU06":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#ty"},"ohKf2QNf9P-fQWsbQ9oat":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#apply"},"G68gc0Lh-8bvRC6hr_35e":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#applyInverse"},"k3ANiNhYrc79qmfITNE6t":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#clone"},"gWPeaJGRrOTYZn06yySP3":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#constructor"},"_4Yg_xic8HgG915YtyRrU":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#copy"},"M7cPM-C4O9ZuRZa2zBW3U":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#equals"},"GtP8-LmXp_72TGC0C29Sy":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#fromMat3d"},"tkkrNVkUHyzEGxyGF9lcy":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#identity"},"1HBvjgB21D7EZLHn8jk4P":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#invert"},"D_tsgCFyC5KShLVnwThpg":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#isIdentity"},"JUyaGDaWfrCwo8W_fpfFz":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#multiply"},"Zi2V8HKP4qcl6op_HPV6y":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#rotate"},"ElbDI53MgVpEr1BP7Zaxm":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scale"},"4EEa6sEeZ6dGjDFCqSQxM":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleV"},"ew_8Pww-WY4NgO8N0Dx2u":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleX"},"gxyIWYKnnjwOSqLni2u8b":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#scaleY"},"MxhNoQklv0ka6I83tnggn":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#setTransform"},"8VYOzolFZaiDDlUU2YYeB":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toArray"},"AvD_oguWiG2oyHM1LHEby":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#toString"},"jm3Y0y1vQZiquX2KQeQv4":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transform"},"bZkBZDab_lNIMniYroFOq":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#translate"},"KGMB5TlGXr_KhoFGIh4mQ":{"uri":"/melonJS/docs/melonjs/Matrix2d.html#transpose"},"15dEctFDXIgSbH8Emvlii":{"uri":"/melonJS/docs/melonjs/Matrix3d.html"},"CGqtRxRXLWf5DdwdHIu77":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tx"},"fZu0lPdMmtVlFCgWizjGJ":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ty"},"5imdtjYBOPahHDfJIEIco":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#tz"},"k1_pawsTRiZS3EA6C3ONa":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#apply"},"Y4YhVyyOUgG9qbazUIeVo":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#applyInverse"},"Z5xxUEZ-3dBAWER3NUCdN":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#clone"},"yS-xonIdov80wb6qFfnD7":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#constructor"},"FND2QTUgemVn9zA2pvq7x":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#copy"},"ic5oFbnc7Y3y_8kaMPgTw":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#equals"},"_lkJKer8BnhQXSQOUbCFu":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#fromMat2d"},"gAYep0hr4u0ANf2YlIJt_":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#identity"},"3PQQdPlmN5Ze5htg4aTVA":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#invert"},"B-440E5jjjU_imUYVfl6Z":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#isIdentity"},"0bHNdJiRF-_pgBKNqUvwP":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#multiply"},"YXjQKZMrF7Q0shU3qrRQ5":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#ortho"},"BoPBddl8NLJ0dluVa6Iza":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#rotate"},"QCLnGqRWsYiy2_2RxkhpR":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scale"},"UKJ30E4b5ZpyqOJkgOe05":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleV"},"YzhsIPZA4UpxpEEUpl2u2":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleX"},"3tmuvMJUBV4RKFUtXJxUN":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#scaleY"},"JSlvxsXKU2ztJ1xxoTlSA":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#setTransform"},"jqX2OODRncZT1Nd-P18_u":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toArray"},"pG7VFhn8bqGL669vpgHZ4":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#toString"},"CvUOjoRLDBCOIkqawB3FV":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#translate"},"daz3d500iABVqk2zSk2oE":{"uri":"/melonJS/docs/melonjs/Matrix3d.html#transpose"},"U0aFPWcb5C24Z576GnXoW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html"},"b4JarnUQaaWxdAtPozEs_":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alpha"},"LplPmn2QBratMpxIPrTKy":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#alwaysUpdate"},"wSLZK9bETfmhFtsaRk8qV":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#ancestor"},"fI6nOoUnAXkQiw3Bed99p":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#anchorPoint"},"0KPtUUVgtaGoso_ZEJ0F3":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationpause"},"daqvPxEfgrbAM5Voqq2_I":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#animationspeed"},"BW6TMdzrygeeRFaYI02eo":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#autoTransform"},"DPgZ9pERZSvYCLhc6s9fH":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#blendMode"},"wI84tsr6DV3N6EfaKbLG5":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#body"},"oCFiEohLCNt8vxbQNU0LB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#bottom"},"ixduKOSw73DUQErRC5oiX":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerX"},"b7IC51mEDcrppvnvvic8B":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerY"},"ZwCo4ssJP74UlDgKlsjzH":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#currentTransform"},"PbAw_lMx4Qv-n_i2R9sRC":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#depth"},"qvgV4Guxq2vzpwdMlRG6w":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#floating"},"jhYcGGMkdHNRqdXq_Qn_G":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#GUID"},"CUe2iFiGKvXrtVoHVPSqB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#height"},"K2EbK91uEuTniZwYMRz65":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#inViewport"},"NrPvJgRmSg03XWyIBwviu":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isDirty"},"rJ6W8GxdFtcCESVPn_YVY":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedX"},"soccxbOBFRFU6unl1WHBD":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlippedY"},"nodYSMre8cICX2uDOgn13":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFloating"},"SZA_4A1dsX9R93rDWpmW7":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isKinematic"},"7GnchOm2TL04kyIPyvFqt":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isPersistent"},"U9Me58HSJWUXdxU7ZtqpU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isVideo"},"dTEaRf9CkM5K1oLc1NM_L":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#left"},"Ze4_wWwucw9NQQnfeG05k":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#mask"},"J8Vk8cKeVT_sOHL7232R_":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#name"},"4OheuLa5uZYs3KCz9FqDd":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#offset"},"hlZKgMvvcL_bYs4CoLb_U":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onVisibilityChange"},"vzsaqrfQsdATpN2hrxqch":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#parentApp"},"I0NCei3s7Npi0mzDozr6-":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#points"},"kSH9Cj6kEkfPv_MkBGEWh":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pos"},"pzMCQjRl4k8SwbI4TAod1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#right"},"zwZ6cjrSkIqXovkPTJ_w4":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shader"},"zs1__guATXZ6i6XGivfgd":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#source"},"2dyf5Y6Yhpal7J8ts3YSv":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#tint"},"8PUJT3EE2q2TT0sBM9OaB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#top"},"F9PSHKgriG3TYRgf9nZLs":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#type"},"WOEEchyJgiePpTPCydLrI":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateWhenPaused"},"vu3iX7frDQeWOceWfVXJt":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#width"},"j7UPYloh6k-UzPYD3Z2jb":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#addAnimation"},"D_r0FzH8iGUh8ynVCNISA":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#angleTo"},"i9nRZcx0WlEKLVSWhquMK":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#centerOn"},"ZyadiICaJnSbYomLJ2jMr":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#clone"},"1dNrbKyzPzkFduAU3gD0u":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#constructor"},"8dRfplIVGvCuezsI0peRT":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#contains"},"ti9QkzKDEeHkh36yaGC9o":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#copy"},"BdmUmKs39wlT-rK-OjNNE":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#distanceTo"},"-7SXFV7QTOO7h97f_4oGa":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#equals"},"7gJEpDQdY3XwJvhTjRLYO":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flicker"},"Y1RqOAJmabKz6oXHRXpiD":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipX"},"-fE3i-9kRUjKvfrdcE1IM":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#flipY"},"Ne5SzRfBhglgHA2E8HY-x":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getAbsolutePosition"},"yBjJNDa08GaJziHqtB5ac":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getBounds"},"zI5qO667aepSqKdVg0pNw":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getCurrentAnimationFrame"},"-jZ0K0erMK2UYM8-Pgzl9":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getIndices"},"DbUP-2wKNJxpkwxoEqNT9":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#getOpacity"},"WGKzFqWbVUGkNImPXzChW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isConvex"},"9meF7q4UY4HMAwu0tsPrl":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isCurrentAnimation"},"gzDJ1v2LHHCVwZAuFskS6":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFinite"},"rC_qH9dbr_xveG3dwsyzD":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#isFlickering"},"KB01OB3iebemhiMrYtVlA":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#lookAt"},"k5A1SPQ498TzoxOd7gEj6":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onCollision"},"3zCDQ8iFR26QJKIeaHhQB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onDestroyEvent"},"frHStpFrEUgFWXRaRcF9d":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#overlaps"},"ypPF-OBaJVg3oVzBSXA6R":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#pause"},"vyr6zlJp1bop-jwv28tzo":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#play"},"AZIkPn0GD8gEwkC4LkZHS":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#postDraw"},"W0nWITyIRRjFZF2ZC-Sf5":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#preDraw"},"TOkqtoMyyihM2400wMr4w":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#recalc"},"kfXWnSnmNLeZB4LGZUde8":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#resize"},"7RrLT_HVt-KWsVoDfjwF1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#reverseAnimation"},"8Fkrq6Ru8-P1adgBS5BLn":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#rotate"},"S0rM5Fm27GmeDXybSDUxW":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scale"},"vW90mCKKP7UUu7oI5hueK":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#scaleV"},"wrwCbC8o9rnV0WFX6OaY3":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setAnimationFrame"},"xd_tLCIl9lfHnQlV-o06k":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setCurrentAnimation"},"qP0xUltrl91xZwwFRpnT7":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setOpacity"},"bnjHf1wOyyDJOndXQOioB":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setRegion"},"v9zQ4krpNbRKL8xemLoq3":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setShape"},"-KpaXFAT88D7GqtG2UHzU":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#setVertices"},"nCRafnfP7LSGINtifv0o3":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#shift"},"_xDjM2HybEF43Rp9u3UCG":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#to2d"},"gtpZqTEKqxtktXXutxsyS":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toIso"},"kHe5KkxS5T9bpMbFsTKpS":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#toPolygon"},"euknSTPWmQDOc7xk0NhwJ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#transform"},"auyzOJrd9z_ON0FpEUSwj":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#translate"},"ns6tKFaeo-5sVQ7FOZXje":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#union"},"DlZd5B3eRnX9gt2WQDCbQ":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#updateBounds"},"r2vN5HFY1AbUIUgebNZr8":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#draw"},"RM4yIqqJULLjbS-pOTjQ1":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#update"},"OYlw_7pVEANay_tqYhK5l":{"uri":"/melonJS/docs/melonjs/NineSliceSprite.html#onAnchorUpdate"},"C_R512ca3er3pYQoo8xSq":{"uri":"/melonJS/docs/melonjs/ObjectPool.html"},"1OKiW26pu4AN15w87YKOf":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#exists"},"LJ5ToIYycXPw2dTrR0NxM":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#getInstanceCount"},"ntMoMplk3UGbJ3f91tAQ8":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#poolable"},"SGTEzPUyTfBCzQKi1PBVc":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#pull"},"HOaQh0KyvrQZL9DctVT4A":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#purge"},"_czrsmGuWanbrFzdawqj2":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#push"},"CvaWAF56-7dV9SIK8CoRQ":{"uri":"/melonJS/docs/melonjs/ObjectPool.html#register"},"7ET7ZqsccPNiN2guNKr4u":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html"},"v8NzM73sTwD4L1QUu8F2d":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#x"},"6hjQ9SnD0u6YxGiXptsu2":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#y"},"hQrCFQtMcYK_QklE7uRZc":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#abs"},"jEQtcVS1bfmr98UolVYmv":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#add"},"cCX5OUW6G_tV3Ub2r9Xe1":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#angle"},"j6UYwB9UZBxPrm_MTKzwJ":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceil"},"vzDwQiBpxL1x0ECOXSLvP":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#ceilSelf"},"9pigrVTYfenBaVnetdVS4":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clamp"},"JFWG0rP_2a4CW3fTWU-T2":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clampSelf"},"91FhQnTtoGEVtXr3i6Hvy":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#clone"},"5yX9wsckzxwuS2EGHQ1CM":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#constructor"},"V8qIzev3gazF0zFhEaVmk":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#copy"},"pqEsQIrBGkkyv_Yhvz1b5":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#cross"},"x7Mm78ypu8XJctbyHTA06":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#distance"},"LGUelwzJU-YgqmPK1MQ45":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#div"},"AZQsES6yc-qwfnf7Jh5tl":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#dot"},"Dud9QI3f6OeZIfVaMj-yg":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#equals"},"txiZvdZUOfI7aWfbi0Q2F":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floor"},"jSvmvYgR1vdUhCjl32t5S":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#floorSelf"},"64hHqPArcvyKH_VwC5S3N":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length"},"FoWJUvjRL8uHZLUfjysOo":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#length2"},"lbYyCpkq1_8easXXsRM97":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#lerp"},"DkW6t5gNcMEdN4Id18XrJ":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#maxV"},"MeGB8X8JPkIvvdTtcIKia":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#minV"},"6A04s937se8W4E8Z_IkAs":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#moveTowards"},"2KKmwqRehz1GPryGExn8s":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negate"},"UltXa8Fvm9LVxOH3Z2avq":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#negateSelf"},"ND00FQeSoSs534KYdguuH":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#normalize"},"mN-CX1hB3mdttLib3KDlA":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#perp"},"5Vqo8jtgASjLuZFa7Ukuv":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#project"},"WWVsmugCt850iQqX6mUOh":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#projectN"},"yCpn5yAGqJ349yGr_n99n":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#rotate"},"UO_1KBI3ZaGN3FhgiBq2u":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scale"},"VLiL3VoOS3i3kkGALXFLb":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#scaleV"},"EFNkegoiezdkRJUq6VzTI":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#set"},"gtRy5IXNVqFBDZlWhtPLW":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setCallback"},"99SsCnI_yYi6l2nUBey3T":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setMuted"},"cNxREojhe12UsbIX7aegq":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setV"},"HXB5kmWDtlgwl5B_yoMCb":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#setZero"},"CNnd3nFFezrvsMZQAEu95":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#sub"},"kD52exjEq22lxxLZrc0H-":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#to2d"},"nDPp1VayE04-tgtLrD_fi":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toIso"},"m_UA_kPklW7bAIVVXA0PV":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toString"},"W01EyFqp9bt8B8A7Q05JW":{"uri":"/melonJS/docs/melonjs/ObservableVector2d.html#toVector2d"},"7M-ujpTwU4vmuSAHGnp-e":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html"},"i3mHXPAo6I6FCOjn7J_AP":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#x"},"t3Wz7p1D4AoLEBjt9jN8M":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#y"},"JE62W8U1--Hy_lBFe3St9":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#z"},"-mq9bklpGgDrS9U9oQVTy":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#abs"},"NKx-dwx2K41TNmsN-zxc_":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#add"},"bjN3bT4ZuTlfVnzaUoIin":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#angle"},"v7knwOdcPZ-GxaxyGYjjP":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceil"},"54CW34kMbyVlanUVYqlbE":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#ceilSelf"},"LqbjkpeFhn6-Vphcz5fkW":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clamp"},"7uJDdLxjJuZBoB6v3IfN0":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clampSelf"},"i9vzjDCoPdiPmamVQNDnv":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#clone"},"_7xw8vxjWC0t764aTOE59":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#constructor"},"MvlfnDl0FKd-yDWjiAXWb":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#copy"},"GcHYeIarTMSyz7UkA2dtQ":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#cross"},"KAGOYy98y1LYoHAkZHKbm":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#distance"},"CJgh_HOF8y0CbuzfPF-8I":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#div"},"_7I2Hz0kRNgWAWh3JaYh4":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#dot"},"AFaq7Rz0_ugR72xhUnBYD":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#equals"},"Dj7Fx8mcmSetnYkjoE4-k":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floor"},"c4R1CiQXpjR_1aTZ37Grm":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#floorSelf"},"ad0Yo8WfaxRPJ2_m8ChUh":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length"},"8fRSW6DfV4Ib7UuH_ihNa":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#length2"},"uQwOMMKqbKhza2zCIYuJo":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#lerp"},"hgaxoePaSa1JkX8-1zb4c":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#maxV"},"hL6y4yD26kqAVvuYok0Hb":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#minV"},"vfr2WezQYEQGmcoMr9xTD":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#moveTowards"},"VrIieunefmvnHqxPYHQZk":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negate"},"OANU45TMMckOciW_YMj4X":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#negateSelf"},"ixG6k5bq57p3HOoLkyOFM":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#normalize"},"79ow_VsylMsrrQPosX43l":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#perp"},"vcV4HBqcUL3EZYSRu4fMb":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#project"},"7f-xtsg1rACpCG8dyrv8n":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#projectN"},"NM1utWlr6kn0MWXW9RHXM":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#rotate"},"9M9SPHbSBGCPcjsEk02ql":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scale"},"LjkEwHrryelCz7qteTtsK":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#scaleV"},"BY1bDcfqQ0XJJeapOx6WN":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#set"},"2B-ACKSVBiXMZ7pHYCXZB":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setCallback"},"-TTekwEM11l_NFO_QZJO5":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setMuted"},"D9BYihOckT_2qK0aGmO_f":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setV"},"V6UkGpnp0VGyyn8XzQeQE":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#setZero"},"uG4-hSEjaTq_yaFnMxIRy":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#sub"},"yItv767mS8ERTM9gJGwxV":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#to2d"},"yjH1Pda0z-PIAm40KnGkH":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toIso"},"X5sNnbbp2FwBzPsWV4Ro5":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toString"},"e4hhVGbWlDANSmud8tHiK":{"uri":"/melonJS/docs/melonjs/ObservableVector3d.html#toVector3d"},"r-WgWJBJ_TVQ4ovF_DQzX":{"uri":"/melonJS/docs/melonjs/Particle.html"},"OeHDNsw5yKadJT3Y5jkRd":{"uri":"/melonJS/docs/melonjs/Particle.html#alpha"},"YmiKdcsh_NDem7R97Z46G":{"uri":"/melonJS/docs/melonjs/Particle.html#alwaysUpdate"},"HH-DcrW677nUgoJparPRz":{"uri":"/melonJS/docs/melonjs/Particle.html#ancestor"},"yUqL1paPXPeNQcKzgm4vT":{"uri":"/melonJS/docs/melonjs/Particle.html#anchorPoint"},"eveULnwQrvxmiGnQS2QGr":{"uri":"/melonJS/docs/melonjs/Particle.html#autoTransform"},"bcXyWRJjw3i65V4umudKG":{"uri":"/melonJS/docs/melonjs/Particle.html#blendMode"},"9qp7SYBoIfE7wAoKy_ySI":{"uri":"/melonJS/docs/melonjs/Particle.html#body"},"Q0LHYtBpEgtwRsgFp88q8":{"uri":"/melonJS/docs/melonjs/Particle.html#bottom"},"dJMF_BMWS2jhgzqQfVJgJ":{"uri":"/melonJS/docs/melonjs/Particle.html#centerX"},"-c14S0iwYxX9vLJURM9hL":{"uri":"/melonJS/docs/melonjs/Particle.html#centerY"},"teL9kBZiXADft8l9Wa7PI":{"uri":"/melonJS/docs/melonjs/Particle.html#currentTransform"},"w0SToxmlYuwL6qeotRJ9l":{"uri":"/melonJS/docs/melonjs/Particle.html#depth"},"mRyxkbdyYUjDBLhLqVULZ":{"uri":"/melonJS/docs/melonjs/Particle.html#floating"},"9FUxEsO1RaA5119FFbAT9":{"uri":"/melonJS/docs/melonjs/Particle.html#GUID"},"-zjw_40A6xZiR3t0rpQ0E":{"uri":"/melonJS/docs/melonjs/Particle.html#height"},"x5-mjegybjh6voML2Jgsc":{"uri":"/melonJS/docs/melonjs/Particle.html#inViewport"},"sem8l4sedpuNuKVtAVjL-":{"uri":"/melonJS/docs/melonjs/Particle.html#isDirty"},"l25n-TSD0Dx7HE8j5RYiN":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedX"},"_uK6rTBm6DJga6fw1SE1H":{"uri":"/melonJS/docs/melonjs/Particle.html#isFlippedY"},"Ozaw59I0Khd3JpTqBMyuw":{"uri":"/melonJS/docs/melonjs/Particle.html#isFloating"},"J8ehJGs0VP13Tl-rf_HPR":{"uri":"/melonJS/docs/melonjs/Particle.html#isKinematic"},"7s9vTjKJU8TUUJZ4AQumZ":{"uri":"/melonJS/docs/melonjs/Particle.html#isPersistent"},"8yvTB3Zrabb7iaL-OcpOd":{"uri":"/melonJS/docs/melonjs/Particle.html#left"},"xNg0dgpeiQXTjACoDtKTX":{"uri":"/melonJS/docs/melonjs/Particle.html#mask"},"YpXt3PUTCs51Z19FeXItT":{"uri":"/melonJS/docs/melonjs/Particle.html#name"},"nXdkKZE2qeC8JIttJ-OLW":{"uri":"/melonJS/docs/melonjs/Particle.html#onVisibilityChange"},"RzwEs3CbO7ikCRBOpfgud":{"uri":"/melonJS/docs/melonjs/Particle.html#parentApp"},"gE5dTuy7MZgqkDA5TSurp":{"uri":"/melonJS/docs/melonjs/Particle.html#points"},"FuSfXhenkbqiDPAR5xZW7":{"uri":"/melonJS/docs/melonjs/Particle.html#pos"},"Ne424sVsEIxfHWcraYzet":{"uri":"/melonJS/docs/melonjs/Particle.html#right"},"y6xKbeifaZucF84oabSrY":{"uri":"/melonJS/docs/melonjs/Particle.html#shader"},"Q6y8dEr2JMeIjiFFV6T6k":{"uri":"/melonJS/docs/melonjs/Particle.html#tint"},"_QMBbtAstjWR4b4Dsi3HG":{"uri":"/melonJS/docs/melonjs/Particle.html#top"},"LBiHdv280E7XjZXo-AsB7":{"uri":"/melonJS/docs/melonjs/Particle.html#type"},"OP6X0GjzvoCzAY7kIo5uu":{"uri":"/melonJS/docs/melonjs/Particle.html#updateWhenPaused"},"a8DBwodVRpPwvu6IOpaHk":{"uri":"/melonJS/docs/melonjs/Particle.html#width"},"wReWsUlTIKG5_1CMRRSTZ":{"uri":"/melonJS/docs/melonjs/Particle.html#angleTo"},"FUx4a0tglRHxUC7yYb9nF":{"uri":"/melonJS/docs/melonjs/Particle.html#centerOn"},"AQXP90Lm145OK_tvLhExW":{"uri":"/melonJS/docs/melonjs/Particle.html#clone"},"UYciHxfDELkVAd3Wc-DIM":{"uri":"/melonJS/docs/melonjs/Particle.html#constructor"},"km_7qNpZo0F0qIfHoNL6u":{"uri":"/melonJS/docs/melonjs/Particle.html#contains"},"bszDlY3Y73N-o3Mhg01bD":{"uri":"/melonJS/docs/melonjs/Particle.html#copy"},"uFBYxtyfhbctXm1RH1mYO":{"uri":"/melonJS/docs/melonjs/Particle.html#distanceTo"},"V07rwBWIW5-4IeQmYLeE6":{"uri":"/melonJS/docs/melonjs/Particle.html#draw"},"k5WirVIGqwn5-2LPT5_Zp":{"uri":"/melonJS/docs/melonjs/Particle.html#equals"},"5-n9u5pqDS-nQi5amsJCU":{"uri":"/melonJS/docs/melonjs/Particle.html#flipX"},"sGi54-jNOp8GlFItNTO7t":{"uri":"/melonJS/docs/melonjs/Particle.html#flipY"},"-uX6SH1dgxi_DktGocG8z":{"uri":"/melonJS/docs/melonjs/Particle.html#getAbsolutePosition"},"VjIkUqeDh9PM6UMQK14rr":{"uri":"/melonJS/docs/melonjs/Particle.html#getBounds"},"8F-aCcTCGDI15dt-Kxwy8":{"uri":"/melonJS/docs/melonjs/Particle.html#getIndices"},"AX8iSDCaiiFaWyvKy0akF":{"uri":"/melonJS/docs/melonjs/Particle.html#getOpacity"},"cvz6iovFvreewP8b9ROLo":{"uri":"/melonJS/docs/melonjs/Particle.html#isConvex"},"Y6jNMWfSgH8jU9I8YHGHe":{"uri":"/melonJS/docs/melonjs/Particle.html#isFinite"},"b7jUQuvmRtmAzAM3oLhmz":{"uri":"/melonJS/docs/melonjs/Particle.html#lookAt"},"x6eRB6KHNct2ZOP9gM4LS":{"uri":"/melonJS/docs/melonjs/Particle.html#onCollision"},"X-AD-mRm2TNnKPBiez7-u":{"uri":"/melonJS/docs/melonjs/Particle.html#onDestroyEvent"},"DCnKEYE7-ycJGRT9nPbZy":{"uri":"/melonJS/docs/melonjs/Particle.html#overlaps"},"-ABNjvXe2j5bvIXTmaCU_":{"uri":"/melonJS/docs/melonjs/Particle.html#postDraw"},"N-80XrR4w_NYluondDXzk":{"uri":"/melonJS/docs/melonjs/Particle.html#preDraw"},"xPRXHy1OHMnv_VJgUNj0a":{"uri":"/melonJS/docs/melonjs/Particle.html#recalc"},"TIe8-kSfAj9x3t7N2dwCh":{"uri":"/melonJS/docs/melonjs/Particle.html#resize"},"q54S_ph0reftBPhjKlPGD":{"uri":"/melonJS/docs/melonjs/Particle.html#rotate"},"ZSeA3x42xnlnGHXC-4hfH":{"uri":"/melonJS/docs/melonjs/Particle.html#scale"},"FN6iAK19Eycgd84kmTMwW":{"uri":"/melonJS/docs/melonjs/Particle.html#scaleV"},"kT0JZwyQludmRDsBo3gDZ":{"uri":"/melonJS/docs/melonjs/Particle.html#setOpacity"},"FlVSN0H6-2xEc2VafB6tD":{"uri":"/melonJS/docs/melonjs/Particle.html#setShape"},"JkcsTrY7HqDEGJXwqCvJO":{"uri":"/melonJS/docs/melonjs/Particle.html#setVertices"},"FdgmmIFBj4OtIfo23OYjJ":{"uri":"/melonJS/docs/melonjs/Particle.html#shift"},"GDCipRlWWajQ8Obv8oADD":{"uri":"/melonJS/docs/melonjs/Particle.html#to2d"},"mNcdKdRXB22cPL2ek94Zk":{"uri":"/melonJS/docs/melonjs/Particle.html#toIso"},"zKjYc49fYrP83BRV8YBCa":{"uri":"/melonJS/docs/melonjs/Particle.html#toPolygon"},"iHXSxMuFkso0qOUDmZH6K":{"uri":"/melonJS/docs/melonjs/Particle.html#transform"},"hu5Iu6clQAA0fblhPskj1":{"uri":"/melonJS/docs/melonjs/Particle.html#translate"},"e0L4n2TRsSgJv_H_AX8Gq":{"uri":"/melonJS/docs/melonjs/Particle.html#union"},"OOp-sjEYkFNCQiQ2Z7pKR":{"uri":"/melonJS/docs/melonjs/Particle.html#update"},"B_6plgJNgc4mBERyNS5FM":{"uri":"/melonJS/docs/melonjs/Particle.html#updateBounds"},"A0SC3jA6lslK3etqJniXR":{"uri":"/melonJS/docs/melonjs/Particle.html#onAnchorUpdate"},"-4A3lglwEdFb8ryEsCIB2":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html"},"uqcYn0Bye2Ewt_PT4F8y-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alpha"},"z5XTdC7GNZ5cKwdOw-P8s":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#alwaysUpdate"},"SjVwQrqxlTKQ03dYQlMqs":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#ancestor"},"RsIlOM3QEAvrUP1XzAR-w":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#anchorPoint"},"3U9fwz7CAYq794p0YCjqe":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoDepth"},"Yr82Uhk3YpOzMbs2kpu-7":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoSort"},"Bd-omKr7Gmue_p0YKJvgV":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#autoTransform"},"-GZ3RKhdKVYOpYcJznkMs":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#backgroundColor"},"MYOXxw-MX6zrsrQl7Y3Qa":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#blendMode"},"ed5vqxlPo_6QFaDC3vqBY":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#body"},"dACceLczI89wMFMXgHFsb":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#bottom"},"veur5XJaTZVwaCP5KfIlT":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerX"},"ZgL_gqK98x2DJnOHsRBDB":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerY"},"o1InOMJLDl9W8PoiI5GGN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clipping"},"dParsxcLAWfaQwMhsNzkO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#currentTransform"},"iYq7BXv0hhQ8ExHylMs7S":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#depth"},"0_R-sbwo5Ole-qF1C1UkQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#enableChildBoundsUpdate"},"QAnHkkRD2kaPOuWIZ_2Y-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#floating"},"HT7bxIA-gdRvERunOjpxp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#GUID"},"y95duOVdhxkG6-2pAKGbE":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#height"},"mvlC274sQ-5Npy0x_Lpr-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#inViewport"},"6q1OY4THqVKhUa6n1xSIv":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isDirty"},"xCt84MbShXXCWRhERl5V0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedX"},"i2wJQ8TCGvfIBUnXe07p3":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFlippedY"},"lFLBZ2EnvNl4dgdoZ980E":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFloating"},"oFJrLkW6klnJanzGJUrdJ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isKinematic"},"XyMELrMqzLbhkkeNpVxTb":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isPersistent"},"AJNRy33NXfZ9sbW5lf3xw":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#left"},"iXyP1TGXDonz46mfBYLos":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#mask"},"DmfxGE4xJ99VsKnvbnpiX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#name"},"4RrCYF3Z1e3AOF67XYdeH":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onVisibilityChange"},"wBJQFo_JHidbI-hLI_9eC":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#parentApp"},"8UZaOSjMSSX40dbIvNdja":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#points"},"TR09DT1zAcjuWbAfGJipK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#pos"},"OGqtNqwZeA_MOeqyobAh9":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#right"},"d2XbBtxoYseAwLQZq3rlm":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#root"},"mDoRN7BVErKRP7622NhD0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#settings"},"l9dQuZQtQb7UZUjYZT-bz":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shader"},"oIrf0DWZrkT7W1dXw6ETi":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sortOn"},"ekoX4TQ9w-reblbbjiwKp":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#tint"},"Ue0mY51dzuP4xyOAgcUyo":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#top"},"NMGOEyPEBQu_l93qHYwiL":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#type"},"Ljs0gl3OEJFKf9b5szwzD":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateWhenPaused"},"N3sQs6xc6i_56Xxrx1Rp-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#width"},"3SvtRgVqOieUY9EP5NWkK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChild"},"rzik_KZHKSmho-TfGLqGG":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#addChildAt"},"nLq9A3bJua5Eawzjsbpbs":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#angleTo"},"D5Tba64bGUsyCDp1ZdQdd":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#burstParticles"},"c31XUMOl2V8sYrZt6BDli":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#centerOn"},"PiMN6ZI0yYnnHwQYAf4Aq":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#clone"},"m-z4V97bPz_8b1xK_sYUM":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#constructor"},"AowK_oApfMItKC2xAYLdH":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#contains"},"PhUAw2oqI1npvRySSPoy3":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#copy"},"SamWmg5Z0iAPnWvLw4Fbu":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#distanceTo"},"pQf0DKDNFrc1RU0EmAaV1":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#equals"},"7jin4Z3Bq-AtS-bGEKKHQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipX"},"YRgsR0N6hnw142YuqUYMd":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#flipY"},"NOAJTcKDLWdLs4TN2PDmy":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#forEach"},"qG4XSD0VIRP63MM2Xa7Om":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getAbsolutePosition"},"AXcqtBgp1D4GjpTDHfGYi":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getBounds"},"B5l-FkZ0u6wA2heivnaDA":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildAt"},"yv9cSIiYwxCgunOmGLEl1":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByGUID"},"2CfVon1D1r10CAYp6D5P1":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByName"},"f8US_NJiOX-7_4YY9Gx2g":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByProp"},"Ir2BcCGMV78LeCN3av9a9":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildByType"},"ap6itkPOLgx4rhpPrrnVs":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildIndex"},"fJQYJKLCkeIcZB7AuuAVY":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getChildren"},"btCR5Li7WMNzVbSNMlgbZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getIndices"},"p2jPEFkp6XUK5nHvHM15t":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getNextChild"},"PLVVSCXQOKIYkoVQv3B-F":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getOpacity"},"dK7CW9K-Oit9JakIdEcuO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointX"},"OO0ZQxc2PDbu_tlG5Se70":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRandomPointY"},"prmOvnSQVStUQaLTkkx7Z":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#getRootAncestor"},"vetavmppyaRKhtlgC6uSC":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#hasChild"},"Weu4ETOS0ZGH26jrspdgN":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isAttachedToRoot"},"rFyKfEERIVsYXDZxe6quU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isConvex"},"Qs-EHGKpoua4GgsdroBI3":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isFinite"},"9c-LWrp--WuM6ZAIrBX1M":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#isRunning"},"POY0F0ErZuPYeWp3Fav-2":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#lookAt"},"pTncEDU72w4T1Ib_bHLfP":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveDown"},"yvDmDielZoKXTIzdEMbcf":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToBottom"},"Y548PJTgWo8uBX7aO1vb7":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveToTop"},"VKdw9fO1VNMZKsTc3IEhc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#moveUp"},"R5nOLSHnUy6Vab7IQAAYS":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onChildChange"},"BZYIRD64fX9iUjTv_0-T6":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onCollision"},"pej5ELseAr2FGaFKx1gD9":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onDestroyEvent"},"vYtvl_H2mm1tHMvBWEONO":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#overlaps"},"QeWi5Sn66dDVDlnmWNXs0":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#postDraw"},"pB6A2MXxz5qEg3TD-WaMY":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#preDraw"},"SohgfIwyb9NrOA6u-EHAV":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#recalc"},"fFUCtT_OgRzX5mGOES7FU":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChild"},"-6jQ7bVd5pV7ZU077QjVa":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#removeChildNow"},"QW84IGIHlt8ANG1K4JJE5":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#reset"},"-ZQ0ap8VEMCPNPXYXnOTc":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#resize"},"V3UG9I25uwTYy2Hx7fCZS":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#rotate"},"k75tmzTB6G_GJyqAdOuPi":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scale"},"zYxrCjXXB9ilAIDZe1Eiw":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#scaleV"},"65TcBKobPytv0EAEEwhX4":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setChildsProperty"},"WiqUwIcV-SP7Z6S9_jviK":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setOpacity"},"2BZSThZ7yQHGVSf1ms7eX":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setShape"},"5zVQdCQRlsGiZ16vKsRpQ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#setVertices"},"cH-7aneC1yrjcjWnMqj1L":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#shift"},"rIafstGqWJtvzfe9wm1YH":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#sort"},"S5_S-lvuHmAlOw1nxscc-":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#stopStream"},"F5MugAqeZo863LL3uPH_p":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#streamParticles"},"ob4yY1tmoFb4QzZxiFJDk":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#swapChildren"},"w8ciiCrC0cstFcEdRR16X":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#to2d"},"Fo72ko8GbAKJqg3HQZGkD":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toIso"},"xHELudcDH1HT1UME57maC":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#toPolygon"},"n8rHsm6ZcWl_5dOuoXFyh":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#transform"},"dlRWur6UM3Ut9lKPuMqPS":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#translate"},"EvbXl5DL7mciwNzzLhsrZ":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#union"},"b9s21joLOb_eTIkhvM6-X":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#updateBounds"},"xqASCFKfNHBUvfcXhtQ61":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#draw"},"Cn1sEIs2BiAk8H8OCo91w":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#update"},"d1qJ6ewNxFd00g6MKcoAk":{"uri":"/melonJS/docs/melonjs/ParticleEmitter.html#onAnchorUpdate"},"xUTH-N1YUM3Lj2TQ2OJZZ":{"uri":"/melonJS/docs/melonjs/Path2D.html"},"jBrCO0NCLo6Fi_c1wE0d8":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcResolution"},"mysl7DThfH_ivUsxoPMQU":{"uri":"/melonJS/docs/melonjs/Path2D.html#points"},"GR1HuqWRduLwBiIdT8Uhu":{"uri":"/melonJS/docs/melonjs/Path2D.html#arc"},"DqlH9mMq1gOWAnHyCyD27":{"uri":"/melonJS/docs/melonjs/Path2D.html#arcTo"},"cSrwjGBtne8LJXLxHdu_e":{"uri":"/melonJS/docs/melonjs/Path2D.html#beginPath"},"WV5ry7i9k-L1zJmuC_Gqq":{"uri":"/melonJS/docs/melonjs/Path2D.html#bezierCurveTo"},"nRXcZMd6XRWPQ6hnvRnU1":{"uri":"/melonJS/docs/melonjs/Path2D.html#closePath"},"kaI-lw7_pmhGXCFf1wWgj":{"uri":"/melonJS/docs/melonjs/Path2D.html#ellipse"},"wfJcfC4XmxPbndIRJKg8D":{"uri":"/melonJS/docs/melonjs/Path2D.html#lineTo"},"l3oyT_NoczWL63PabkvPQ":{"uri":"/melonJS/docs/melonjs/Path2D.html#moveTo"},"hByLO_TVw0wSyW167f7PW":{"uri":"/melonJS/docs/melonjs/Path2D.html#parseSVGPath"},"IqGUfSshrBVi2C2h28aJK":{"uri":"/melonJS/docs/melonjs/Path2D.html#quadraticCurveTo"},"S27VhEWlag7svWk-R5OUo":{"uri":"/melonJS/docs/melonjs/Path2D.html#rect"},"bxYDlmPGd2RMEQRPVa6v6":{"uri":"/melonJS/docs/melonjs/Path2D.html#roundRect"},"V2UdrBHdD0i7vUfXsSIzP":{"uri":"/melonJS/docs/melonjs/Path2D.html#triangulatePath"},"N50mHHZKg6SYxn8k9Rl-W":{"uri":"/melonJS/docs/melonjs/Point.html"},"Qnm7daMQaK5O7PWmsikCX":{"uri":"/melonJS/docs/melonjs/Point.html#type"},"DPtsxzs4HETXa_kbaXr5o":{"uri":"/melonJS/docs/melonjs/Point.html#x"},"4NnH_fsqLMq9bvrCGq-vJ":{"uri":"/melonJS/docs/melonjs/Point.html#y"},"1pZ1JdADqBh5kEyHzVOvz":{"uri":"/melonJS/docs/melonjs/Point.html#clone"},"RZaH7v6xcXUuB0a6oovkb":{"uri":"/melonJS/docs/melonjs/Point.html#equals"},"1p6ZxxRM8KY0XXwYB7Z4E":{"uri":"/melonJS/docs/melonjs/Point.html#set"},"4dRASPq_aF5juk0WuuyHs":{"uri":"/melonJS/docs/melonjs/Pointer.html"},"eGfxYAcv47O8k6ZyJGNzh":{"uri":"/melonJS/docs/melonjs/Pointer.html#bottom"},"WsLQQ5YFdhsgpG1PoVRHP":{"uri":"/melonJS/docs/melonjs/Pointer.html#button"},"5y_O10lEm5N-qeINQt6op":{"uri":"/melonJS/docs/melonjs/Pointer.html#center"},"G9q3yrq-wJAeME9r61E9r":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerX"},"cIcffK4CbdjEGqgoUXKvp":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerY"},"VCBBJLq8BTNaMVgsB8gVy":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientX"},"721msb0MEFAYIgwJXbYgK":{"uri":"/melonJS/docs/melonjs/Pointer.html#clientY"},"hyn0_A2O0UecA_Hz3FtD7":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaMode"},"_-CSRSaqVAJwTwmlBpJkm":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaX"},"dhVoDdP5aIkPRkzbrNypl":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaY"},"5GqmPWSx6eZvre69-NDjV":{"uri":"/melonJS/docs/melonjs/Pointer.html#deltaZ"},"xpXRerD-P0J8YpXYLu0B5":{"uri":"/melonJS/docs/melonjs/Pointer.html#event"},"kLNhQTubGXO6L_Z41gk0e":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalX"},"_Zbzdcj0A1nE9g_RJ3SeE":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameLocalY"},"_7jdD7-JVjvG3pQZpsZv9":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenX"},"lYtaZdnFFHX4vLo0hAHLC":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameScreenY"},"v9pyh2f8y9kCBPxPJLr62":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldX"},"goKMpcflsU4sxMWXPB9sY":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameWorldY"},"y9vhoKi-ZbL8SROi6Syv8":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameX"},"h2yAJ6O1arP_xqChf0tLx":{"uri":"/melonJS/docs/melonjs/Pointer.html#gameY"},"qwgRc90NZkLWfZvEAoSyT":{"uri":"/melonJS/docs/melonjs/Pointer.html#height"},"JnbjBVvn9rptlFsUlFHqd":{"uri":"/melonJS/docs/melonjs/Pointer.html#isNormalized"},"hM4rE7f0aT0lUw4ssGDNi":{"uri":"/melonJS/docs/melonjs/Pointer.html#isPrimary"},"5q9mw2fQSy5qLqetjN28c":{"uri":"/melonJS/docs/melonjs/Pointer.html#left"},"L_5_9QaScUEGXucLAjztG":{"uri":"/melonJS/docs/melonjs/Pointer.html#LEFT_"},"1Wco5A91qcB98FzPy1k7-":{"uri":"/melonJS/docs/melonjs/Pointer.html#locked"},"Fp6C3jzRFexvTUs5BRKKh":{"uri":"/melonJS/docs/melonjs/Pointer.html#MIDDLE"},"FqjnEHqCv7T3tIlkqINn5":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementX"},"xA_uWmp943explMG7yQV8":{"uri":"/melonJS/docs/melonjs/Pointer.html#movementY"},"oyyPw74N-ve43--iVBKwa":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageX"},"MmJ5pk12ahtDaohh0w3Ki":{"uri":"/melonJS/docs/melonjs/Pointer.html#pageY"},"s2Bacd-16RB9phCiqeGm9":{"uri":"/melonJS/docs/melonjs/Pointer.html#pointerId"},"Vi29Autqrz382x_Z749Nu":{"uri":"/melonJS/docs/melonjs/Pointer.html#right"},"z7-3QmCztd5Hh6sEU76Us":{"uri":"/melonJS/docs/melonjs/Pointer.html#RIGHT_"},"OlIhIf9atZo0Uvjna-fFJ":{"uri":"/melonJS/docs/melonjs/Pointer.html#top"},"L0zlNx288ES-AAJY1yRJS":{"uri":"/melonJS/docs/melonjs/Pointer.html#type"},"xy8qOE7o70pDQj3tCQmRV":{"uri":"/melonJS/docs/melonjs/Pointer.html#width"},"4gJErCzxfyIm3LqWs99qk":{"uri":"/melonJS/docs/melonjs/Pointer.html#x"},"MruasdZtE4fPrDRFnQl5Q":{"uri":"/melonJS/docs/melonjs/Pointer.html#y"},"dOpIwLd84kC_EH7UOUHt_":{"uri":"/melonJS/docs/melonjs/Pointer.html#add"},"CjqFdlOH-tsaCcpdMxEL4":{"uri":"/melonJS/docs/melonjs/Pointer.html#addBounds"},"IuhKyT7zAQN9ayMt1IUhX":{"uri":"/melonJS/docs/melonjs/Pointer.html#addFrame"},"dyERXQ7--ZxXqxDRR15UD":{"uri":"/melonJS/docs/melonjs/Pointer.html#addPoint"},"bd1u_doDcTXjW4MKIFhp5":{"uri":"/melonJS/docs/melonjs/Pointer.html#centerOn"},"1ibnJxsIyZaWzOUPQ9C-K":{"uri":"/melonJS/docs/melonjs/Pointer.html#clear"},"XpBoqUvd5Zu40XsEb2zJO":{"uri":"/melonJS/docs/melonjs/Pointer.html#clone"},"Q0N0yCMbNC-Xu8RoRgWVv":{"uri":"/melonJS/docs/melonjs/Pointer.html#contains"},"uVKYGJZdzn-IVsE4p6pPe":{"uri":"/melonJS/docs/melonjs/Pointer.html#isFinite"},"X32Twd7Xc8xaPSILASRgj":{"uri":"/melonJS/docs/melonjs/Pointer.html#overlaps"},"uLOeA8nM5_qOAXE4bbkIH":{"uri":"/melonJS/docs/melonjs/Pointer.html#setMinMax"},"7gTEHaVg4QMwg2d5Q9AQJ":{"uri":"/melonJS/docs/melonjs/Pointer.html#shift"},"y_ycp3gkj4r58YWDcGRZu":{"uri":"/melonJS/docs/melonjs/Pointer.html#toPolygon"},"6TxVWRkQkGT_DueMd40oV":{"uri":"/melonJS/docs/melonjs/Pointer.html#translate"},"2K6GQ_4lNI_5yvEpHZ1m8":{"uri":"/melonJS/docs/melonjs/Pointer.html#update"},"JmdEBtcSKUGVKvvjadg1z":{"uri":"/melonJS/docs/melonjs/Pointer.html#set"},"bo5_h-OZglXEkbBc03r2H":{"uri":"/melonJS/docs/melonjs/Polygon.html"},"Xanx4KCVxk9mWzCTwKtwz":{"uri":"/melonJS/docs/melonjs/Polygon.html#points"},"XlIAwNxy2PiuC1mLDGv_g":{"uri":"/melonJS/docs/melonjs/Polygon.html#pos"},"yZsE64YtEMmzs9y03XwV2":{"uri":"/melonJS/docs/melonjs/Polygon.html#type"},"nYFqIkRXQYs6F5jUuw8MU":{"uri":"/melonJS/docs/melonjs/Polygon.html#clone"},"T7CUD1OOLQ2PDUa4QN9wT":{"uri":"/melonJS/docs/melonjs/Polygon.html#constructor"},"AZwKVeCbEv2zXj_CUiH48":{"uri":"/melonJS/docs/melonjs/Polygon.html#contains"},"rFj5vNVmIl6EOG6YmwlfG":{"uri":"/melonJS/docs/melonjs/Polygon.html#getBounds"},"9ulOoxwWou89LxI0plz_g":{"uri":"/melonJS/docs/melonjs/Polygon.html#getIndices"},"-TWzV9pyIhnG-gWly6OMW":{"uri":"/melonJS/docs/melonjs/Polygon.html#isConvex"},"968Rs8gYQrP8iUR2C9aCJ":{"uri":"/melonJS/docs/melonjs/Polygon.html#recalc"},"o1UBWNXVr7aFS_NWqFP5X":{"uri":"/melonJS/docs/melonjs/Polygon.html#rotate"},"tymnLosVPNKco98VkOdMl":{"uri":"/melonJS/docs/melonjs/Polygon.html#scale"},"ky_H-aRIsSHNR3GU7LzGm":{"uri":"/melonJS/docs/melonjs/Polygon.html#scaleV"},"wrW18jKnm4Rb7jl-iDMbb":{"uri":"/melonJS/docs/melonjs/Polygon.html#setShape"},"p788Y5jmvDSb9dsdOGPFO":{"uri":"/melonJS/docs/melonjs/Polygon.html#setVertices"},"nU1btiIMmog_Un6cYtBLP":{"uri":"/melonJS/docs/melonjs/Polygon.html#shift"},"JkGtL37mzf7mPtHyXh-Ww":{"uri":"/melonJS/docs/melonjs/Polygon.html#to2d"},"kSNybhlK9YsfUkHzS-Hh1":{"uri":"/melonJS/docs/melonjs/Polygon.html#toIso"},"4vNXyIeqYD8soYpi6nua8":{"uri":"/melonJS/docs/melonjs/Polygon.html#transform"},"jDXWpBP4KIqeBCwfBbgxA":{"uri":"/melonJS/docs/melonjs/Polygon.html#translate"},"AgVgUlnmkjF6yHwJdpw4E":{"uri":"/melonJS/docs/melonjs/Polygon.html#updateBounds"},"c1d9Fed7DZDunQC-H4j88":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html"},"Kh_aUcrXoC2xnMCCrxItm":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#attributes"},"7c-0jCLu6oMpTLncp5WF9":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#currentShader"},"C09M97dx4p3pk56Q-cDeU":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#defaultShader"},"ve1vI8Ze6W1qUGSpcTNkI":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#mode"},"m9z9dbMqRX1f2vELW1sY2":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexByteSize"},"98Uwpcx2_B39v-KN640aI":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexData"},"yavIwvi81n9TGb3sl-_yy":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#vertexSize"},"J9Ausn0gstRmIioX0rk8H":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#addAttribute"},"XQ-X4iVn6zLbeDp2jqlZ7":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#bind"},"ZxnhOnpFlAbEDBG4AD_67":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#constructor"},"JHa6UgRck8VUCYWPJYppe":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#drawVertices"},"vIyoBoLUm-H0gBzvyop9z":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#flush"},"jmxp8ikUaLjQl8c5G-Gig":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#setProjection"},"0ns-x8_9dc9ETwjZXWQ9b":{"uri":"/melonJS/docs/melonjs/PrimitiveCompositor.html#useShader"},"ZqChoSHEAV_nw1ecTWGuB":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html"},"avmw7EidnHdAfOCXhcwVs":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#attributes"},"TDVOzOESdPoafE-uHTvla":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#currentShader"},"hf-evxoLSQXqcYB40k20v":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#defaultShader"},"C75Ia_ROqugjEWGCfJ59h":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#mode"},"76-XDKZN_zW0TKmGLC4jF":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexByteSize"},"YQKzn9tTDakHObRAGRoQ5":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexData"},"gNkHA3_WjstwdpAmYawPz":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#vertexSize"},"7iZGAldnGzn1U4dXnfevH":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addAttribute"},"pmO8eR_xU43O0DNzXeuZR":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#addQuad"},"Tdg4ew4ggMEQK4qNk8rXD":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bind"},"XPTZIiD0GJScUgEFGHaI1":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#bindTexture2D"},"atPKqiSEichFuLCwNC9vI":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#constructor"},"UAkvMYr-vKVmK0GkU8Qf-":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#createTexture2D"},"GHlfUnyCdIXd-Z18ne3pK":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#deleteTexture2D"},"GMVL3i-Z5A_Gk29t24lGl":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#flush"},"Ymg5ZYwKxB82K6K1HZQQw":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#getTexture2D"},"Q6SKjJaKGLoFo_wgezmC6":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#setProjection"},"QGgIO_930h9eDRJotzc1E":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#unbindTexture2D"},"nX0Yh1hF_h6pRvMlCVvDl":{"uri":"/melonJS/docs/melonjs/QuadCompositor.html#useShader"},"Qg6tCNodI6v_AZBFBq-8w":{"uri":"/melonJS/docs/melonjs/QuadTree.html"},"arjuDIgBcgBryzSOw4Pj7":{"uri":"/melonJS/docs/melonjs/QuadTree.html#clear"},"V3IIfyRuMojqUB9P8-O2P":{"uri":"/melonJS/docs/melonjs/QuadTree.html#constructor"},"_zsT055bUZ6Lfw6WbtUKM":{"uri":"/melonJS/docs/melonjs/QuadTree.html#hasChildren"},"8KNxhcIN42w4mSVi4P2Es":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insert"},"Ov9NqlVBrebRKBEdjl2V3":{"uri":"/melonJS/docs/melonjs/QuadTree.html#insertContainer"},"T9SC0aYr1X-4q_pUaKus_":{"uri":"/melonJS/docs/melonjs/QuadTree.html#isPrunable"},"GCfY8OrXEUJQ2HmEeWQ6V":{"uri":"/melonJS/docs/melonjs/QuadTree.html#remove"},"zOnpwHsG_3W8u04Xh_IYA":{"uri":"/melonJS/docs/melonjs/QuadTree.html#retrieve"},"wr5NQYkJDlyJ-kxXb3QRQ":{"uri":"/melonJS/docs/melonjs/Rect.html"},"aLBbeexLFwdiSoLwpAfbd":{"uri":"/melonJS/docs/melonjs/Rect.html#bottom"},"0Au_f6rwH-BhOhN_Acz8D":{"uri":"/melonJS/docs/melonjs/Rect.html#centerX"},"T1sCD6ZBK9salt1x-TKBg":{"uri":"/melonJS/docs/melonjs/Rect.html#centerY"},"IOJN1gVu6uazaOVOylgrF":{"uri":"/melonJS/docs/melonjs/Rect.html#height"},"HNX-lQ1c6FGBVVAf8TVGh":{"uri":"/melonJS/docs/melonjs/Rect.html#left"},"i3tcH_0WEK4IzH442YFzj":{"uri":"/melonJS/docs/melonjs/Rect.html#points"},"HsR0ODrkPsxztt6rwfEvf":{"uri":"/melonJS/docs/melonjs/Rect.html#pos"},"BG18HCDgLfMfObb9J_cGG":{"uri":"/melonJS/docs/melonjs/Rect.html#right"},"nwtNRmVt05o3nTA__eRy8":{"uri":"/melonJS/docs/melonjs/Rect.html#top"},"o8fwtxHoW5hDNQhSm7qke":{"uri":"/melonJS/docs/melonjs/Rect.html#type"},"dJbAVhJ4aQPFw1bydycJ2":{"uri":"/melonJS/docs/melonjs/Rect.html#width"},"OnsUU1I1VVqzTOO5vbpfy":{"uri":"/melonJS/docs/melonjs/Rect.html#centerOn"},"H-4EV66Y4myWwzwb34qHD":{"uri":"/melonJS/docs/melonjs/Rect.html#clone"},"CZJ4yVr0dIH_BYmCAJd0L":{"uri":"/melonJS/docs/melonjs/Rect.html#constructor"},"qfw3skYsb8aOL2vwf-ot6":{"uri":"/melonJS/docs/melonjs/Rect.html#contains"},"bWUBrc_vr_Hwgp3UVXn1-":{"uri":"/melonJS/docs/melonjs/Rect.html#copy"},"x3U4lcXLcLkT8XbziBQ06":{"uri":"/melonJS/docs/melonjs/Rect.html#equals"},"vnGJjGku3o3TzvVkw4HFd":{"uri":"/melonJS/docs/melonjs/Rect.html#getBounds"},"d1OTf9H0V89YlEViny0Xn":{"uri":"/melonJS/docs/melonjs/Rect.html#getIndices"},"vFwm3oHcqP10Se3SSysgN":{"uri":"/melonJS/docs/melonjs/Rect.html#isConvex"},"01OdwpjG-UeRwjsPqICXp":{"uri":"/melonJS/docs/melonjs/Rect.html#isFinite"},"_ZD-MX7a76G2Z3_M8RWHw":{"uri":"/melonJS/docs/melonjs/Rect.html#overlaps"},"kzhlQkktxJah_nGEKQ_oa":{"uri":"/melonJS/docs/melonjs/Rect.html#recalc"},"ZU_SGzm27E3xQbc5OjXMC":{"uri":"/melonJS/docs/melonjs/Rect.html#resize"},"UhnadCC1gKef37Y8c_S5b":{"uri":"/melonJS/docs/melonjs/Rect.html#rotate"},"BaXVs4ycMpp80EfqMnjS5":{"uri":"/melonJS/docs/melonjs/Rect.html#scale"},"Hkib-4JzDE-fEw6Rcw1Tz":{"uri":"/melonJS/docs/melonjs/Rect.html#scaleV"},"6A9Z-HW9a8FyjjmrDjwyi":{"uri":"/melonJS/docs/melonjs/Rect.html#setShape"},"fDq9CtUqy0E1-gVBjqCqN":{"uri":"/melonJS/docs/melonjs/Rect.html#setVertices"},"Qw-XKlxbtp3Q6vXsymTCe":{"uri":"/melonJS/docs/melonjs/Rect.html#shift"},"TPloYp_mb6A3Cfi1PALkj":{"uri":"/melonJS/docs/melonjs/Rect.html#to2d"},"DupCm4ba0k9QBa8rAgW9i":{"uri":"/melonJS/docs/melonjs/Rect.html#toIso"},"5vUDhfyUxCfpJ4lqkcP-V":{"uri":"/melonJS/docs/melonjs/Rect.html#toPolygon"},"D153DEwS-A-pPTRpLDCZg":{"uri":"/melonJS/docs/melonjs/Rect.html#transform"},"TBnrzVjyyBwlASwM8efaf":{"uri":"/melonJS/docs/melonjs/Rect.html#translate"},"XQ3FEQDffjeig-dFnbEhx":{"uri":"/melonJS/docs/melonjs/Rect.html#union"},"82_xd1ahCBUua-ES6rpJe":{"uri":"/melonJS/docs/melonjs/Rect.html#updateBounds"},"XPIg02hJzuPbSEKVpRuSN":{"uri":"/melonJS/docs/melonjs/Renderable.html"},"iB0cRrqmjUfRy39_H0RS6":{"uri":"/melonJS/docs/melonjs/Renderable.html#alpha"},"4U_0HG_6_qgdllXNXM1JT":{"uri":"/melonJS/docs/melonjs/Renderable.html#alwaysUpdate"},"FQQStG1AA_Ak9eaTeoadz":{"uri":"/melonJS/docs/melonjs/Renderable.html#ancestor"},"RKrgLe-dFAEZGr2S-9DGe":{"uri":"/melonJS/docs/melonjs/Renderable.html#anchorPoint"},"2ny8tL7FjhP2W2t7_z7lI":{"uri":"/melonJS/docs/melonjs/Renderable.html#autoTransform"},"BuHMEM8jaMenf0yx5WdT-":{"uri":"/melonJS/docs/melonjs/Renderable.html#blendMode"},"ZLGaY0hefEDIWadejPRxf":{"uri":"/melonJS/docs/melonjs/Renderable.html#body"},"EmYzQ90_gaFlOV-4siWLc":{"uri":"/melonJS/docs/melonjs/Renderable.html#bottom"},"XRol6Fbm2pjRUu2NzcVO4":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerX"},"DsuQMp9puJ-5XdLCww-FW":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerY"},"SHondBtuOwcECT7fjJ6lj":{"uri":"/melonJS/docs/melonjs/Renderable.html#currentTransform"},"5g1FpFEq0koXfxXwfYsq_":{"uri":"/melonJS/docs/melonjs/Renderable.html#depth"},"Gel2qffmvt4QFhybHjwH6":{"uri":"/melonJS/docs/melonjs/Renderable.html#floating"},"RDOkT6pTlMwVHzEiJ74FM":{"uri":"/melonJS/docs/melonjs/Renderable.html#GUID"},"rabwwIEctDxZFamuviwYj":{"uri":"/melonJS/docs/melonjs/Renderable.html#height"},"NKsNSncsOVUiAjhkr5BCn":{"uri":"/melonJS/docs/melonjs/Renderable.html#inViewport"},"jP-PccFMxzaXrYRDtl4Iw":{"uri":"/melonJS/docs/melonjs/Renderable.html#isDirty"},"CyQtCIOInGnnxpSEfjUBZ":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedX"},"33U27Iu_ZSWUR3kn9hKew":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFlippedY"},"oHUUrW0sWHTTX3hmWr4n3":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFloating"},"_OLN6kzN7C0QTgJlYKist":{"uri":"/melonJS/docs/melonjs/Renderable.html#isKinematic"},"mx5FQyzN9FLrD7IZ2Aftr":{"uri":"/melonJS/docs/melonjs/Renderable.html#isPersistent"},"MFvuDwFLn6qf-SFCsiHBO":{"uri":"/melonJS/docs/melonjs/Renderable.html#left"},"mnhug7MvXG9y2PTzE1WKS":{"uri":"/melonJS/docs/melonjs/Renderable.html#mask"},"HCx3IX9U2AJplBxkuPwqS":{"uri":"/melonJS/docs/melonjs/Renderable.html#name"},"3MHIeGzfhOUM0Ch104_pM":{"uri":"/melonJS/docs/melonjs/Renderable.html#onVisibilityChange"},"FM2MBP-tSWWewmCzisTAq":{"uri":"/melonJS/docs/melonjs/Renderable.html#parentApp"},"vPLWeqBBLvOy_gNmCpwJK":{"uri":"/melonJS/docs/melonjs/Renderable.html#points"},"Z12ZjicDD4AWty0oekh1f":{"uri":"/melonJS/docs/melonjs/Renderable.html#pos"},"U3jdGH37rBpX6QhSqdU9x":{"uri":"/melonJS/docs/melonjs/Renderable.html#right"},"fOW1YWJzY_k9PSS6ktlDM":{"uri":"/melonJS/docs/melonjs/Renderable.html#shader"},"h-9ciW7m6OTT4oPpXF4e4":{"uri":"/melonJS/docs/melonjs/Renderable.html#tint"},"3m4f95VBqLbAKUm400O9I":{"uri":"/melonJS/docs/melonjs/Renderable.html#top"},"OnBHKPCO-qXo7GX8OX92g":{"uri":"/melonJS/docs/melonjs/Renderable.html#type"},"X5E2Ui7UO_yPonitwrjuS":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateWhenPaused"},"uM4zaudkGk1uGDaIOMlva":{"uri":"/melonJS/docs/melonjs/Renderable.html#width"},"FGtCk-0SAhqv0axDJtT5y":{"uri":"/melonJS/docs/melonjs/Renderable.html#angleTo"},"oQOFP7-tHk_YXZQG3fXmZ":{"uri":"/melonJS/docs/melonjs/Renderable.html#centerOn"},"fr9uvLrSKMVByrFHr2Lfn":{"uri":"/melonJS/docs/melonjs/Renderable.html#clone"},"nbviEdcf5joKfayOC5c0J":{"uri":"/melonJS/docs/melonjs/Renderable.html#constructor"},"P7S40SRi7plr_8v5Vcna9":{"uri":"/melonJS/docs/melonjs/Renderable.html#contains"},"fxnG6xsVIrRtrC6-jJlRJ":{"uri":"/melonJS/docs/melonjs/Renderable.html#copy"},"1JC3pWrQpXZG5AJ8nJWxp":{"uri":"/melonJS/docs/melonjs/Renderable.html#distanceTo"},"Ncu_viLpZte7qKLb5EFos":{"uri":"/melonJS/docs/melonjs/Renderable.html#draw"},"54w0HVc3p3uk7fP6MOQRc":{"uri":"/melonJS/docs/melonjs/Renderable.html#equals"},"NDG2KRPshHiG54EVwyIiE":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipX"},"Xtcd5WC96F35R-RAhdFtr":{"uri":"/melonJS/docs/melonjs/Renderable.html#flipY"},"PP5sEvFtofhhI6CuYSJJq":{"uri":"/melonJS/docs/melonjs/Renderable.html#getAbsolutePosition"},"HZ9m2OOAqknFe6HqINpkN":{"uri":"/melonJS/docs/melonjs/Renderable.html#getBounds"},"A8TzVsht9M9lndZu6Yp3V":{"uri":"/melonJS/docs/melonjs/Renderable.html#getIndices"},"X1zDkCLSm6sMQAySqOpku":{"uri":"/melonJS/docs/melonjs/Renderable.html#getOpacity"},"soIIFYbBZElQA1Xx4Z7uT":{"uri":"/melonJS/docs/melonjs/Renderable.html#isConvex"},"2JBFz3oUmqERa19bCEfEV":{"uri":"/melonJS/docs/melonjs/Renderable.html#isFinite"},"6kIUzJOr3jDtcO9m4bUoh":{"uri":"/melonJS/docs/melonjs/Renderable.html#lookAt"},"fA5yTxayqIcVjMwM8lJQA":{"uri":"/melonJS/docs/melonjs/Renderable.html#onCollision"},"6DjJac_RnLoPxoezJ-MhH":{"uri":"/melonJS/docs/melonjs/Renderable.html#onDestroyEvent"},"i7K98B9g6wqmGo32oInjU":{"uri":"/melonJS/docs/melonjs/Renderable.html#overlaps"},"c7-3FKqV1f4WG7wvWKK5D":{"uri":"/melonJS/docs/melonjs/Renderable.html#postDraw"},"QpxhA71vxe5bASGJNi4XE":{"uri":"/melonJS/docs/melonjs/Renderable.html#preDraw"},"SW8sfj7hyHDyEX9hQTthW":{"uri":"/melonJS/docs/melonjs/Renderable.html#recalc"},"gsk9Wag4r1q8jJjo1Pc8Y":{"uri":"/melonJS/docs/melonjs/Renderable.html#resize"},"AwXuWZEpP3uVMteMQHUPs":{"uri":"/melonJS/docs/melonjs/Renderable.html#rotate"},"LxEeDUmb3ZPKB1cc33lNC":{"uri":"/melonJS/docs/melonjs/Renderable.html#scale"},"glwjWfnVVo8XH0oksiFV5":{"uri":"/melonJS/docs/melonjs/Renderable.html#scaleV"},"KVhnXShx00hIqX2lJ8Yqp":{"uri":"/melonJS/docs/melonjs/Renderable.html#setOpacity"},"t7N0Gy69UytaScMk9RGvG":{"uri":"/melonJS/docs/melonjs/Renderable.html#setShape"},"BUW-Nri9IFR0JCBk9JNR2":{"uri":"/melonJS/docs/melonjs/Renderable.html#setVertices"},"3jGNN-28mRY_JoERecr2V":{"uri":"/melonJS/docs/melonjs/Renderable.html#shift"},"SvMtnWSRMh6g-KgIUarUc":{"uri":"/melonJS/docs/melonjs/Renderable.html#to2d"},"HZRhMr03aN2mkRck4aXvD":{"uri":"/melonJS/docs/melonjs/Renderable.html#toIso"},"Q9guhdeZhntRwsdYagZYo":{"uri":"/melonJS/docs/melonjs/Renderable.html#toPolygon"},"lGsEoImY420ztXyRfhDtF":{"uri":"/melonJS/docs/melonjs/Renderable.html#transform"},"1oeKtkNTgYw7UrVu5WGH3":{"uri":"/melonJS/docs/melonjs/Renderable.html#translate"},"QYP6cl3TK-ygME1EhwWTT":{"uri":"/melonJS/docs/melonjs/Renderable.html#union"},"zOOBZWGfgtRj3CKrsDW0v":{"uri":"/melonJS/docs/melonjs/Renderable.html#update"},"70NJAsAY9I4jr_rTIH1r0":{"uri":"/melonJS/docs/melonjs/Renderable.html#updateBounds"},"N3RJxRJxM7O51bYwTGTC0":{"uri":"/melonJS/docs/melonjs/Renderable.html#onAnchorUpdate"},"_rt4rl8nVjG9X3lB1cUsj":{"uri":"/melonJS/docs/melonjs/Renderer.html"},"FBok0GZemX-KSpiRD6H2D":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html"},"HQaGVmL9pdvTK6AqArJpb":{"uri":"/melonJS/docs/melonjs/Renderer/getHeight.html#constructor"},"MMUI2YUnDltTEq6hPHUtS":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html"},"qPcOvv68pD3-FdsR4iffe":{"uri":"/melonJS/docs/melonjs/Renderer/getWidth.html#constructor"},"J_tDV1B9eg-1kQYz3a8hK":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html"},"ti4O39ktuADlTNNa6yLlq":{"uri":"/melonJS/docs/melonjs/Renderer/Texture.html#constructor"},"v2ZYHl8IoDtOHdk_sYu6z":{"uri":"/melonJS/docs/melonjs/Renderer.html#depthTest"},"Dde6wBC2sS2Kumozm6mJc":{"uri":"/melonJS/docs/melonjs/Renderer.html#designRatio"},"pE2KFM3e26AI7t5OKIwie":{"uri":"/melonJS/docs/melonjs/Renderer.html#height"},"b9jO2JFNwgQDUydIiwp4Y":{"uri":"/melonJS/docs/melonjs/Renderer.html#isContextValid"},"jn4dhUsigXqoeql9YNeaC":{"uri":"/melonJS/docs/melonjs/Renderer.html#path2D"},"yq_614htv3V0lnFRfzHi_":{"uri":"/melonJS/docs/melonjs/Renderer.html#renderTarget"},"kcCIuIjFU3k4Ft02KbCGO":{"uri":"/melonJS/docs/melonjs/Renderer.html#scaleRatio"},"bANCLb-pVJZqYQeF_BV3W":{"uri":"/melonJS/docs/melonjs/Renderer.html#settings"},"8F5zGg8V3YqzXiJZRMely":{"uri":"/melonJS/docs/melonjs/Renderer.html#type"},"wdPmq7RjE7cFHZooBMZp_":{"uri":"/melonJS/docs/melonjs/Renderer.html#width"},"6Yar6bwIefJubuQwXp7yE":{"uri":"/melonJS/docs/melonjs/Renderer.html#clear"},"NVS1Ph0uP23npbH6h3Eep":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearMask"},"x5K9Od4KxWdnf1HNYuD8J":{"uri":"/melonJS/docs/melonjs/Renderer.html#clearTint"},"E_cQVN85em0oT3pwrZWbG":{"uri":"/melonJS/docs/melonjs/Renderer.html#constructor"},"a1kSGdCJIclcXxjIKNNeh":{"uri":"/melonJS/docs/melonjs/Renderer.html#fill"},"J2OGwBx4BgVUdF3zG-gVp":{"uri":"/melonJS/docs/melonjs/Renderer.html#flush"},"TvA61c3OPgpbudEciTSuA":{"uri":"/melonJS/docs/melonjs/Renderer.html#getBlendMode"},"hei6C7A7-Q6-rXo812tsA":{"uri":"/melonJS/docs/melonjs/Renderer.html#getCanvas"},"24xsYFqkCQu8R90cUZxgH":{"uri":"/melonJS/docs/melonjs/Renderer.html#getColor"},"jpYDzWHIptKDqJBqLgjnm":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext"},"jnZf1oYN6hN8yqEMxxbph":{"uri":"/melonJS/docs/melonjs/Renderer.html#getContext2d"},"k_94rAtloGT8pXFY5swyi":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenCanvas"},"lFDLQ9vnZ-I0_RSGnwzL0":{"uri":"/melonJS/docs/melonjs/Renderer.html#getScreenContext"},"6cvHJe1Gfrd_TTBkJBpWb":{"uri":"/melonJS/docs/melonjs/Renderer.html#globalAlpha"},"xegt3fG1nrMNBA4LqhMuB":{"uri":"/melonJS/docs/melonjs/Renderer.html#overlaps"},"RYa9C-g5LM_zEWVCIpO70":{"uri":"/melonJS/docs/melonjs/Renderer.html#reset"},"enP4lscqYgsoE_c4y3mY3":{"uri":"/melonJS/docs/melonjs/Renderer.html#resize"},"adCdzzYmvtQbzk8tRYVp8":{"uri":"/melonJS/docs/melonjs/Renderer.html#setAntiAlias"},"_Pzo_TwmRT0La2BtSgKhT":{"uri":"/melonJS/docs/melonjs/Renderer.html#setMask"},"oEgXRWZ-mpJj6uo2qwGc8":{"uri":"/melonJS/docs/melonjs/Renderer.html#setProjection"},"UoiIQO6D0aXd9UCe23FNm":{"uri":"/melonJS/docs/melonjs/Renderer.html#setTint"},"3YaYrRNEeOVV6X4TiOWA6":{"uri":"/melonJS/docs/melonjs/Renderer.html#stroke"},"mHpjii4DLUzF5zNsv71wg":{"uri":"/melonJS/docs/melonjs/Renderer.html#tint"},"i5VeMt1nLWBn8VTgejhiO":{"uri":"/melonJS/docs/melonjs/Renderer.html#toBlob"},"3g7bnsGsiNWenMTAUXOmc":{"uri":"/melonJS/docs/melonjs/Renderer.html#toDataURL"},"upZpNzZYa6jRWwOsGTLHH":{"uri":"/melonJS/docs/melonjs/Renderer.html#toImageBitmap"},"bW6Aw-SdiviBgArlWFpGI":{"uri":"/melonJS/docs/melonjs/ResponseObject.html"},"1ktnTidn4XTOF0sjJipZp":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#a"},"vKGe11ozP4MrPG5-aixbV":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#aInB"},"dvjJ2Wka4VOblUXqrmT-w":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#b"},"vBYSiZNRgOPfYSbxTIXAi":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#bInA"},"_qvadpZhYH86GJJIZpUKx":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeA"},"ADMClpXyYAsM_btDbDWPR":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#indexShapeB"},"bRv62gHX5btk4uKXg7WVf":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlap"},"iEg_EHVE2yKPkA1PWBjCT":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapN"},"Acxe9AjdZLQPA6qKlSpEM":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#overlapV"},"bo4_eRlnJiFlOsVggIbHc":{"uri":"/melonJS/docs/melonjs/ResponseObject.html#clear"},"Z4Cba4S9hsKt4xqkyHBTs":{"uri":"/melonJS/docs/melonjs/RoundRect.html"},"YpYbTEvCCQA9X44uiSIiz":{"uri":"/melonJS/docs/melonjs/RoundRect.html#bottom"},"Qbq6LoQFugbmhQ1I75gDx":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerX"},"e3GICzfxzdS5HPcwfPjRR":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerY"},"8fDqUGo9Ly_8g8LZKG140":{"uri":"/melonJS/docs/melonjs/RoundRect.html#height"},"mK9ZQ0vYYy15WNcCWGbci":{"uri":"/melonJS/docs/melonjs/RoundRect.html#left"},"Tpd5j1Iki2bu2mK8aovDX":{"uri":"/melonJS/docs/melonjs/RoundRect.html#points"},"KC__dt7Iif3KUBWbbjv2y":{"uri":"/melonJS/docs/melonjs/RoundRect.html#pos"},"I74jy8yA7tXHjuh9ClmOb":{"uri":"/melonJS/docs/melonjs/RoundRect.html#radius"},"7d8G6FqQAy0nmfX9jQbBb":{"uri":"/melonJS/docs/melonjs/RoundRect.html#right"},"P5IAz3a1p5KMjgARIM5Ep":{"uri":"/melonJS/docs/melonjs/RoundRect.html#top"},"G3hKWRsGWzF4wSSDPolyb":{"uri":"/melonJS/docs/melonjs/RoundRect.html#type"},"ppv6AJ4hU2hVG4n-lHTDx":{"uri":"/melonJS/docs/melonjs/RoundRect.html#width"},"uh7nab7ICnBDSW51_idXf":{"uri":"/melonJS/docs/melonjs/RoundRect.html#centerOn"},"DO2-9yKV0eWtHpxBC55cp":{"uri":"/melonJS/docs/melonjs/RoundRect.html#clone"},"D2B6dWrj0SS_6a7z7_tHw":{"uri":"/melonJS/docs/melonjs/RoundRect.html#constructor"},"7BZsYqrRK5hMDScc7ppic":{"uri":"/melonJS/docs/melonjs/RoundRect.html#contains"},"J5pCPcTbm9HEQeqw7-GTi":{"uri":"/melonJS/docs/melonjs/RoundRect.html#copy"},"ttuu_l-ZS1F-Norlab8yp":{"uri":"/melonJS/docs/melonjs/RoundRect.html#equals"},"v3474jtWGH_Znm227jMRi":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getBounds"},"0RcRonLkNqdJzyHJsvNtX":{"uri":"/melonJS/docs/melonjs/RoundRect.html#getIndices"},"VeVyT0NX_KfZhMKxBDk3f":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isConvex"},"4S4ROd5yaZTh6ISywDSjs":{"uri":"/melonJS/docs/melonjs/RoundRect.html#isFinite"},"x_f7XxE8hdeNLs-uIX3m_":{"uri":"/melonJS/docs/melonjs/RoundRect.html#overlaps"},"2vnVw5E4TTe83acO97GMf":{"uri":"/melonJS/docs/melonjs/RoundRect.html#recalc"},"MpeOy8P2pIHuxDDwtroDR":{"uri":"/melonJS/docs/melonjs/RoundRect.html#resize"},"9B3e0nlfFYMrK3HJ06h4H":{"uri":"/melonJS/docs/melonjs/RoundRect.html#rotate"},"nq-yt-gVsSG4HPrfH-kP0":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scale"},"JuWk7MOhKTZ5CqCfW41K-":{"uri":"/melonJS/docs/melonjs/RoundRect.html#scaleV"},"ASFhrLf1nYThj5JL5nJ9e":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setShape"},"Jmc9z4yC5rnLCQeMf7T4S":{"uri":"/melonJS/docs/melonjs/RoundRect.html#setVertices"},"585JcLVnxJT0h2Dy3DLqa":{"uri":"/melonJS/docs/melonjs/RoundRect.html#shift"},"sMMT4c3Svt6tP7oo743IM":{"uri":"/melonJS/docs/melonjs/RoundRect.html#to2d"},"2XAyGa3zn4n8H_kQwTpu7":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toIso"},"LH5LuALphSsVzTxltxKlv":{"uri":"/melonJS/docs/melonjs/RoundRect.html#toPolygon"},"4QctXGK1ucmMgJr79wd0K":{"uri":"/melonJS/docs/melonjs/RoundRect.html#transform"},"TKgBdaMoaRyjwOkZPCOJ8":{"uri":"/melonJS/docs/melonjs/RoundRect.html#translate"},"BITOP14MTowNPGQx0mfq9":{"uri":"/melonJS/docs/melonjs/RoundRect.html#union"},"lrM_HHtm39FK6SiYQEGKP":{"uri":"/melonJS/docs/melonjs/RoundRect.html#updateBounds"},"UYbI4MyZOFDkCM7bpPK5Z":{"uri":"/melonJS/docs/melonjs/Sprite.html"},"kz-7Wo6lkCPUoCa-gUMyC":{"uri":"/melonJS/docs/melonjs/Sprite.html#alpha"},"4em8iFksyEEXToUKGoR-3":{"uri":"/melonJS/docs/melonjs/Sprite.html#alwaysUpdate"},"r6SqmTu6vCSa7QgGpYJEI":{"uri":"/melonJS/docs/melonjs/Sprite.html#ancestor"},"jf-VFIL8FTe6Ks2SyfUqo":{"uri":"/melonJS/docs/melonjs/Sprite.html#anchorPoint"},"KAc0n_5i38jK7AKd19b1w":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationpause"},"IPXgDgPnDsQysBdZHsw09":{"uri":"/melonJS/docs/melonjs/Sprite.html#animationspeed"},"O_UoLrLJtu5oodgU89UiF":{"uri":"/melonJS/docs/melonjs/Sprite.html#autoTransform"},"QbvQznKi4G-xvTDhWqx24":{"uri":"/melonJS/docs/melonjs/Sprite.html#blendMode"},"BaAK4sz0YN7-w7NNwIIPy":{"uri":"/melonJS/docs/melonjs/Sprite.html#body"},"s-J1OCd7qN3XRnFG9SKbs":{"uri":"/melonJS/docs/melonjs/Sprite.html#bottom"},"5EyeGO5EoKuvQNLyaqrEI":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerX"},"4h5lgQHaYIU0gZsNQEL4i":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerY"},"aEFDTOobU1YXAb1S97hk1":{"uri":"/melonJS/docs/melonjs/Sprite.html#currentTransform"},"Mzkq1pthaDILcEARp0e1q":{"uri":"/melonJS/docs/melonjs/Sprite.html#depth"},"9CdzgsoPAE3vP_wajZKy1":{"uri":"/melonJS/docs/melonjs/Sprite.html#floating"},"rkfOQA45-36ljkCfuDHdE":{"uri":"/melonJS/docs/melonjs/Sprite.html#GUID"},"UJ4nsn77_CqkM7HVQX9CW":{"uri":"/melonJS/docs/melonjs/Sprite.html#height"},"kKA_mNS2EzFm9Qge8TMTT":{"uri":"/melonJS/docs/melonjs/Sprite.html#inViewport"},"6Q_eCRsb90kxf4lK5Ik0b":{"uri":"/melonJS/docs/melonjs/Sprite.html#isDirty"},"Avr2GRcRcmsjickPyyGjP":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedX"},"uctDAHdiAN6O0_w7jUljj":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlippedY"},"-t21sAY9f2t4Rmq6mKgau":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFloating"},"9a2ukQV_fnNtqalvLgYst":{"uri":"/melonJS/docs/melonjs/Sprite.html#isKinematic"},"eBv5DiIwPNG7w4M663zzl":{"uri":"/melonJS/docs/melonjs/Sprite.html#isPersistent"},"_v-EbDkX-b3MFIDiNJ8CI":{"uri":"/melonJS/docs/melonjs/Sprite.html#isVideo"},"3CHRrVqwySIezmj5ngVvD":{"uri":"/melonJS/docs/melonjs/Sprite.html#left"},"xVtvcBkgbCA1KzOn1fzzZ":{"uri":"/melonJS/docs/melonjs/Sprite.html#mask"},"66efOrh6FZrS0tRiQXumc":{"uri":"/melonJS/docs/melonjs/Sprite.html#name"},"EcZ6p8Q43xbPveXUtXvA0":{"uri":"/melonJS/docs/melonjs/Sprite.html#offset"},"QNy9CgQo4fXh04mYZbFIK":{"uri":"/melonJS/docs/melonjs/Sprite.html#onVisibilityChange"},"Vo0XRRH1gXinu-jgTXr9d":{"uri":"/melonJS/docs/melonjs/Sprite.html#parentApp"},"wkGowdXFAH0UgpAsCrNG7":{"uri":"/melonJS/docs/melonjs/Sprite.html#points"},"kIJNzr34NB-RA9kpRL3lt":{"uri":"/melonJS/docs/melonjs/Sprite.html#pos"},"zp3KCvhptyTidzJEse6JN":{"uri":"/melonJS/docs/melonjs/Sprite.html#right"},"GfitQKX9ZL02X0r9PD-Yj":{"uri":"/melonJS/docs/melonjs/Sprite.html#shader"},"UUnbwQwffbdsvyiTc0WjR":{"uri":"/melonJS/docs/melonjs/Sprite.html#source"},"RlLarvcE_WL3oiSpsP9Or":{"uri":"/melonJS/docs/melonjs/Sprite.html#tint"},"ijXE9dXuqB3l6amVRPeER":{"uri":"/melonJS/docs/melonjs/Sprite.html#top"},"Etmp4evvr3Xl603xJ7AbO":{"uri":"/melonJS/docs/melonjs/Sprite.html#type"},"rnCMt7GiBBtWNoyuimAqM":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateWhenPaused"},"4pdCk59cmk0NU2wd_hpIW":{"uri":"/melonJS/docs/melonjs/Sprite.html#width"},"xBlL--10zsAAyIQje76Ge":{"uri":"/melonJS/docs/melonjs/Sprite.html#addAnimation"},"XIYioPXUYKYRCxseMs-As":{"uri":"/melonJS/docs/melonjs/Sprite.html#angleTo"},"Q9KIeojvq_2f-a7xOUF6T":{"uri":"/melonJS/docs/melonjs/Sprite.html#centerOn"},"jBlYYw6UxDeG7rYS7jThM":{"uri":"/melonJS/docs/melonjs/Sprite.html#clone"},"4LdpdbU1FECRxlwNsSa3T":{"uri":"/melonJS/docs/melonjs/Sprite.html#constructor"},"yI_1u7PwZx4z8LbuOoCKN":{"uri":"/melonJS/docs/melonjs/Sprite.html#contains"},"hW7tHNA-5yHz84rgzI3VF":{"uri":"/melonJS/docs/melonjs/Sprite.html#copy"},"UfUTW4IF8zkheE2TpS7Q1":{"uri":"/melonJS/docs/melonjs/Sprite.html#distanceTo"},"OaJYPbtCO060TNvo9oZOI":{"uri":"/melonJS/docs/melonjs/Sprite.html#equals"},"THFcVwRLV4fIqxeJqXfCG":{"uri":"/melonJS/docs/melonjs/Sprite.html#flicker"},"oxUMM-4k-YXXaMvOxUFKo":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipX"},"BsezgT1fD3w3MhBa_OK4c":{"uri":"/melonJS/docs/melonjs/Sprite.html#flipY"},"vYA56BFFUhVtbZSFE44ua":{"uri":"/melonJS/docs/melonjs/Sprite.html#getAbsolutePosition"},"k0a2WuvXXEQ9xNvPZXyTC":{"uri":"/melonJS/docs/melonjs/Sprite.html#getBounds"},"Gmf5PfoZqn6mGcHIz-8pl":{"uri":"/melonJS/docs/melonjs/Sprite.html#getCurrentAnimationFrame"},"hVccV1H9cJL2b7ey895YR":{"uri":"/melonJS/docs/melonjs/Sprite.html#getIndices"},"g2a0UCbh7cOHT_ZQnyl5T":{"uri":"/melonJS/docs/melonjs/Sprite.html#getOpacity"},"j4ndjIENkJqTtkRh8lCcy":{"uri":"/melonJS/docs/melonjs/Sprite.html#isConvex"},"rrf6wvz5KosgMypv6f-9e":{"uri":"/melonJS/docs/melonjs/Sprite.html#isCurrentAnimation"},"97TMimoEkgLlV13U4bTrt":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFinite"},"O8SNs897ZM6fiSOu_y8fp":{"uri":"/melonJS/docs/melonjs/Sprite.html#isFlickering"},"dPxQdUJ15LoWaOTZ0x6Ve":{"uri":"/melonJS/docs/melonjs/Sprite.html#lookAt"},"iPoOSvZIFFFmiihnEI2uJ":{"uri":"/melonJS/docs/melonjs/Sprite.html#onCollision"},"RpVFrS10luBHrOFVsn2PC":{"uri":"/melonJS/docs/melonjs/Sprite.html#onDestroyEvent"},"9gyJIIDxpzrBiwddXWcel":{"uri":"/melonJS/docs/melonjs/Sprite.html#overlaps"},"igbpfozrD6nsvJVprR3Gx":{"uri":"/melonJS/docs/melonjs/Sprite.html#pause"},"r4FJHsl1dCXtVFogO9bZ_":{"uri":"/melonJS/docs/melonjs/Sprite.html#play"},"lII2rmePDlc6mdar_Rxgt":{"uri":"/melonJS/docs/melonjs/Sprite.html#postDraw"},"B51Vtixw0XHQ9PRfmXJwK":{"uri":"/melonJS/docs/melonjs/Sprite.html#preDraw"},"3ZZw_vbhs5UmHDfu8Jjzl":{"uri":"/melonJS/docs/melonjs/Sprite.html#recalc"},"3UNexx2w2oaUOjhcWT-U2":{"uri":"/melonJS/docs/melonjs/Sprite.html#resize"},"CoqYDGoWzzCoNtafH8jrT":{"uri":"/melonJS/docs/melonjs/Sprite.html#reverseAnimation"},"90l0lgosT_oHf0WK7eIpP":{"uri":"/melonJS/docs/melonjs/Sprite.html#rotate"},"p1Wl8MY-FR9EBN8v-KDbm":{"uri":"/melonJS/docs/melonjs/Sprite.html#scale"},"MQF1EVFBELU98LEcLDqqj":{"uri":"/melonJS/docs/melonjs/Sprite.html#scaleV"},"jJnSCqB9Oswh8TlNkTK_x":{"uri":"/melonJS/docs/melonjs/Sprite.html#setAnimationFrame"},"vJspuHkpvXHXN2pGQ8FdC":{"uri":"/melonJS/docs/melonjs/Sprite.html#setCurrentAnimation"},"g7lS29_aMx7HXyOf5H5I1":{"uri":"/melonJS/docs/melonjs/Sprite.html#setOpacity"},"DfGWlPYLBaBfNOoE-Lm7n":{"uri":"/melonJS/docs/melonjs/Sprite.html#setRegion"},"cC2dsHvrRcKmEYLe63pzt":{"uri":"/melonJS/docs/melonjs/Sprite.html#setShape"},"n9rOA9_xZysgye5B341k_":{"uri":"/melonJS/docs/melonjs/Sprite.html#setVertices"},"9DLpNM8HQoVM_h6Rd0o_R":{"uri":"/melonJS/docs/melonjs/Sprite.html#shift"},"063ev8KbHfw_4j27hTMMF":{"uri":"/melonJS/docs/melonjs/Sprite.html#to2d"},"vrHlAOUiHWhgU49oIk8_8":{"uri":"/melonJS/docs/melonjs/Sprite.html#toIso"},"VasNrn5MjF4WfNuvA6BsC":{"uri":"/melonJS/docs/melonjs/Sprite.html#toPolygon"},"p1ddnOPkoFSSxsLBNSTNu":{"uri":"/melonJS/docs/melonjs/Sprite.html#transform"},"hDth0VVxcBhKh4IM-WeNy":{"uri":"/melonJS/docs/melonjs/Sprite.html#translate"},"DbMZ1-h4hLm-g8ThL1_0u":{"uri":"/melonJS/docs/melonjs/Sprite.html#union"},"rbhtOlbT0Qm5lo_eX8dZk":{"uri":"/melonJS/docs/melonjs/Sprite.html#updateBounds"},"TgcmtUpj__mjuneXoSUzm":{"uri":"/melonJS/docs/melonjs/Sprite.html#draw"},"qFohW-nYXnvc0zmeEIaMu":{"uri":"/melonJS/docs/melonjs/Sprite.html#update"},"zs5yigOIWbGVimUgJli2k":{"uri":"/melonJS/docs/melonjs/Sprite.html#onAnchorUpdate"},"G2bbNecBKBOrNH_EbWtTN":{"uri":"/melonJS/docs/melonjs/Stage.html"},"hWAWOVUdKZZPiSLpkep05":{"uri":"/melonJS/docs/melonjs/Stage.html#ambientLight"},"HRvxc4BzkAigugjDquT78":{"uri":"/melonJS/docs/melonjs/Stage.html#cameras"},"8Bw6qd-ZKdifpfpwXdyu-":{"uri":"/melonJS/docs/melonjs/Stage.html#lights"},"TYd1B5uGxFXGiWtQj82FI":{"uri":"/melonJS/docs/melonjs/Stage.html#settings"},"bJSdDFAxct6jaYaMztjOa":{"uri":"/melonJS/docs/melonjs/Stage.html#constructor"},"ana4RRnm5V5Mp8tiClgs3":{"uri":"/melonJS/docs/melonjs/Stage.html#onDestroyEvent"},"1xKTEiuB1dEtNVu6BTgfc":{"uri":"/melonJS/docs/melonjs/Stage.html#onResetEvent"},"1NfZxIxAfvuQSr7QNmD1M":{"uri":"/melonJS/docs/melonjs/Text.html"},"w5P2paFAs4j6DIZ_X8DoF":{"uri":"/melonJS/docs/melonjs/Text.html#alpha"},"sKCRm6k8F51AlhRLW1tQH":{"uri":"/melonJS/docs/melonjs/Text.html#alwaysUpdate"},"QzEqcahak9ygKSAc5C6_A":{"uri":"/melonJS/docs/melonjs/Text.html#ancestor"},"yfRHQEpdfaU-j2ex16s2B":{"uri":"/melonJS/docs/melonjs/Text.html#anchorPoint"},"cQu_MOf-WnV9IJwuVrpVc":{"uri":"/melonJS/docs/melonjs/Text.html#autoTransform"},"XeIe_jIaGktt00wLb0JLY":{"uri":"/melonJS/docs/melonjs/Text.html#blendMode"},"VpUeUQdgtxuXJLj0btmJi":{"uri":"/melonJS/docs/melonjs/Text.html#body"},"2cr3qZTYKzm0BGz4OX5yQ":{"uri":"/melonJS/docs/melonjs/Text.html#bottom"},"gV53Dk27BBFcYRiYCMmOD":{"uri":"/melonJS/docs/melonjs/Text.html#centerX"},"bpYp9wi2qCg5eBUax5EJJ":{"uri":"/melonJS/docs/melonjs/Text.html#centerY"},"quYPL4liwAbg5MRNgHcb7":{"uri":"/melonJS/docs/melonjs/Text.html#currentTransform"},"4guZTIrVgwgheFoORtUWa":{"uri":"/melonJS/docs/melonjs/Text.html#depth"},"vmb76ZkZ34iJNEgkgRW6U":{"uri":"/melonJS/docs/melonjs/Text.html#fillStyle"},"gdvCT2L5h00vP0YXBKJWs":{"uri":"/melonJS/docs/melonjs/Text.html#floating"},"aWZfk5Q1hmIk7wSsNm8gz":{"uri":"/melonJS/docs/melonjs/Text.html#fontSize"},"ZTkLevlexqie5p9rcUosI":{"uri":"/melonJS/docs/melonjs/Text.html#GUID"},"xeGaD5xj3IQgjzf46361j":{"uri":"/melonJS/docs/melonjs/Text.html#height"},"IHaqH3vJkywsZW2z4e1Uy":{"uri":"/melonJS/docs/melonjs/Text.html#inViewport"},"TZhOa55TyLVNmcxt9oQkl":{"uri":"/melonJS/docs/melonjs/Text.html#isDirty"},"S3uBW3lRtxS-b-tY0J0JS":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedX"},"KXF2HHvKnc-G61W9ZrNBS":{"uri":"/melonJS/docs/melonjs/Text.html#isFlippedY"},"k2COioBNNNvx9qMj6IO0l":{"uri":"/melonJS/docs/melonjs/Text.html#isFloating"},"J7v85ogEHHE8BKonYCEtv":{"uri":"/melonJS/docs/melonjs/Text.html#isKinematic"},"cvATeiWP6ahBUr-cy6-3I":{"uri":"/melonJS/docs/melonjs/Text.html#isPersistent"},"qni6nUCad-_JibEQx6EUp":{"uri":"/melonJS/docs/melonjs/Text.html#left"},"cVvocBM2nKFQ73T5hqvw3":{"uri":"/melonJS/docs/melonjs/Text.html#lineHeight"},"pW2A3pjpopnWEZzrsdGFc":{"uri":"/melonJS/docs/melonjs/Text.html#lineWidth"},"dUu6W9ArjDWC4oqMZqBFe":{"uri":"/melonJS/docs/melonjs/Text.html#mask"},"FJlQTdACmcrjL9s_zzT8K":{"uri":"/melonJS/docs/melonjs/Text.html#name"},"QC7PzE66RsMjG89BPiHwU":{"uri":"/melonJS/docs/melonjs/Text.html#onVisibilityChange"},"fnEgx7UgA3Nfvo31f7jRZ":{"uri":"/melonJS/docs/melonjs/Text.html#parentApp"},"cotfcoPhvfS9b_jfjdzlr":{"uri":"/melonJS/docs/melonjs/Text.html#points"},"P5CF92ft0U0MmVBhm-FlS":{"uri":"/melonJS/docs/melonjs/Text.html#pos"},"xbHEoJe0xtq1tQXpnJmFP":{"uri":"/melonJS/docs/melonjs/Text.html#right"},"GtzW76KyQxY0eej0SjHnH":{"uri":"/melonJS/docs/melonjs/Text.html#shader"},"DDHmQp9MBXLGkFZ80Ql_6":{"uri":"/melonJS/docs/melonjs/Text.html#strokeStyle"},"dgjMhs4-wRq75wgYmbG_M":{"uri":"/melonJS/docs/melonjs/Text.html#textAlign"},"9O99m8qLyjd_aRzyh4HPn":{"uri":"/melonJS/docs/melonjs/Text.html#textBaseline"},"ooraH_hVrZcsJRB6ReriH":{"uri":"/melonJS/docs/melonjs/Text.html#tint"},"TPJrHERvlmuDUs2vHrhhN":{"uri":"/melonJS/docs/melonjs/Text.html#top"},"Ai-XuBT1Rmk6K2IxqzVBl":{"uri":"/melonJS/docs/melonjs/Text.html#type"},"s_Ea-Ff6IYm1HjmM4c1KM":{"uri":"/melonJS/docs/melonjs/Text.html#updateWhenPaused"},"VnG82l6Tjx2XEkTRXWkD9":{"uri":"/melonJS/docs/melonjs/Text.html#width"},"VL5eWlniOMKl98zJNNuJI":{"uri":"/melonJS/docs/melonjs/Text.html#wordWrapWidth"},"JugwRjhb2mK7Rn9YlxdNc":{"uri":"/melonJS/docs/melonjs/Text.html#_text"},"uqXt4NSW1a30C9xQVfd_m":{"uri":"/melonJS/docs/melonjs/Text.html#angleTo"},"dL0461WYHTJUj9WDHh5EL":{"uri":"/melonJS/docs/melonjs/Text.html#bold"},"gbuQ-7rGesPL9j3rcSe5P":{"uri":"/melonJS/docs/melonjs/Text.html#centerOn"},"GFVft6WUdJBzhkaRhTWQu":{"uri":"/melonJS/docs/melonjs/Text.html#clone"},"ffYzhuDeHxkk1AprTjkxu":{"uri":"/melonJS/docs/melonjs/Text.html#constructor"},"nT3fWQlC6Puj3lvBnZeso":{"uri":"/melonJS/docs/melonjs/Text.html#contains"},"9HpT42FfrEza7_QU-6vkD":{"uri":"/melonJS/docs/melonjs/Text.html#copy"},"HiPZsP2Sni52oxvMs1Nj1":{"uri":"/melonJS/docs/melonjs/Text.html#distanceTo"},"q68X9WCQXWkO_XL2imgN0":{"uri":"/melonJS/docs/melonjs/Text.html#draw"},"qQB59daa3j8PDHCMBzqmI":{"uri":"/melonJS/docs/melonjs/Text.html#drawStroke"},"B7Lhw5z83rsVVFhEZ1Lyb":{"uri":"/melonJS/docs/melonjs/Text.html#equals"},"aJsEQzPuriJiDtZKaz4RT":{"uri":"/melonJS/docs/melonjs/Text.html#flipX"},"gW_IGEdiKe3ijIzoF4oEV":{"uri":"/melonJS/docs/melonjs/Text.html#flipY"},"kUA924Y91xACWUcdR-j8s":{"uri":"/melonJS/docs/melonjs/Text.html#getAbsolutePosition"},"K__lxHx2VwDFrmkZ-hQf5":{"uri":"/melonJS/docs/melonjs/Text.html#getBounds"},"fSfKsXf4QK9Vwc7hX3ilS":{"uri":"/melonJS/docs/melonjs/Text.html#getIndices"},"X4btDun0UYU5ps8drgMUu":{"uri":"/melonJS/docs/melonjs/Text.html#getOpacity"},"7ZZfA-pkbWpBUGvnghk0r":{"uri":"/melonJS/docs/melonjs/Text.html#isConvex"},"Ck2qhiGHY0OKqEoJNivyI":{"uri":"/melonJS/docs/melonjs/Text.html#isFinite"},"mBz5qVH_46YGPBImhi2yJ":{"uri":"/melonJS/docs/melonjs/Text.html#italic"},"LFMLirkw6_mz9GVmciJ1s":{"uri":"/melonJS/docs/melonjs/Text.html#lookAt"},"mgfCjTEKqhsFcarrGtX59":{"uri":"/melonJS/docs/melonjs/Text.html#measureText"},"dEB8lRGuhZbZFuXozu6-u":{"uri":"/melonJS/docs/melonjs/Text.html#onCollision"},"Y_qnP8S4Dh883JcEeEqA-":{"uri":"/melonJS/docs/melonjs/Text.html#onDestroyEvent"},"JWSyW-SQ5Tr49xgn0CT8d":{"uri":"/melonJS/docs/melonjs/Text.html#overlaps"},"aDchb37f8dz6g-tA3l_vn":{"uri":"/melonJS/docs/melonjs/Text.html#postDraw"},"-trHIVJ7ELY2ya5Q_zwpN":{"uri":"/melonJS/docs/melonjs/Text.html#preDraw"},"vpyT3fYzJlDKQKwfvMRVi":{"uri":"/melonJS/docs/melonjs/Text.html#recalc"},"xy0Yb5EGlmaCL1bQaApMp":{"uri":"/melonJS/docs/melonjs/Text.html#resize"},"KxDbc-3qiXOqvf0lXvAVY":{"uri":"/melonJS/docs/melonjs/Text.html#rotate"},"nfFH1W_HNGFSlb2nqU7jp":{"uri":"/melonJS/docs/melonjs/Text.html#scale"},"cRjpt8pegWMt0FBGw9xBg":{"uri":"/melonJS/docs/melonjs/Text.html#scaleV"},"G2nM4pMviKaN3YqNLYydl":{"uri":"/melonJS/docs/melonjs/Text.html#setFont"},"bqBQxieeiMkFNqv4G9B1M":{"uri":"/melonJS/docs/melonjs/Text.html#setOpacity"},"4gKC5Iac2bVqpB6PCtoqU":{"uri":"/melonJS/docs/melonjs/Text.html#setShape"},"O5rT9g8m348vYnD5i7g6f":{"uri":"/melonJS/docs/melonjs/Text.html#setText"},"6U31-iJkNo4x1xpOivqxT":{"uri":"/melonJS/docs/melonjs/Text.html#setVertices"},"il2S-wzCM3FQ7PMu7cun8":{"uri":"/melonJS/docs/melonjs/Text.html#shift"},"KYdS88P1AtCu5Fa6S3RDs":{"uri":"/melonJS/docs/melonjs/Text.html#to2d"},"aXjpTUNnH-BPy_Aii6Q4Z":{"uri":"/melonJS/docs/melonjs/Text.html#toIso"},"LBztxJUF5mVey0nUDUraK":{"uri":"/melonJS/docs/melonjs/Text.html#toPolygon"},"XFU3O5Q8Hfbe-HoUHFp9Z":{"uri":"/melonJS/docs/melonjs/Text.html#transform"},"A0Z4f6auR9YS66PGwQ-ha":{"uri":"/melonJS/docs/melonjs/Text.html#translate"},"71bZW4FCTqcEsxMHn3lid":{"uri":"/melonJS/docs/melonjs/Text.html#union"},"7gD4k0Rfdw5AUdujO9R7P":{"uri":"/melonJS/docs/melonjs/Text.html#update"},"QKizx566NJUn9o60Czdep":{"uri":"/melonJS/docs/melonjs/Text.html#updateBounds"},"7e0v5yWXr7to-w21PPSfQ":{"uri":"/melonJS/docs/melonjs/Text.html#onAnchorUpdate"},"BtVS8Sbi8ATyLfKSa9k9a":{"uri":"/melonJS/docs/melonjs/TextMetrics.html"},"CF3rKkx2xsVVaXtGQ3YUL":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#ancestor"},"211V9sFgRvkyDcRs8MDCE":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#bottom"},"BJ0vsaCxapisD0CHBname":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#center"},"V7o85x6xh7ZumgFCpYpRT":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerX"},"z72x-_-IF_S1w_FwrCuV9":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerY"},"qIsc6t57_5aP_7xqP6rjC":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#height"},"mDeBWAvP8NikhTG9DYUeg":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#left"},"RKz8g8hOzq-CPB9Uq-HSD":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#right"},"lQkz5oa0JGqYsSoCXOefj":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#top"},"mXkTRDy99um0M5uWaoiik":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#type"},"xc0S5Mo_incyd3C2dIRSg":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#width"},"AHw0lSCq0-6r7krEEqYQf":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#x"},"kvH1-hSrATJdzlskSKmwj":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#y"},"DTK2i5SblYh59PkOPtDdU":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#add"},"SKNu4YhjTB_temGXRGpL0":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addBounds"},"cuyGpzg4-33H67tJ2QLOc":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addFrame"},"PmrImsbGJ2EIbB4f4HrRz":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#addPoint"},"XgevIT37pxkGDzmseEAcm":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#centerOn"},"VlTjCXc24D4ibaUnXav4I":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clear"},"1Vghv_J9vYdYsSkj9_IqC":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#clone"},"7XBFmSsKjWFlQ3eP-OPrK":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#constructor"},"LrSDE1yibzI6q3bjrUBx4":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#contains"},"43Qu06WTsqgFkAmLH5-Ma":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#isFinite"},"UJytvsRP0LZ42bH1E8AjI":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineHeight"},"36lhX7WYMP61AolsHR2Jf":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#lineWidth"},"Z4tf_GJ-RNwHHUOkBem04":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#measureText"},"-m0p5J6SCf18yjZLn958f":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#overlaps"},"bn5gswydDg3LfH9mIs3tQ":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#setMinMax"},"RgAgIENVy6y7mATH2t7Lr":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#shift"},"sFhChS6Efa_GuJRhXNvCW":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#toPolygon"},"TUvAzM1-JNN6bk4Ic7Nak":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#translate"},"Gw3SGrvw8xQSGahvw_JMD":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#update"},"2ZtzbDn8WIf0FQvCfJX3l":{"uri":"/melonJS/docs/melonjs/TextMetrics.html#wordWrap"},"BpDS8Q6pAgN-x13QdjHHr":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html"},"Ko0HUDSjR9Ac4-QLme1kQ":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addRegion"},"O1qxkuhPqaBZzjwZT8Ha5":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#addUVs"},"RE6tZDXYPb3AuVGrZHgDk":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#constructor"},"HcziFUx1qMH0v9JN6mHkw":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createAnimationFromName"},"MauFCE4t7IqytLCJgMJoR":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#createSpriteFromName"},"PBeugYEMu_d5m_UWQiRW3":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getAtlas"},"LmfXLHW2zbQvsRDTbOwsf":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getFormat"},"BgMK6x7SvNc_qknzOZrIc":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getRegion"},"X2K8QmbhOL5koc5uXjXTR":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getTexture"},"jhtjI2vBT9lty18A9ZLDX":{"uri":"/melonJS/docs/melonjs/TextureAtlas.html#getUVs"},"sCHc9AOzhNhwEwkphotJZ":{"uri":"/melonJS/docs/melonjs/Tile.html"},"Eht1IPZGMY2OkVaSx6zmK":{"uri":"/melonJS/docs/melonjs/Tile.html#bottom"},"nntzfvLKcyk2lA93EfGLz":{"uri":"/melonJS/docs/melonjs/Tile.html#center"},"bDNi7Nwazl3_368UZ2ov_":{"uri":"/melonJS/docs/melonjs/Tile.html#centerX"},"EpzL3flBM-qfsFGHeV26b":{"uri":"/melonJS/docs/melonjs/Tile.html#centerY"},"hPVybxWYiQiFTDHYe2jFX":{"uri":"/melonJS/docs/melonjs/Tile.html#flipped"},"WZVHwlpmUCzRrunhUoGGy":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedAD"},"FmRdzoRvumYCBkZtOEV4B":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedX"},"bi3PNDRDrG3HPoEBAdkaG":{"uri":"/melonJS/docs/melonjs/Tile.html#flippedY"},"5NKBjQ26mBpM2bcDW5ejD":{"uri":"/melonJS/docs/melonjs/Tile.html#height"},"bTYZIAiwzk9Gie17dzfbA":{"uri":"/melonJS/docs/melonjs/Tile.html#left"},"BIP5isccT2Sy4e_xkJZtG":{"uri":"/melonJS/docs/melonjs/Tile.html#right"},"EDdCgL2Lk3o42J8lYoE5i":{"uri":"/melonJS/docs/melonjs/Tile.html#tileId"},"Zu9ugMr3gl8MmCDty7492":{"uri":"/melonJS/docs/melonjs/Tile.html#tileset"},"Z4-kvT9hOt5Lke7QhFrD_":{"uri":"/melonJS/docs/melonjs/Tile.html#top"},"zLz6GMj8bNpLkCsBpAEEB":{"uri":"/melonJS/docs/melonjs/Tile.html#type"},"DGWqwStEZqTXqY7oU0rEv":{"uri":"/melonJS/docs/melonjs/Tile.html#width"},"Re_4z0Eq5A5ftsViNtJKb":{"uri":"/melonJS/docs/melonjs/Tile.html#x"},"8b0v82APGnJ5M63xgC4kn":{"uri":"/melonJS/docs/melonjs/Tile.html#y"},"gdHeNLgtKowtHHojwFGJt":{"uri":"/melonJS/docs/melonjs/Tile.html#add"},"9ymY8RSmrP6tZW-68H53P":{"uri":"/melonJS/docs/melonjs/Tile.html#addBounds"},"Da4TVU6MmCNlAw4gAGyBb":{"uri":"/melonJS/docs/melonjs/Tile.html#addFrame"},"sWdLh_HqlupQMIdsHcYs-":{"uri":"/melonJS/docs/melonjs/Tile.html#addPoint"},"DtaFM4zI333UzeC2GGDbN":{"uri":"/melonJS/docs/melonjs/Tile.html#centerOn"},"_XjNj8C7rVvoocYhZdwRV":{"uri":"/melonJS/docs/melonjs/Tile.html#clear"},"6pptAJe9PKQIiSY4Hbv1D":{"uri":"/melonJS/docs/melonjs/Tile.html#clone"},"aNC0mO52McOuOtDYRz188":{"uri":"/melonJS/docs/melonjs/Tile.html#constructor"},"6oguVjo5tCuQFGQQf6cQ-":{"uri":"/melonJS/docs/melonjs/Tile.html#contains"},"5U2AuyWMZNcu_jvv8CsBZ":{"uri":"/melonJS/docs/melonjs/Tile.html#getRenderable"},"kMniiB2RsyfMOdsoC8poU":{"uri":"/melonJS/docs/melonjs/Tile.html#isFinite"},"coCTxpBl5RORJBHUU6N6A":{"uri":"/melonJS/docs/melonjs/Tile.html#overlaps"},"JwZ7AMFhmLVsUaGgGwu_1":{"uri":"/melonJS/docs/melonjs/Tile.html#setMinMax"},"197YVGCjA1OaWAu63b9WC":{"uri":"/melonJS/docs/melonjs/Tile.html#shift"},"fSKDjHfLGRNJFVee6Zczb":{"uri":"/melonJS/docs/melonjs/Tile.html#toPolygon"},"F_TJJW6JHTuyoMdtItvo3":{"uri":"/melonJS/docs/melonjs/Tile.html#translate"},"R6NlOsr8_dGgTGu9rqEvX":{"uri":"/melonJS/docs/melonjs/Tile.html#update"},"OiLRN0gD4E8bIM72--tNU":{"uri":"/melonJS/docs/melonjs/Timer_.html"},"gaOjUux4tmwZe_URUsYfN":{"uri":"/melonJS/docs/melonjs/Timer_.html#fps"},"JkIKXeXxBLaNPFn_vlyr9":{"uri":"/melonJS/docs/melonjs/Timer_.html#interpolation"},"H_UYgac4lZoVRN4grbcOQ":{"uri":"/melonJS/docs/melonjs/Timer_.html#maxfps"},"0Ht5wbixVMyNzRe2K-Zpc":{"uri":"/melonJS/docs/melonjs/Timer_.html#tick"},"xJ1TUdTkHWfoMaLz1Lx1P":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearInterval"},"WexCSLi6Ybo6R63KV9zpv":{"uri":"/melonJS/docs/melonjs/Timer_.html#clearTimeout"},"CU3syzKj8HXN-0Hr_HUxR":{"uri":"/melonJS/docs/melonjs/Timer_.html#getDelta"},"Xs8SaqovVj72SCuvU1Aue":{"uri":"/melonJS/docs/melonjs/Timer_.html#getTime"},"bdO_czBEowy_8OhMDqz81":{"uri":"/melonJS/docs/melonjs/Timer_.html#setInterval"},"6fp72q-AvI154GlpehXua":{"uri":"/melonJS/docs/melonjs/Timer_.html#setTimeout"},"IJA3-_FrFjY95LDoyH1p8":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html"},"cba4WsrTFj_FHXXbQ34hD":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#canRender"},"NLpy8a42CGVuQRpnX0R3e":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#constructor"},"il_XMnO9EEyr3QcnTQ8GG":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTile"},"iCbzE_EKSWwi90wc5C7Ck":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#drawTileLayer"},"uzB6pEAzbwLPPlD1d4-uI":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#getBounds"},"jMqGO6F2tIIt60fu3wF17":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#pixelToTileCoords"},"cIWpJrO7vkFs_b2NApN7a":{"uri":"/melonJS/docs/melonjs/TMXHexagonalRenderer.html#tileToPixelCoords"},"3ILXqwXqxI4kZmeNp6ROk":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html"},"dsSwlMU1xP1O18DnZs7X4":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#canRender"},"tGwuHLWtgw33XHwvpsVZm":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#constructor"},"CbcFLQiDFCRnmvuLVUF7j":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTile"},"Nn_E87CHd5QWPLD6zbG5x":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#drawTileLayer"},"z_175faJUs0Xno-8fu46m":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#getBounds"},"ZRXdcgYvpoBvW04JUGDV3":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#pixelToTileCoords"},"Fj2zT02qkFhewr-q6YU1o":{"uri":"/melonJS/docs/melonjs/TMXIsometricRenderer.html#tileToPixelCoords"},"CS7B6WAVGAXosOrOReqye":{"uri":"/melonJS/docs/melonjs/TMXLayer.html"},"o5kOQzdckpEmPuCGt0cIN":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alpha"},"5qbjIeEMk6oCi3DmoTFka":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#alwaysUpdate"},"xAaplwS9Ue1UFPiJW8JI_":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#ancestor"},"ljX71mdfOFiHz3xepbyNj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#anchorPoint"},"sVSOg6P_qsNXd0sH0x8ER":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#animatedTilesets"},"H1YKsdzSF2cr64zUCZ07q":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#autoTransform"},"iQ7oybUpJCYjX7-ttsJNi":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#blendMode"},"qpixXamlx_yc_kWZr9WO5":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#body"},"iIVLmh3FJagkvnh3jjwUf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#bottom"},"h1LXCQM8tuP6_pjaMT96H":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerX"},"gkPAs9lT_EzBm4vlbXoxf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerY"},"mZk_zKEiBT6hEHE5Ajam3":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#class"},"SsZV4beBnc-jVEQzkRi4P":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#currentTransform"},"JoHgVy5ItNHswxvDSX9_u":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#depth"},"HQjpMD8EPbq1wbubD7a-Y":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#floating"},"0uf9MpF24ik3ABCpoLL_t":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#GUID"},"cWM54RTtW6zcDqz_SX-6Y":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#height"},"mX-yHXMggTMu4E6A8vK4q":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#inViewport"},"iOxQyt-5V_TKLMPUTM1gw":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isAnimated"},"ju8x_d-nueEujATLAlqrd":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isDirty"},"BgcA-Mdfeifpf51l-Dlpf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedX"},"52pXA5P9qmx5BmTqeMY_l":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFlippedY"},"B5f9g8E0t7LSWrRpH-d74":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFloating"},"Qhste27xrqR8ImrX3mQNH":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isKinematic"},"-sQOV6z2lukJzo2IF93ZC":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isPersistent"},"bLkG7AvT1eR9WIObHTS-g":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#left"},"_47gWPp0mQlEujr82wxVg":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#mask"},"Kghw8QfiEPiMKmSOUNZgE":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#name"},"uhuS1R7WHCuNOON3ssbXO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onVisibilityChange"},"7izqqoYtxTva-CNwoJDSt":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#parentApp"},"d1wZ9UidX59BCZ3j6sqNj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#points"},"lqZqhX8fXICeL7j8vpjnh":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#pos"},"wLaouJc9cJ3DHGiIxRXwu":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#renderorder"},"7gYiFS_MgCk7nd8UzniF-":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#right"},"D6lKRkms_3BzC0RgZPDRI":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shader"},"N7Xi-awMUdkT33aCJgNYC":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tilesets"},"Rhyib_vBpWRf25xnM6LYz":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#tint"},"TOBpJyNl4cNY1P64TdDOa":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#top"},"chhjImWXrlekfDJSrF92r":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#type"},"MtMJLzbC7a-z0wgnfN-y6":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateWhenPaused"},"1XHEDAYSqbZyymsQ0_5Wa":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#width"},"UpvjgQFa7_70dgybXxzQf":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#x"},"FCgN1MnqBDpImPxvlPm68":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#y"},"7ixlSs2xldUXPDn9DliIF":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#angleTo"},"vLkc67_x4HTV3KaGG5mww":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#cellAt"},"uEREFhPgNJkBc2TnRF-uE":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#centerOn"},"9i2zVm37OTvUILyZLmsp6":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clearTile"},"RutOBuUpuoVuw7yQoKgn9":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#clone"},"cbe0QRRF5FND8S4mmrRyc":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#constructor"},"exFIv5PZ968khv8iJEIey":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#contains"},"98F3ILof-BLRzrGgv5NTj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#copy"},"6oWSLYGCQmnHndCsXozt7":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#distanceTo"},"kTDDTrrQLiU9NElRK0P2v":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#draw"},"ZBWgLGcPPJMdFruV1opxt":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#equals"},"dfaBKMor_gswMi1dYUjYA":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipX"},"nEJ0xF5mtwFsAc2VxL6oa":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#flipY"},"I586BzmIjGTdLDFLFw_d5":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getAbsolutePosition"},"WvqTZFMQ_IxXIFyW4NuwX":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getBounds"},"Uc9lzjEsFrDDMbPYsRK7B":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getIndices"},"xaJ4wUlyG0up-vbJLm6ze":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getOpacity"},"J3oG1cx9dwiRlqx1P1Pxx":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getRenderer"},"x-XBr-4Qew70p-3t1W4Ye":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTile"},"Z-B2dSZkh9dv0gORtJHqO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileById"},"QoG_86-v3_0VGHZPBRS4a":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#getTileId"},"hJKsEXKV0ldvBMZ7tWdvL":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isConvex"},"4oFiG4khl7lqhBndHX2_1":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#isFinite"},"Q7lvHeG3QzjsYNgKsNIpA":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#lookAt"},"n7DxkH7w5lOadi8g8efWs":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onCollision"},"fvfBHFHmlXXxQqf9hbFyq":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onDestroyEvent"},"Ep7RuWuhR09eUvyKED6jn":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#overlaps"},"u5dP5D4jpJe_IhpvD9Mpj":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#postDraw"},"hNvFnwfrAqYnwFtzTWhlO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#preDraw"},"xYT_7_waYWW7-qSlW8muu":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#recalc"},"-Bxux6D-UqSzAr6yVZlKY":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#resize"},"-9xHILw0xlHEL2vVXjgJ9":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#rotate"},"WpQ8caDDJF3-54t7OVhxY":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scale"},"ax8nYw5Ob_MrzonmbTdx7":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#scaleV"},"knFoBB7amKlQANBVuow3q":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setOpacity"},"roWOWnAUHKUDMf3-PlJJJ":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setRenderer"},"VMgRrfRWTZuuC-ybU1pnd":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setShape"},"7TP-jAE7YryZhT4Y_yINR":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setTile"},"6u8la4mccy54IPLa1QJbz":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#setVertices"},"sDOKHzlKdWvp3KZ3J-de6":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#shift"},"HvC8b-whz8rIwLx97zaJO":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#to2d"},"V5Z9WvUdzw8tjmHdz7KI3":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toIso"},"UxEJLJBEy7EQ9El77OwOY":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#toPolygon"},"lXgfBNRi6MEDJZXbZ5t6M":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#transform"},"yHyxhRZ1Petb677WDtXuY":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#translate"},"2wUn-q-8evgD2q6OoU05b":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#union"},"545NLCoopdPFNUO1xQEiP":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#update"},"EKk_tKHdbAx97-iyPSAho":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#updateBounds"},"xh9K-nOtI11X76YPx0XkI":{"uri":"/melonJS/docs/melonjs/TMXLayer.html#onAnchorUpdate"},"FZFZpoJi9lquYcqOKGrjs":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html"},"zcbnJjSrz7ciRHPu0xJsw":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#canRender"},"odNw8m_6LTWVMcluoa5IS":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#constructor"},"JhmxFnHYRAM82a__wsKK9":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTile"},"iF9Ttd35ORk0IK-yDW4SM":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#drawTileLayer"},"QTS6nUTZsLAvB6laoedUm":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#getBounds"},"LzUf2RgWKSvm3HlOHv6dB":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#pixelToTileCoords"},"n2qs-0G_0IM9RCuM7EoX8":{"uri":"/melonJS/docs/melonjs/TMXOrthogonalRenderer.html#tileToPixelCoords"},"utCLeJ14-RJQquXGwnhak":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html"},"wRPwbEBVd8dfAK6pxVHgC":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#canRender"},"WEQ6k5N5GXKrw7Y5wqpmM":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#constructor"},"M6vUA4OgIOfk3sqT9mJ5T":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTile"},"M9rOcvO62jsrrwXd1qqxF":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#drawTileLayer"},"4pk8P5SJJCi7mjM6xOVmc":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#getBounds"},"pBb4j8Y69-4nXRDam5Ytt":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#pixelToTileCoords"},"il0YCsqC5sLIzwfmwqtDy":{"uri":"/melonJS/docs/melonjs/TMXRenderer.html#tileToPixelCoords"},"MNJk7OCbyxDdR-58M_b48":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html"},"lmLH9K-sm18ZRiKjuTKTd":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#canRender"},"dK5zotLPk3RLlAWYxsD-o":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#constructor"},"tm5f2iRuKnLXrcKniRPeb":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTile"},"188P6-7kRq3a46uPlf4RA":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#drawTileLayer"},"w9XQM72zB6i5TfPn4vPNK":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#getBounds"},"8JpNB63Wv1sM9cdCE5pYE":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#pixelToTileCoords"},"Kx9cupZJgfRr_xnUsGb5h":{"uri":"/melonJS/docs/melonjs/TMXStaggeredRenderer.html#tileToPixelCoords"},"yYtOUDFOwkUN8DLskCsXN":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html"},"VjBqcmvKaOPCwPNEXyy86":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#class"},"s4yOY9NQJW6nFjvJ02yVG":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#cols"},"WQ838mOLUy6JVL-LSclSm":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#infinite"},"RPHoDIWu7AGeH6_YzZcOW":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#name"},"eKZdGe92biL6Thjo0ZgI1":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#orientation"},"zpvWbq_Kq7t9ThUqMSZNB":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#renderorder"},"9GwBmnpvYinPXzYln9qrF":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#rows"},"_-aYo20PtfVe22PYSCBYy":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tiledversion"},"RaIeCoy0TaT7nV1cq7Fy7":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tileheight"},"y1hLc-MKa6ZqvLD91mYGX":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#tilewidth"},"K4eJ3Fnp6sCUrcUjUfJBw":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#version"},"5emw2OMMxQR5Tr8WGqrHJ":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#addTo"},"pRnA9ue07g2LJUXJxkcl0":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#constructor"},"RRMNqTGTrKtwrrIOVa-vL":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#destroy"},"KtXcdBmvPJuRrR0E4PRTN":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getBounds"},"PMIGh0dNBDKNCuaLuuKTV":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getLayers"},"gaf1jdnOT8ZmDmz-_TkBc":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getObjects"},"1aEAlDSZDg53QF7JejNba":{"uri":"/melonJS/docs/melonjs/TMXTileMap.html#getRenderer"},"wiuxxpDAaM2rBGFc1XMzq":{"uri":"/melonJS/docs/melonjs/TMXTileset.html"},"tYPBRdvb4wJCVGjv2VkGS":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#class"},"hQGS9mc36fa3TSwyeEm6S":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isAnimated"},"fso0qEmNxVp_unsUqcs9-":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#isCollection"},"LBZcmy-qubnOt8_bbvSGJ":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#_lastUpdate"},"BFeRiyUoPaJNsiZkAaStI":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#animations"},"Gz8q5cmwUfHQvtM6NHZdi":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#constructor"},"KTSOvQHTp8g52EdYn32K0":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#contains"},"cIOd3zJUihDJBT4MbE_lw":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileImage"},"7CXerFpROMWDblQ_8cccK":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getTileProperties"},"r7KpqM5bivXJA6YgqQcNf":{"uri":"/melonJS/docs/melonjs/TMXTileset.html#getViewTileId"},"TWokDBDOFL4AawQyOcQTg":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html"},"cBHQR-Rd4CXbMXBw9DC_I":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#add"},"7OjccFBprB6Oq8NLTHPcB":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByGid"},"SrMYW7QUF-JMow34sE_q_":{"uri":"/melonJS/docs/melonjs/TMXTilesetGroup.html#getTilesetByIndex"},"cAgcjWIEuuS3nwcDV-QpS":{"uri":"/melonJS/docs/melonjs/Trigger.html"},"oH4D4Q8gOUIC6cMeh9zKe":{"uri":"/melonJS/docs/melonjs/Trigger.html#alpha"},"iSWtIllOy0fSobuvOUkz7":{"uri":"/melonJS/docs/melonjs/Trigger.html#alwaysUpdate"},"7rjPLWVgRSz9rzvs3tL0X":{"uri":"/melonJS/docs/melonjs/Trigger.html#ancestor"},"Bi9NQVLBGb9QU5YXQ-9nJ":{"uri":"/melonJS/docs/melonjs/Trigger.html#anchorPoint"},"iq8IJRtxO3YnPf3R7O70p":{"uri":"/melonJS/docs/melonjs/Trigger.html#autoTransform"},"T2tVzLrwGIZrzCfdt8rro":{"uri":"/melonJS/docs/melonjs/Trigger.html#blendMode"},"xC7W3zg8FzYhqkYzXhE0N":{"uri":"/melonJS/docs/melonjs/Trigger.html#body"},"qFFWXzYH7OxRskbb59pnp":{"uri":"/melonJS/docs/melonjs/Trigger.html#bottom"},"rESIJ6zrxPNxAZoZtCDkh":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerX"},"XCJgC0120308rNcmN412W":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerY"},"QLAaaRR2JNYiI_TFdh-8X":{"uri":"/melonJS/docs/melonjs/Trigger.html#currentTransform"},"KJkoGdIBATzGlLQhamjwO":{"uri":"/melonJS/docs/melonjs/Trigger.html#depth"},"XnZlbQ8BpzKNaN5ecDlP3":{"uri":"/melonJS/docs/melonjs/Trigger.html#floating"},"n5xU26_6vhE9N_fps1dAC":{"uri":"/melonJS/docs/melonjs/Trigger.html#GUID"},"_F0kqRpNYYCxB0w9xz9de":{"uri":"/melonJS/docs/melonjs/Trigger.html#height"},"i6CeGDM0OLD88lbmEf-RJ":{"uri":"/melonJS/docs/melonjs/Trigger.html#inViewport"},"ZCv1xnFJF7JO2aBL7_0ra":{"uri":"/melonJS/docs/melonjs/Trigger.html#isDirty"},"e2U3qhMd-txnQEPNc3gWQ":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedX"},"Oi6HfrcarZ34cjER7Tah2":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFlippedY"},"46weqQ5kWptwy9aU3QkMz":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFloating"},"2jiUbzheSbBJos-vL-A-x":{"uri":"/melonJS/docs/melonjs/Trigger.html#isKinematic"},"UNIfh1NfPY8gtlzaqGrDS":{"uri":"/melonJS/docs/melonjs/Trigger.html#isPersistent"},"RzYqkn9UgUzCLEjMNzfvP":{"uri":"/melonJS/docs/melonjs/Trigger.html#left"},"XW-xCMYQQ9ed_JBX1DQ3R":{"uri":"/melonJS/docs/melonjs/Trigger.html#mask"},"SoAfpgpDiBMqUe6RzM3BX":{"uri":"/melonJS/docs/melonjs/Trigger.html#name"},"DRkHCD92PPAlxpNuX9zOX":{"uri":"/melonJS/docs/melonjs/Trigger.html#onVisibilityChange"},"91v0aWRVEcTQJiXe9LJiX":{"uri":"/melonJS/docs/melonjs/Trigger.html#parentApp"},"UvsVF888WVUa06yDLU6Cz":{"uri":"/melonJS/docs/melonjs/Trigger.html#points"},"DSGBogBlNoPZox15xZZTn":{"uri":"/melonJS/docs/melonjs/Trigger.html#pos"},"UqqgPTbjb4fKK7gqmok0x":{"uri":"/melonJS/docs/melonjs/Trigger.html#right"},"tTGg6osWPc_ccDYa3UQCN":{"uri":"/melonJS/docs/melonjs/Trigger.html#shader"},"w3kFUfmH9ffyyElHjaSJR":{"uri":"/melonJS/docs/melonjs/Trigger.html#tint"},"ve7-X9ZFjbEao6faTWGJL":{"uri":"/melonJS/docs/melonjs/Trigger.html#top"},"9FReKXVga2zIUznDmW7SH":{"uri":"/melonJS/docs/melonjs/Trigger.html#type"},"Rm6ixMJsMWJ_kSDdL0WG2":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateWhenPaused"},"DW51CKR7m87bJoqAy3tXt":{"uri":"/melonJS/docs/melonjs/Trigger.html#width"},"GavHgK8sq_YFyWdkgQQpG":{"uri":"/melonJS/docs/melonjs/Trigger.html#angleTo"},"ScFCnXDfyaBCqk-b79Ikg":{"uri":"/melonJS/docs/melonjs/Trigger.html#centerOn"},"AwMO_cwiyYS7uwQKCEw2s":{"uri":"/melonJS/docs/melonjs/Trigger.html#clone"},"h2_c_SGlWKWwllucZpj_7":{"uri":"/melonJS/docs/melonjs/Trigger.html#constructor"},"th_kXskuJaGjEg5cj1luc":{"uri":"/melonJS/docs/melonjs/Trigger.html#contains"},"jjR7X2kIaeEs_FyIrshKn":{"uri":"/melonJS/docs/melonjs/Trigger.html#copy"},"coQG3T_V42c-vHFo8vONR":{"uri":"/melonJS/docs/melonjs/Trigger.html#distanceTo"},"nQqD_jqQPcQoTw5dbIMBs":{"uri":"/melonJS/docs/melonjs/Trigger.html#draw"},"OdVhEBfiut60td7U5s6gm":{"uri":"/melonJS/docs/melonjs/Trigger.html#equals"},"0yWnNOM6a1vEuDA1QSz1z":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipX"},"9Hc-7aMu4nSmiGXi9Apl3":{"uri":"/melonJS/docs/melonjs/Trigger.html#flipY"},"cRGJraCgBbrN7rGrJsDqQ":{"uri":"/melonJS/docs/melonjs/Trigger.html#getAbsolutePosition"},"q0AF112mSHItHmLIrng-z":{"uri":"/melonJS/docs/melonjs/Trigger.html#getBounds"},"D089k59bx6L0E7nDXLEd_":{"uri":"/melonJS/docs/melonjs/Trigger.html#getIndices"},"J-1zNq63dWE_D584s_B2c":{"uri":"/melonJS/docs/melonjs/Trigger.html#getOpacity"},"g3DP03PYInx3yJUJrR96v":{"uri":"/melonJS/docs/melonjs/Trigger.html#isConvex"},"5Wmabp5_CEnvz1S01_bLV":{"uri":"/melonJS/docs/melonjs/Trigger.html#isFinite"},"FGtSR1CWYmmEj2t_r9jaS":{"uri":"/melonJS/docs/melonjs/Trigger.html#lookAt"},"HeAxULY4AxS41OKPU31Sr":{"uri":"/melonJS/docs/melonjs/Trigger.html#onCollision"},"C4g4TAEyPMJg7TRrQZlwM":{"uri":"/melonJS/docs/melonjs/Trigger.html#onDestroyEvent"},"omygMy8riqBf4Lg-0e_rQ":{"uri":"/melonJS/docs/melonjs/Trigger.html#overlaps"},"fEVyXqJSpgQdV_b1aXZPO":{"uri":"/melonJS/docs/melonjs/Trigger.html#postDraw"},"LEOCA1_cPtGqqjqMqIPab":{"uri":"/melonJS/docs/melonjs/Trigger.html#preDraw"},"sFePy5Mhyewtt7-fD2Iot":{"uri":"/melonJS/docs/melonjs/Trigger.html#recalc"},"zQ6XnlaITiJ-CYrJoqCcC":{"uri":"/melonJS/docs/melonjs/Trigger.html#resize"},"HHYin7w9nubquPAvp-eid":{"uri":"/melonJS/docs/melonjs/Trigger.html#rotate"},"YId9Kr-2kD3uxvRD56LUa":{"uri":"/melonJS/docs/melonjs/Trigger.html#scale"},"T48sp2DEp7FdhLeLYIs3z":{"uri":"/melonJS/docs/melonjs/Trigger.html#scaleV"},"GTCQnvwuuh7up2MpHtPY3":{"uri":"/melonJS/docs/melonjs/Trigger.html#setOpacity"},"eCMQPgolqrIM39tOGK3I1":{"uri":"/melonJS/docs/melonjs/Trigger.html#setShape"},"pB2A-UDfYkD-I33J8eUJs":{"uri":"/melonJS/docs/melonjs/Trigger.html#setVertices"},"QMjNzUIGqozcia-D3fKz-":{"uri":"/melonJS/docs/melonjs/Trigger.html#shift"},"SrqrT9Ounr6mfSaR72gMg":{"uri":"/melonJS/docs/melonjs/Trigger.html#to2d"},"3j5-4E9rjbzxC6xyatUQg":{"uri":"/melonJS/docs/melonjs/Trigger.html#toIso"},"3Asqdflj0EzlVR30ccicf":{"uri":"/melonJS/docs/melonjs/Trigger.html#toPolygon"},"8kRRiUD0Gi4_SWwBfkd9C":{"uri":"/melonJS/docs/melonjs/Trigger.html#transform"},"0NmSx1m87kkNpgpCZ2_Xg":{"uri":"/melonJS/docs/melonjs/Trigger.html#translate"},"MxSR--DZo2TDfkpvCkKAr":{"uri":"/melonJS/docs/melonjs/Trigger.html#union"},"A5B9g462kGOaEPeMKQC2A":{"uri":"/melonJS/docs/melonjs/Trigger.html#update"},"5blsqkGeneyEW4sz_iM9o":{"uri":"/melonJS/docs/melonjs/Trigger.html#updateBounds"},"VnvXrWjat50Oe2Pdgx08C":{"uri":"/melonJS/docs/melonjs/Trigger.html#triggerEvent"},"GC12Zei8ua22p1QjqVApL":{"uri":"/melonJS/docs/melonjs/Trigger.html#onAnchorUpdate"},"m5Iy7ZlCkYWvVx_0WTTVP":{"uri":"/melonJS/docs/melonjs/Tween.html"},"Eez9T9MkvhbBWDOWhoJF6":{"uri":"/melonJS/docs/melonjs/Tween/Easing.html"},"3WPqjE1RJ3Vps6UDwDjPZ":{"uri":"/melonJS/docs/melonjs/Tween/Interpolation.html"},"tcyfEv2qElFjgRZ0WGB1t":{"uri":"/melonJS/docs/melonjs/Tween.html#chain"},"DvSxrmWWfIlhASLTJ6Eig":{"uri":"/melonJS/docs/melonjs/Tween.html#constructor"},"DBbeKH1bPVtsJQv-u4R3Q":{"uri":"/melonJS/docs/melonjs/Tween.html#delay"},"deJnOd_z5MimbsUT6JhXt":{"uri":"/melonJS/docs/melonjs/Tween.html#easing"},"3rgaS39guzQJT3lFAA0NT":{"uri":"/melonJS/docs/melonjs/Tween.html#interpolation"},"pwimGzn5vIzuN9to3bbxI":{"uri":"/melonJS/docs/melonjs/Tween.html#onComplete"},"GT3QGhkLFRQNEx2rJMdWf":{"uri":"/melonJS/docs/melonjs/Tween.html#onStart"},"V8npDB2lvSOUAxRIIAiiY":{"uri":"/melonJS/docs/melonjs/Tween.html#onUpdate"},"x6aAuvCYviOBRcoMnVxiu":{"uri":"/melonJS/docs/melonjs/Tween.html#repeat"},"EzVjm_TeR1lD90wQd7Hiz":{"uri":"/melonJS/docs/melonjs/Tween.html#start"},"ZgvQzU35In5o5QhrMTGnc":{"uri":"/melonJS/docs/melonjs/Tween.html#stop"},"PR41fhaDr1L44SK3NEIE6":{"uri":"/melonJS/docs/melonjs/Tween.html#to"},"QuF3Gw_noQVMJpJ_twAb4":{"uri":"/melonJS/docs/melonjs/Tween.html#yoyo"},"Gd9sCCFDWw24vFy1EH4wb":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html"},"SKi1HzLCWFeql2-_XMmqu":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alpha"},"2ZJFvwnX7uM2aLKMEu1IE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#alwaysUpdate"},"GrkzoB0PNOzRHxjZyTcwx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#ancestor"},"183Qpg5TI-9yGSFvmnSV8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#anchorPoint"},"4CWC-d8GQT5Pjx__qOZgk":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoDepth"},"17g0Nq2lvHz6bzjTvhROT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoSort"},"oFzJA0LN16rPbcPiHl7dV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#autoTransform"},"JgvG4f-9ZEp7w2wb7WW1d":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#backgroundColor"},"d2Kpgrcae8RvrPdsNQZNb":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#blendMode"},"bS9nYE4yTC7Q34X9I00cN":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#body"},"iPxDvFuoD1rPGSOhf1X_6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#bottom"},"R87EAUjn8eIaJW44_hS7Z":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerX"},"KgGOPCsvySBl_vZ42BGc8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerY"},"jdj73eUMkXWDGJRVFynFo":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clipping"},"GCfQ1vBnKwYMsGj6i81Pe":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#currentTransform"},"7-ogTi2n-qybDH6yPzdXd":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#depth"},"sjmEuH_83g7yyUqg4lWwF":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#enableChildBoundsUpdate"},"ZSmmOLaQrhy8RWtgKktwJ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#floating"},"HI3lnLVxFxoibbTv5hSha":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#GUID"},"B9rvo1WSR8sY6RfHZetJZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#height"},"zMZ2eg4oh1B4T7pFNXigK":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#holdThreshold"},"Ztxfy4LUX0QlkA2ITSxa3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hover"},"mPynyhCUEL4Ts5prtwOe1":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#inViewport"},"3yJN2Fthp5uuD74Jtg7jS":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isClickable"},"O43aX5aqh86FA7BsarrYq":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDirty"},"xEtBYlLd_1SucKN3Yclil":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isDraggable"},"qIZvLSC_-Ht8IzxB77HlA":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedX"},"iV7vJMBhv2TIwqCwQrN8I":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFlippedY"},"EGaNM1zMcqAnNZUBDWaiA":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFloating"},"dflyrUbmpI4UYf8fC9Bcv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isHoldable"},"GtMG68_0tznBZRVA2DnE6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isKinematic"},"CLPMldiZm_fuzcvywe0Gx":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isPersistent"},"JuhFS860bqmcDz7G0a63u":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#left"},"uGJh9KxR-sQSEt8fZHTyQ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#mask"},"oHP_0399KvfuuuJryrwVE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#name"},"IzLJKDOuirn4Kqs8Sy_P3":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onVisibilityChange"},"b211kw0TP408Glf212pWT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#parentApp"},"iCG-LCCBr760VMYasdzhY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#points"},"w8BJk_cWfVMZS9lGzFnfi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#pos"},"OFTD30dPU5yzAKRcrnRdD":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#released"},"WWcgyUo5vWP3cgTKm_A04":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#right"},"ljfHWSLOTnMA0GyNgVYe7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#root"},"9NanXfEhMCYiJ36BvkQpY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shader"},"kxjNgWLr5vW28A6pQvgIg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sortOn"},"-_lQkDpPEmC7rs5dYlVlT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#tint"},"TgimITa3QH2M1YmvhiZkF":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#top"},"6631yiCo4VFl-0oxgZ7r-":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#type"},"zZ0NdL1Cbp-S8G4G22U1d":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateWhenPaused"},"yaMZP_qSkAHfZkJZ5AM18":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#width"},"8CxXy4EqOPvxTNXNDdXiu":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChild"},"2rZHuqNZZgOLm5y-qo7f4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#addChildAt"},"Pu57Kskiay_K1nIwtiCd1":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#angleTo"},"7le1yOB7DsTiJRyj3d-gE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#centerOn"},"mbweDw-sIsbeAqmXrDOPv":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#clone"},"yoOGk3XEOcvJ_YC50VMst":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#constructor"},"Y3l2VEkMyuB9DGpWbfKX5":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#contains"},"7ZwjzD60esg0UmGEMtEJg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#copy"},"Cuukh5qvX8iUdnc5CL7Po":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#distanceTo"},"QIP4DKQwYOEXyyBO6elWy":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#equals"},"ga-WACio5-8H8CGpm5L9S":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipX"},"zT_y2kCVXWXWDNl3wH0ru":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#flipY"},"BHPcGwFfFyVdvfl__F6TK":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#forEach"},"zlxBAmPvZcTCrneYmXLeb":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getAbsolutePosition"},"ff3DW05CroXgbzK3zuoOc":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getBounds"},"Egt0dPnD6Zpp1HlMP7qZ6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildAt"},"19MLIHN2Xp7SPDs9PzZ7m":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByGUID"},"TdYjze2nnKrAFjOhygvX9":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByName"},"nByDLZtDt8PfudYNVzpD0":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByProp"},"pYsV1NfMinuz66JhanBMC":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildByType"},"JrfbVA4AXheI620sd9OaY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildIndex"},"O9EY1HYsOxZD5_HkJZP3_":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getChildren"},"dLiQzSp9U8lIt8_QMJbBY":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getIndices"},"ipMXN5SO87dNKuDAuDtbt":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getNextChild"},"3FvUx2AUSd8GsaKfo-zyo":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getOpacity"},"HtNgFPTMfBs8qTSqlayAw":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#getRootAncestor"},"FLeuAjTk2jDQpn9oLUTNs":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#hasChild"},"43VsBMx_nSOJvb17Yvw0f":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isAttachedToRoot"},"QAkoE9qgwo9r7vzZGNAzi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isConvex"},"3PP3a_UV6O0KGRoSKVgbM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#isFinite"},"Abrq_--YSwPB3TsrvN7eD":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#lookAt"},"T_JK8Gm77C1lo0wnLUiw6":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveDown"},"ec5FlNu2CiMbcv_na4kFo":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToBottom"},"JT0CbMFparYDdWYWyIwdZ":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveToTop"},"32wQxVGZWLPEHGdcpeSw7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#moveUp"},"XqNe_y694I2UNmCRLgLT1":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onChildChange"},"TrNYF37SZnob4Ag9B51Ld":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onClick"},"wh-skn5Txy7AGTMtUzPhE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onCollision"},"7xe5M2b7AJVuQdhDXT0Hl":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onDestroyEvent"},"V_IJjSDpYc1E5mNiyyPyM":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onHold"},"pW47u_fYlwR1mH5jms0x8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onMove"},"KseZCgLN8CClk1i9HNIvB":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOut"},"U4s0JWlbm4z5fOKTKKfnz":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onOver"},"h3DONG0dn3t8_BdXvWnSX":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onRelease"},"XLwEqCn33FoKHdJhyzk4l":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#overlaps"},"QfN_OfCJ6sSFLGf_5oGBK":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#postDraw"},"TSBaZg_3joeQn34wo_9y7":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#preDraw"},"ndUap1RCbcGYMNEMJBUvp":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#recalc"},"ZxdDDGX7n5gZqhCriSMhi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChild"},"LJfFLSbyVVTV_yyCtrEgW":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#removeChildNow"},"Mk2BNuVR4W6AmV_FlAXcl":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#reset"},"IVgFFMHTrk7qas3LXtFWc":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#resize"},"7UXeNg9VhjLPkMkKOeRA_":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#rotate"},"tdHoFgjU14oQ6j_FwHoVd":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scale"},"v4OUmqOiP8WnytHiBFJ-q":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#scaleV"},"825Yq8h5GoD58Yi2FawtT":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setChildsProperty"},"ruE9XnO69TItgFI9sB2at":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setOpacity"},"dxjEKZpBqCP70cJ_QAx_2":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setShape"},"dSYM1-B920H-A2CecC9Oe":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#setVertices"},"-Hor9mgMY6Bzn4f6Y2Nv4":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#shift"},"DvVndn-iICdffai0dLIRS":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#sort"},"J-s965XVKORxPSbYc7hIb":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#swapChildren"},"q1dR5zEEF8vCrKMQWwFMi":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#to2d"},"xa-boNUxQVqvrUzSm94Z8":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toIso"},"Gr0ToGTwXNuG2Xb5PaVKg":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#toPolygon"},"9OAWza_GSV7D2XQQrtovK":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#transform"},"MuMS_VTFKnhitb6xf-s_d":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#translate"},"spHEFfecYL5kM__JgXrIV":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#union"},"46ftQWqx150y6XjMl6hrq":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#updateBounds"},"WfpIQvNRArr5cpphVqpCf":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#draw"},"ihjOd5ddsWs0zotrsMswE":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#update"},"ov8ArsFs5XUS1tAn6aYer":{"uri":"/melonJS/docs/melonjs/UIBaseElement.html#onAnchorUpdate"},"LxboBSTOUV7ZwBFlos16v":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html"},"Me0dRvUB8gAl3ZCHKy3W4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alpha"},"q2R8Ap8O6LEX_Z0Jn6j_u":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#alwaysUpdate"},"3X3qIM3FTBVrUzfubk68A":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#ancestor"},"9TRlwTo2CyraA-hZrO1Iq":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#anchorPoint"},"_Q8JDTH1eoNxsY7u9auqI":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationpause"},"wXUeyMZwqwHE89r4aTK4Y":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#animationspeed"},"Kzu6Ae1hOwsV0uhkpREdl":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#autoTransform"},"tjLC9Qkk0sKObYc1eMkh0":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#blendMode"},"KgPaHKkRKb6AFTyqDMSPt":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#body"},"_NLsEPd9Nt4boU8S-gj49":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#bottom"},"Fkx0F2nHfpk4OYhbgOBZY":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerX"},"3oYyVYh5F6A1Oycuj0a-V":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerY"},"9YUtUSdDIYr7KXldw8wt7":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#currentTransform"},"UD8h4dKXVLcZNLTSAqnsi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#depth"},"GtiaN3rTqGG_9X-3sApnJ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#floating"},"nnFsvChA-RFOr581uweDk":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#GUID"},"WjbXwGUENrk1hBiiAwAY-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#height"},"a312cHyUZjIHSPQlnz16u":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#holdThreshold"},"Wc6wWCrf7CoMv4V2lmvSX":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#hover"},"GgYIPS9IX8arAfDoabkRQ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#inViewport"},"Ka49wVJJNrxboOisSOfmU":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isClickable"},"LhZfIa_Jt97r-SsLAIsdB":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isDirty"},"M3n0rkn5kRMMFJpCoDZWy":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedX"},"5a5FvwzYntuQlO5A6YtC8":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlippedY"},"_6GV-1KBnj1COhPly1qz9":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFloating"},"GTv7SZY18Y_gny1TJvfkx":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isHoldable"},"VPb8uuyMXENB839KqbVhn":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isKinematic"},"V9TlbRU2t6mEenHjGJ1lF":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isPersistent"},"m5VNzNW3EoZDYNaLqKiYy":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isVideo"},"45zL_9-GcxZa4_Hwx9CEd":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#left"},"Gow7UKMBOP2wFe4NIUnVH":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#mask"},"J3rbz6BUWaMkyNWpUiiJv":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#name"},"nfeYKBwyFa3R0XmroJ0KA":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#offset"},"iTZwlMwN7Kme8fPFjHvHU":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onVisibilityChange"},"ro-rCcxe8BrtAGQcHhnoL":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#parentApp"},"PxvWViJhbjnY_QjXApkiP":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#points"},"2uupK5LKk99d-Sf0_7jAo":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pos"},"S0gZdQVDDUrCK28-dC2gL":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#right"},"zEqJx3eMJpC66VMWM6Tkb":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shader"},"WAUAXf7JmwNwYogsQRING":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#source"},"hxV9-M9T39K5Bc2XVLB-H":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#tint"},"k1Sw9ttYzK-AwJfe4nKLe":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#top"},"zXZijaD6b6HJmFWb1SxVc":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#type"},"xLFdwUW1LsdX_JdoJrnrr":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateWhenPaused"},"SmNkqBInYFy-9hDEMSn01":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#width"},"4-_eHXZBBF2X_oTkxVoYi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#addAnimation"},"vyb3j306k1p-NlzMXHgpw":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#angleTo"},"9_y1cqHDtatrNSSBvPA5d":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#centerOn"},"_HjKBqDm6FmcVOaTxwNEi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#clone"},"oUpaMtRK2H5yTiGseBixi":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#constructor"},"NyBsmruN_SeiVuwYVyh6O":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#contains"},"3XT3rKzB59SZ-3sSwaBA3":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#copy"},"J0vvinA2_xnDiRPiHVWU_":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#distanceTo"},"ntE13sjtf5oEjHJj4PTUq":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#equals"},"FSip1gv07wmSI6fSsTd1k":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flicker"},"_rCwkapY9NSD-WggZ_xWs":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipX"},"p6ahBRttzUzcMEU1ZVjfR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#flipY"},"eWixvzNdFQgJiIQ5to5Mk":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getAbsolutePosition"},"oPoARPPAWfnP5Y7-egeDV":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getBounds"},"20mxAb4Aayw-LFMz1djXn":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getCurrentAnimationFrame"},"S6rL-PIssMXS9eNtLdoWp":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getIndices"},"rGkEf4qAtb5-Mz3VbZ1xB":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#getOpacity"},"UUlgPV8GHJJFLOPK-go6L":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isConvex"},"pImAl55LJrC_K42G7uTG0":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isCurrentAnimation"},"aQYpiQwy8_WzEOzKsnWwZ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFinite"},"apXit-dpkcO2a1Tlds8fV":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#isFlickering"},"yiPnaZH81rbiEc28HR2cr":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#lookAt"},"6m-138Flt3N7ZXM9yZLnR":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onClick"},"02z0akD7ijQo68ZLoOv7S":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onCollision"},"rgpqctVUsr9K37Vik22JA":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onDestroyEvent"},"f-xJJBEUyraAXjmXlSmii":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onHold"},"5hLWXpUizmwGjUjtrrGTj":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOut"},"bvHA29IQBzA7rHMy1KU4x":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onOver"},"Ju8DdadZe3wWJL_9kzQFV":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onRelease"},"0sTJIq3dr8kAdgLzreRQc":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#overlaps"},"5jBY0f76rrKUoRyUNGY-Q":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#pause"},"g-8vgWRGTlXPzijNdCOix":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#play"},"tr-s24y8SFzktOPwW5w0p":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#postDraw"},"lUL0S75EWEEaTeuNBi_MV":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#preDraw"},"gjX5L81onp9m0fkC7M1ma":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#recalc"},"Os8xE9hDStNsXfu9FXuy-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#resize"},"WPkuAc9emSw7ooVh71Fqd":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#reverseAnimation"},"iiUdwN6WWBUqbCVBWzUnN":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#rotate"},"SYxht9nZTGW___NPTELt3":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scale"},"vhtzVxP6V6PlLxot9YIGg":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#scaleV"},"Wf1nvFLKbx1FIOfHXb5CP":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setAnimationFrame"},"NVgN7PhQ8sUFKI3gkRSg_":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setCurrentAnimation"},"HoDeerr91BusE87Jx6A02":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setOpacity"},"Dkmiqsu1RwT8DQffzOA0o":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setRegion"},"buQhM6e5JFbu5zrsPTptj":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setShape"},"oP47OXfF5gVRhSW1U281H":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#setVertices"},"bWfeIq6ztSYbi1QLw1oSx":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#shift"},"aisNuQPrI9h_xfqwID4Fp":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#to2d"},"Ci3l-jjlPk7pu-Jn3hd_b":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toIso"},"0nlpWn0Lkpl-rNOrTIz_2":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#toPolygon"},"pNHNLVreulM7vfdie5HZQ":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#transform"},"cJ_n5OUNbjEF5hs9N9gI-":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#translate"},"dgwfVInK4w8vmI8DnHU2l":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#union"},"rGeAqbxwnGUxR3tjCu1w4":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#updateBounds"},"9NBEIVUmM6M0ao2h_3q1g":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#draw"},"PPyd72wJwodM1vMiDT003":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#update"},"G5X2pE3kjtHDIzRIt_T_s":{"uri":"/melonJS/docs/melonjs/UISpriteElement.html#onAnchorUpdate"},"M28fa91W2Sn2vkVR1_ebQ":{"uri":"/melonJS/docs/melonjs/UITextButton.html"},"2-riwsLCJCbuyabqn1ZWM":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alpha"},"95DVIFVts68fq4fTmtBm4":{"uri":"/melonJS/docs/melonjs/UITextButton.html#alwaysUpdate"},"feXa44MznLaCo9JvrNIRK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#ancestor"},"tluiG_2aq9xp8J8CjTbn9":{"uri":"/melonJS/docs/melonjs/UITextButton.html#anchorPoint"},"7VhKRAbQhDM1TsCSd-kI1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoDepth"},"kBApNq3tcDV-T4vFOgbn7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoSort"},"IQ7xO_J24xgqNEZ0H85lg":{"uri":"/melonJS/docs/melonjs/UITextButton.html#autoTransform"},"RDeUi0aFB5y0KL-n_GFo5":{"uri":"/melonJS/docs/melonjs/UITextButton.html#backgroundColor"},"oGk0l5EfOVoWeIaPGGAxi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bindKey"},"e_dIUelxkANxdwNj2hxlt":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bitmapText"},"hSxWWI6mqG4JECj00NUr8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#blendMode"},"H1ES8q-ORAg9pyzP2md--":{"uri":"/melonJS/docs/melonjs/UITextButton.html#body"},"2Stg_QgZva91wDKoYc09p":{"uri":"/melonJS/docs/melonjs/UITextButton.html#borderStrokeColor"},"TdjpwZ7ycfVFU-g2JVfO2":{"uri":"/melonJS/docs/melonjs/UITextButton.html#bottom"},"yU02W_vv7U7eYpPoeYdvn":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerX"},"NIlxg7GGV5IE2ol9_0XN7":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerY"},"95i0ZrsWASo4ky0ay_wBY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clipping"},"DYIcdnweWwXYCYOyo8o0s":{"uri":"/melonJS/docs/melonjs/UITextButton.html#currentTransform"},"rNiuh6tAWbRjHufBx3_T6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#depth"},"QfXETiCHCqZgwgPzV6QtR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#enableChildBoundsUpdate"},"oduwGgCguafoQQ4kYINyx":{"uri":"/melonJS/docs/melonjs/UITextButton.html#floating"},"Xs1oWY4ub94JgLosFremL":{"uri":"/melonJS/docs/melonjs/UITextButton.html#GUID"},"DPMR3yv6K1eUUrJLo2kAJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#height"},"mQk3hAIy2cRSt724hgogJ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#holdThreshold"},"NcDBbLzx6fODMcPkGbqov":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hover"},"B_fGdukEl1nz47dqrVPK3":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOffColor"},"yL7r-mKtE8vGXbd4YyDtG":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hoverOnColor"},"OAFX2Cz2Yj9LpWatqtyZS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#inViewport"},"WYKrhMrlEfZXKOIyppjDF":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isClickable"},"yDk70FXWGHoUoM7yxbNt-":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDirty"},"yrlQslGf33_lxGGDUUqt3":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isDraggable"},"9oVASOJOh5jsn0k9_tIot":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedX"},"Yqb3xmfbGig8iy1PmPpoF":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFlippedY"},"ptD3WCjxuD6zbB80snyJ4":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFloating"},"YDYJfpQWxEsHgpp-UAJhs":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isHoldable"},"ccH9huNW5XOnPCkM3eUw4":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isKinematic"},"RAawgtOeLYCvUiC9zd4Gk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isPersistent"},"HdZXQwx7b5aGvrYGlNv6a":{"uri":"/melonJS/docs/melonjs/UITextButton.html#left"},"u5X7YD3kr1yQRqd3Z_pcI":{"uri":"/melonJS/docs/melonjs/UITextButton.html#mask"},"djkpgsXzkVgbuvQwEze3T":{"uri":"/melonJS/docs/melonjs/UITextButton.html#name"},"nUBIHk_8JKY_b-Shh6QqU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onVisibilityChange"},"HbVwQnj7xSysQQ4NAmKH6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#parentApp"},"IjFvlZfPryr72X45un8Me":{"uri":"/melonJS/docs/melonjs/UITextButton.html#points"},"AV0TWSTnXA5obMS1Eoh3Z":{"uri":"/melonJS/docs/melonjs/UITextButton.html#pos"},"ZyhN4EMud-DIWGqaewkgx":{"uri":"/melonJS/docs/melonjs/UITextButton.html#released"},"y7b7xSfnYNFrNMQ0hVvmz":{"uri":"/melonJS/docs/melonjs/UITextButton.html#right"},"lAAKOlBRth0OrtYKWVskO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#root"},"NiEcQ6GBpRNkah8OdcYNR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shader"},"cjPgtO95E_7gH8hpCr8Xc":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sortOn"},"Gs4n3BrMmqAS0LYpiaRJb":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textAlign"},"0yXXSObITeHQdkyqUZL8E":{"uri":"/melonJS/docs/melonjs/UITextButton.html#textBaseline"},"IuYev3THx3zSm2DLZYbd9":{"uri":"/melonJS/docs/melonjs/UITextButton.html#tint"},"XVCZqAp7n8K6m6mpkSV3i":{"uri":"/melonJS/docs/melonjs/UITextButton.html#top"},"ZbwAcnGrmP7sgH1zw5-60":{"uri":"/melonJS/docs/melonjs/UITextButton.html#type"},"iXY5V1FqdenK0Hx08b7zZ":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateWhenPaused"},"ADH4oncBXjlXRXH6TRdtv":{"uri":"/melonJS/docs/melonjs/UITextButton.html#width"},"Jydluu_sj03EsL_GtMaTR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChild"},"6putncqdFyjxZNJaPvWca":{"uri":"/melonJS/docs/melonjs/UITextButton.html#addChildAt"},"eVMvXs7X1Cf7ru8JRPjqk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#angleTo"},"r9rU63GP82baiPZybY1tt":{"uri":"/melonJS/docs/melonjs/UITextButton.html#centerOn"},"rmbUBabspCf5KYZGDjtVb":{"uri":"/melonJS/docs/melonjs/UITextButton.html#clone"},"Tj9LCFu8sEwAFxIm4DcrV":{"uri":"/melonJS/docs/melonjs/UITextButton.html#constructor"},"EdXQUlIt8rYiPzsSdbcFh":{"uri":"/melonJS/docs/melonjs/UITextButton.html#contains"},"R8UWr0xehpsMqU-4Uvztk":{"uri":"/melonJS/docs/melonjs/UITextButton.html#copy"},"7wDKFU2F79Y4CtXMiDP0_":{"uri":"/melonJS/docs/melonjs/UITextButton.html#distanceTo"},"Ozmjow9x2jTQsRxbFNoF8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#equals"},"TBVprdNKNac3dctzKzrBi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipX"},"SgXDCHpO0D7ihfL6qSHn1":{"uri":"/melonJS/docs/melonjs/UITextButton.html#flipY"},"hT9SboQgJJ93Lk9nlg-yY":{"uri":"/melonJS/docs/melonjs/UITextButton.html#forEach"},"lDD_0ktZzd6gHiHnbmd69":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getAbsolutePosition"},"SnLapyeMRPPFCUOkPehRb":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getBounds"},"oC8LdquW8TNmURyth3Pg9":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildAt"},"YwSsHfieQJ_O6N3yIjyXI":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByGUID"},"KVQZjpZlgNKB9dL8yz-Zt":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByName"},"__Vwnw663PBxzZLqoSsPp":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByProp"},"ZF6HhsN3nwsi3j4aCNgz8":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildByType"},"6pphCpLG9cJuu0J9pNj2l":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildIndex"},"Kv39SMf-M2weXwXe39DJy":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getChildren"},"5BdKy7_ngIFgSp7SBoa6Z":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getIndices"},"Qk9cg3sCHwm2pXh5ObBJi":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getNextChild"},"JtiWpmjgYXH_xXDtZK5Uv":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getOpacity"},"sGZ6LsgSk3krRPmW3K9QO":{"uri":"/melonJS/docs/melonjs/UITextButton.html#getRootAncestor"},"vI2iKu_LBpDiVPc0u-W98":{"uri":"/melonJS/docs/melonjs/UITextButton.html#hasChild"},"snLtNg86wyWwJ6IwTPtnq":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isAttachedToRoot"},"sddYdz6Fng4Txi2M00JnR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isConvex"},"lrh7KoMw-P8OczYtdxiLA":{"uri":"/melonJS/docs/melonjs/UITextButton.html#isFinite"},"tpCNso4RUHikCcj4E3YuU":{"uri":"/melonJS/docs/melonjs/UITextButton.html#lookAt"},"szLuXk2qzfw498qztsRvB":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveDown"},"D8mew2yMEBvMWPkcAMY1Y":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToBottom"},"Zd1Rj4ijI-vaOxNFcMAZf":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveToTop"},"3kjXvyoRKEbninFcfb20X":{"uri":"/melonJS/docs/melonjs/UITextButton.html#moveUp"},"qJKE2N_QwrLJRo7Havzwu":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onChildChange"},"rsyzsJx-i_6nsEY2mmk9X":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onClick"},"cj6KtR-eoEBU1BCpPLr86":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onCollision"},"h63U-NETaBLpPbgMdaK3V":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onDestroyEvent"},"F-tstPgM-vk_1Tu03M-YC":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onHold"},"6vR8KrVwJzNYIyU1UrJ2q":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onMove"},"OOuFtrE43YleaLX-xKrwM":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOut"},"3U1-v_5Dq4b0Ag-N0may6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onOver"},"KkRwZa83y_anh1LiuYfLr":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onRelease"},"p7--Hqv2VNK3DV75J-BiS":{"uri":"/melonJS/docs/melonjs/UITextButton.html#overlaps"},"REuOMJJlg57poLUplHiGa":{"uri":"/melonJS/docs/melonjs/UITextButton.html#postDraw"},"m2uBhC3eA3jAFPFdu681g":{"uri":"/melonJS/docs/melonjs/UITextButton.html#preDraw"},"05ow59dlnx86IL47dpI_L":{"uri":"/melonJS/docs/melonjs/UITextButton.html#recalc"},"zxkYm81JghPOLvZ0hyRHe":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChild"},"pNu5OE1UI1MZs9WUN4l5m":{"uri":"/melonJS/docs/melonjs/UITextButton.html#removeChildNow"},"gkCVUK6ACr7_OAZDnY8sN":{"uri":"/melonJS/docs/melonjs/UITextButton.html#reset"},"Gj-BiEjjKkm51PbbG9c0a":{"uri":"/melonJS/docs/melonjs/UITextButton.html#resize"},"KQR-Tu2mpDHGei3a_U-Vm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#rotate"},"IjLVCKVUcWh4ymJFjMf9w":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scale"},"desj9LGCchH6O_8uCwISR":{"uri":"/melonJS/docs/melonjs/UITextButton.html#scaleV"},"h2BqQPwdCYl0amrugPm-i":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setChildsProperty"},"jBWERXQNm0v11QWrl3Wef":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setOpacity"},"GagDTiwMJ-P_fvd1otmVL":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setShape"},"adfJIBQzO4nAGu5M6uzqP":{"uri":"/melonJS/docs/melonjs/UITextButton.html#setVertices"},"mobVda6Q09l0koaRpM9d_":{"uri":"/melonJS/docs/melonjs/UITextButton.html#shift"},"4i2jAcgh9AHMjboiVDMBf":{"uri":"/melonJS/docs/melonjs/UITextButton.html#sort"},"TOFnEOyb-eh-UPGUYH2Gm":{"uri":"/melonJS/docs/melonjs/UITextButton.html#swapChildren"},"1_XFpPH4GGvG_9HFJUaPy":{"uri":"/melonJS/docs/melonjs/UITextButton.html#to2d"},"t5bDArEh4nqYoXK_1oam_":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toIso"},"aBZzSgclzWhdUULsMCpAw":{"uri":"/melonJS/docs/melonjs/UITextButton.html#toPolygon"},"r8Sw_ZwLBWFTR2biMTyRL":{"uri":"/melonJS/docs/melonjs/UITextButton.html#transform"},"Z_vn-YWOm-mbyx2JOfHH6":{"uri":"/melonJS/docs/melonjs/UITextButton.html#translate"},"VGUVsqCs9vUPiXfUK25z3":{"uri":"/melonJS/docs/melonjs/UITextButton.html#union"},"oUFmgad1m1V20CktD5nXz":{"uri":"/melonJS/docs/melonjs/UITextButton.html#updateBounds"},"FZu_FhmS4VAfBDb7j_dWK":{"uri":"/melonJS/docs/melonjs/UITextButton.html#draw"},"wPfN5ShYorhSEGuydgvub":{"uri":"/melonJS/docs/melonjs/UITextButton.html#update"},"dNSJ1OfOG45trwE7DCjib":{"uri":"/melonJS/docs/melonjs/UITextButton.html#onAnchorUpdate"},"wZpUBQ9TCyd5oike4QyuN":{"uri":"/melonJS/docs/melonjs/Vector2d.html"},"xiw4oarlYlbM77NZPagYl":{"uri":"/melonJS/docs/melonjs/Vector2d.html#x"},"Oy6-GQeJdsvF8nK-x-MSe":{"uri":"/melonJS/docs/melonjs/Vector2d.html#y"},"oCnkSR455dfEohYuiwtJg":{"uri":"/melonJS/docs/melonjs/Vector2d.html#abs"},"D7DSzPhoJTXjDju6ErG-9":{"uri":"/melonJS/docs/melonjs/Vector2d.html#add"},"KmiV1gFGBzK8Zcd5OmbYk":{"uri":"/melonJS/docs/melonjs/Vector2d.html#angle"},"h8sT8AJ1R-94zkTSMhzDY":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceil"},"ZMGeOql6Q8BmlWzDBb3zo":{"uri":"/melonJS/docs/melonjs/Vector2d.html#ceilSelf"},"i9Y-kpdNLnt9zZ1oTzFow":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clamp"},"lkfGiaQjNYj5LhDlTeyNH":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clampSelf"},"nsjiyLL74iSaHos7XZrIB":{"uri":"/melonJS/docs/melonjs/Vector2d.html#clone"},"G-aIF7jfcXvIq5V1snGet":{"uri":"/melonJS/docs/melonjs/Vector2d.html#constructor"},"26xT-BmJGyTra7uk7rDKU":{"uri":"/melonJS/docs/melonjs/Vector2d.html#copy"},"DPZ681cYfXv-usNEhgVmW":{"uri":"/melonJS/docs/melonjs/Vector2d.html#cross"},"P-lzFINR69j-nUNnpz2Pc":{"uri":"/melonJS/docs/melonjs/Vector2d.html#distance"},"AzjfGOpZJJfRXUhUqzL1_":{"uri":"/melonJS/docs/melonjs/Vector2d.html#div"},"Edy65HfjLqx3YmP-kU9RI":{"uri":"/melonJS/docs/melonjs/Vector2d.html#dot"},"TMRM2jw0V4D_3S1_4KQfV":{"uri":"/melonJS/docs/melonjs/Vector2d.html#equals"},"omExyYtGtFtibIpweCT2f":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floor"},"6qjAi_ayv_RpQoALrVYaD":{"uri":"/melonJS/docs/melonjs/Vector2d.html#floorSelf"},"pPUfQif06WJ63qk6KMy6n":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length"},"td1hK7R3tZv5otRP0E17b":{"uri":"/melonJS/docs/melonjs/Vector2d.html#length2"},"qvc8Iq8ljesLnr8k3eO7H":{"uri":"/melonJS/docs/melonjs/Vector2d.html#lerp"},"U69-aVsWC539Te2CgNLUj":{"uri":"/melonJS/docs/melonjs/Vector2d.html#maxV"},"cfTr7Df0vpkC2VSGUl1QL":{"uri":"/melonJS/docs/melonjs/Vector2d.html#minV"},"sk19AbebC5ejIra2IG4js":{"uri":"/melonJS/docs/melonjs/Vector2d.html#moveTowards"},"Uwfuf4oAmP_b5abri_x8W":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negate"},"sJjZMy9v3tKrx-EPgdBDN":{"uri":"/melonJS/docs/melonjs/Vector2d.html#negateSelf"},"bX2g9yasjUTudaaezeBKU":{"uri":"/melonJS/docs/melonjs/Vector2d.html#normalize"},"RnBnBGE5ZhywzcHxaNHHW":{"uri":"/melonJS/docs/melonjs/Vector2d.html#perp"},"QpuRQ60yCnCZ39zKCfVYs":{"uri":"/melonJS/docs/melonjs/Vector2d.html#project"},"A_qK89dqaaxkS0j2t7f_e":{"uri":"/melonJS/docs/melonjs/Vector2d.html#projectN"},"KXu3g0OwsswdV5-T54FJ0":{"uri":"/melonJS/docs/melonjs/Vector2d.html#rotate"},"dNHISP17AHwH9T8P9uCXI":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scale"},"gN--aBlN6R9R0WiGuL3IM":{"uri":"/melonJS/docs/melonjs/Vector2d.html#scaleV"},"-oyXbVdVvGvRWkhXFbR4C":{"uri":"/melonJS/docs/melonjs/Vector2d.html#set"},"Rd-GfaoE3Z_g7E8i3pEg0":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setV"},"4v5ZHoJOV5NPYNLKhWlzU":{"uri":"/melonJS/docs/melonjs/Vector2d.html#setZero"},"9GDwqsodp8nhjiAkuFbYe":{"uri":"/melonJS/docs/melonjs/Vector2d.html#sub"},"Go6fhWkSB1k0Emkwtmb2f":{"uri":"/melonJS/docs/melonjs/Vector2d.html#to2d"},"ciuFZTy-MvkeZ8rAjyueD":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toIso"},"frGfDypSY9Ajd_6qznTE7":{"uri":"/melonJS/docs/melonjs/Vector2d.html#toString"},"Z_mTOsVGGGJ9_l1Dlgwgq":{"uri":"/melonJS/docs/melonjs/Vector3d.html"},"6Yfkm1K1j_K2zD8_vdvmM":{"uri":"/melonJS/docs/melonjs/Vector3d.html#x"},"KS0MdtCfX3uuv-EgKcnJO":{"uri":"/melonJS/docs/melonjs/Vector3d.html#y"},"g65LfwePivkMQ1s0Ngpxc":{"uri":"/melonJS/docs/melonjs/Vector3d.html#z"},"GQpN3Xt-EMS2R3FZKW6jH":{"uri":"/melonJS/docs/melonjs/Vector3d.html#abs"},"lB5EYsJT5FFP58EEoherm":{"uri":"/melonJS/docs/melonjs/Vector3d.html#add"},"6iyncfvMcxKTi9tXP2upw":{"uri":"/melonJS/docs/melonjs/Vector3d.html#angle"},"QYgkBRxJxZWiZnGg2ALUy":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceil"},"Bw6PxEA4Ch5ceb1p9U6qf":{"uri":"/melonJS/docs/melonjs/Vector3d.html#ceilSelf"},"RxcNtQ9t3XKszBjfTEqnT":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clamp"},"rk38AW0KmfsAPoa10ZIRK":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clampSelf"},"7N766VIVAKVKxgH2pF3qV":{"uri":"/melonJS/docs/melonjs/Vector3d.html#clone"},"H1TZwMo962250YoKgRY6Z":{"uri":"/melonJS/docs/melonjs/Vector3d.html#constructor"},"u4il0A3j-EEV1HB-HFFyC":{"uri":"/melonJS/docs/melonjs/Vector3d.html#copy"},"vL4AIEp-yHqTrrxJ_abI-":{"uri":"/melonJS/docs/melonjs/Vector3d.html#cross"},"mVJ2LA9s6_zqDxIuWC2AJ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#distance"},"0ubLPvRwqzXCkSM4aYDN-":{"uri":"/melonJS/docs/melonjs/Vector3d.html#div"},"fg6jeB2UKDPKRXOHOOK1m":{"uri":"/melonJS/docs/melonjs/Vector3d.html#dot"},"L6A-VdUE1bZMpSo-Zk_35":{"uri":"/melonJS/docs/melonjs/Vector3d.html#equals"},"-ofX_08iWzhRNIqMQdNH_":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floor"},"kPdwogs0PSAHKmXKl5c03":{"uri":"/melonJS/docs/melonjs/Vector3d.html#floorSelf"},"uGg8dsvletk2lsLk-bzlA":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length"},"Se2GXe2w_73QnAulP15qA":{"uri":"/melonJS/docs/melonjs/Vector3d.html#length2"},"3mu-Rx6D-17pDTmstN0VT":{"uri":"/melonJS/docs/melonjs/Vector3d.html#lerp"},"O9_HFlYngjYp8PqwU1vzZ":{"uri":"/melonJS/docs/melonjs/Vector3d.html#maxV"},"9MBObfzC8D3J1KTgBl11y":{"uri":"/melonJS/docs/melonjs/Vector3d.html#minV"},"OuM-9GqJJdwkDVwo-Y6yL":{"uri":"/melonJS/docs/melonjs/Vector3d.html#moveTowards"},"zvpL6q0kdQXpe5NHlUuOr":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negate"},"mNRuHrpRDRcTCrv9HzyIq":{"uri":"/melonJS/docs/melonjs/Vector3d.html#negateSelf"},"slZ46HftLVRv_mB_hGWQI":{"uri":"/melonJS/docs/melonjs/Vector3d.html#normalize"},"5HCt4IH9cojcITlPI2rhA":{"uri":"/melonJS/docs/melonjs/Vector3d.html#perp"},"rYsg6sGEq317m0585nYIW":{"uri":"/melonJS/docs/melonjs/Vector3d.html#project"},"eTqabBmXi9mWNr991H3LF":{"uri":"/melonJS/docs/melonjs/Vector3d.html#projectN"},"vdhiASwyA-DtBh5je2_RT":{"uri":"/melonJS/docs/melonjs/Vector3d.html#rotate"},"GpK64Qj_IcoVzFQ8oi4uE":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scale"},"Eh6D-qcTZjyAePJhK2J4A":{"uri":"/melonJS/docs/melonjs/Vector3d.html#scaleV"},"KblmwJQl-gfJbEm_NqxS7":{"uri":"/melonJS/docs/melonjs/Vector3d.html#set"},"1MDepQZVWR22zPwYhn_PO":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setV"},"W_Rlu8RxAvaaazNZP_TQN":{"uri":"/melonJS/docs/melonjs/Vector3d.html#setZero"},"Vrhza59NXJvzn2XuCtU0l":{"uri":"/melonJS/docs/melonjs/Vector3d.html#sub"},"6wO5kRpCwm8q0G323SdvR":{"uri":"/melonJS/docs/melonjs/Vector3d.html#to2d"},"0yuoZOxa5_1DAxkpXPSJE":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toIso"},"KHhhvMTXGJnExS09yCNo1":{"uri":"/melonJS/docs/melonjs/Vector3d.html#toString"},"hkL3jHhvJmZK_Kucz9cJl":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html"},"1a8VEulr-i8OopQvoY_mX":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#compositors"},"d9PBuP-kgDAWKdMS4gOo_":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentCompositor"},"oi-tQYZ1EYoJ5xOBjd5sU":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentProgram"},"N5QDa20uby9ZfNnXpFCl3":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#currentTransform"},"fwF92sc90z1GJ0BMXlusd":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#depthTest"},"qb4uE6t_szuPwDYvQD2gg":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#designRatio"},"hO8Crt_BLwDiEK4BhFQ6f":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#gl"},"Xn926_e8990BaMgNAKh-P":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPURenderer"},"D1GzUD2TrMnXCawyxjnEP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#GPUVendor"},"PRTwjovP6pCzsMm2AESQd":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#height"},"sBu67UOcSy9_-LVVWS40N":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#isContextValid"},"sahKXa5ECelDr5ZWE4bDR":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#maxTextures"},"aILC_t-TrhGt4I-7GiiVA":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#path2D"},"Jm6PPhuhgp_D9NnGCJzDj":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#renderTarget"},"we9aQ_nPwfqTceP8yvG1L":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scaleRatio"},"PqMCBSSh8gMW50W3MKr6E":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#settings"},"LekRHYOEpgptvfA_7UYRV":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#type"},"eLxaTFqIuBfjdt2OyWoay":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#vertexBuffer"},"dFT0dO9weLi1Z2zsOIYSl":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#WebGLVersion"},"m3osATwKDtf7SWrXB3fYR":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#width"},"m__As7ysFLbIYVpodDEn1":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#addCompositor"},"Vld4J6cw40J02HG4AAdGh":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#beginPath"},"07F2OzHfr1d7bNZmMPDiC":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clear"},"I6FySIW3FJNzGvN6UwZuy":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearColor"},"3c2JkKG2Hxn8_TUmObd8Z":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearMask"},"Iphaj88x0dizY6COgQE3V":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearRect"},"CqlUueFim2VV49EoNB4w_":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clearTint"},"kwyIWkaZhHIj9K0pTn_Z9":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#clipRect"},"HgEt4XKk4UPebL_u1YdD2":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#closePath"},"59-kUAbdjKJ6hjcuIMHX0":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#constructor"},"h6gx-48kjCZIQWZ7KBZ4-":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#createPattern"},"j6vyXcJ2FTgzea30oSRnt":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawImage"},"wwgl-ymeWx8p9LuiC6XQ4":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#drawPattern"},"b95XsrD2ZoQYP34aQCyIZ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fill"},"TK7d0rA7nJbI0WL1Gq9HT":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillArc"},"LD5ZI9H52BRosiWwblmxN":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillEllipse"},"7O5UTkhWaqKYjiDzrhRKR":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillLine"},"ouZgToxAcojEiobjghbeI":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPoint"},"Zz7FPlxB4ajwGuqRbDfHu":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillPolygon"},"QwbNhxOKyGdhX35zwcGn0":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRect"},"CCaQj7c7Ucb-jLW3rvB7n":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#fillRoundRect"},"9FDAnjQtFU_Kv8WNYK-2s":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#flush"},"f3kPb4_IesIgb7jZZw-nG":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getBlendMode"},"wbZqFVKHbYZOt6kLACzuL":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getCanvas"},"YDk33ix6mnLmzjIe6VSIb":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getColor"},"LSkbqOA0Ep9NDXtgRbDkI":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext"},"SJYfjDgjH_UDgRwlIyXhm":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getContext2d"},"0B5BeVUCDDSXnNbor1CfK":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getGlobalAlpha"},"NWSY0xiVtwKlk0YEGEecE":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenCanvas"},"MIpv2j0m0jyGGNg1NYQdp":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getScreenContext"},"3zcV7luftziHsMZHm-AzE":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#getSupportedCompressedTextureFormats"},"HMXXQWuIUe9tF4cCxY3PV":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#globalAlpha"},"9fwmbykbo35D486BIyIHX":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#hasSupportedCompressedFormats"},"PqEC9t1Zj5zeFlPABYpq6":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#lineTo"},"6LC0Zyxh_ck8Rb4zzxEDJ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#moveTo"},"dv_KU7gS6EEXLWY27xgTc":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#overlaps"},"MufQVjZ7PhJFG_yXoIpCK":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rect"},"q1akyKA8eDOB6b75_ItGW":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#reset"},"7uEeyoefksplebCLsYTS9":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resetTransform"},"Jd1ezB3d3mdoQZkWdi6F1":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#resize"},"stUMG876oZ9_ugWJ0FvhD":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#restore"},"hwERxlpq_GbDbhTuxbHch":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#rotate"},"oZsLm_9X5bMagbDeh8JWZ":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#roundRect"},"hvLXwdm9DUMVptVF5-B4a":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#save"},"FzEtKUj_fGGTRK6JC2Jg6":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#scale"},"WzTpHcqVbnNOekbR2bx4z":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setAntiAlias"},"xFsCvcHFvCjeamakScNR7":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setBlendMode"},"GXnDfjmcd8e8Tx9y_3mCW":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setColor"},"R54EhtLKfm-nuZTJvAETM":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setCompositor"},"z5aD9TpJ7ELx5Yj8UUwBp":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setGlobalAlpha"},"zcGcFUUzQGyelPH6pZmD6":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setLineWidth"},"UGiwpUvvBDGVxiiRKgr0H":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setMask"},"tNUdzj_Wig59qRy9PPOUX":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setProjection"},"3-LrJjdZhupFxntoDbII4":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTint"},"uEm5EZWtH-JBnsPRRVGWP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setTransform"},"fnJSwnK5IAZNXFRl2_Z1c":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#setViewport"},"LauyAMgdtCw6Mz2GmEZYS":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#stroke"},"o3kpVXN3U6NXqC5ycKeyT":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeArc"},"BP7Qxqv-MwZ9Q8cg6buaR":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeEllipse"},"CqdwDKaBmKLNwG-C4WdzE":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeLine"},"jroVElnvIUpHrBSyQSig6":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePoint"},"o303CXeVcLEL6Dr6HEoa5":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokePolygon"},"wphY0CicqRM9-d-WkxeCP":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRect"},"A6r00lmdhT0zGU3xr8YMG":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#strokeRoundRect"},"e8bzsJdw_hKSAiqKLVGlG":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#tint"},"J8G_1WM6kfiBBNrOTgCUc":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toBlob"},"GKje8ueD1jh8Hg1TPAtjG":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toDataURL"},"vzdS4in6R5QtYIbFBLvA1":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#toImageBitmap"},"kI5K2evwS8drYSlqjz9d5":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#transform"},"iZkkYbG4O3Vyt8au4U9tL":{"uri":"/melonJS/docs/melonjs/WebGLRenderer.html#translate"},"Iz_sBQ3v0A1Q8_7YryX7k":{"uri":"/melonJS/docs/melonjs/World.html"},"UdA7B-2moNJHeSw1Uwhbi":{"uri":"/melonJS/docs/melonjs/World.html#alpha"},"Y1F8NE6yNRAarsFUtM7qw":{"uri":"/melonJS/docs/melonjs/World.html#alwaysUpdate"},"anqxZQzE4OMkwP-clf7Y3":{"uri":"/melonJS/docs/melonjs/World.html#ancestor"},"v9qR1hoqA0x-NFEnVSwmi":{"uri":"/melonJS/docs/melonjs/World.html#anchorPoint"},"TWLh19xTMQ9b5gi8kvGRs":{"uri":"/melonJS/docs/melonjs/World.html#app"},"ANEzS4z9ULXa0yldEK3Ts":{"uri":"/melonJS/docs/melonjs/World.html#autoDepth"},"4ZBcNgd6etfMAXxtrRvLd":{"uri":"/melonJS/docs/melonjs/World.html#autoSort"},"kR1O_tWOB1r8MmQy2X5DD":{"uri":"/melonJS/docs/melonjs/World.html#autoTransform"},"QK_mmC98UV677S83HBwyr":{"uri":"/melonJS/docs/melonjs/World.html#backgroundColor"},"UFPKUwE_vYvrH3MWp002J":{"uri":"/melonJS/docs/melonjs/World.html#blendMode"},"JlrPEOKRO04bFwQiol7ZA":{"uri":"/melonJS/docs/melonjs/World.html#bodies"},"Fs04cbo3o8oxgjZ_Uu4dE":{"uri":"/melonJS/docs/melonjs/World.html#body"},"iTVboA2M8IR1YG6nYEZb0":{"uri":"/melonJS/docs/melonjs/World.html#bottom"},"Mt_T1-mi5cvS7ERSQlwGB":{"uri":"/melonJS/docs/melonjs/World.html#broadphase"},"ABavoBBfYtPLK55D7NClO":{"uri":"/melonJS/docs/melonjs/World.html#centerX"},"9tZhM8swQ3wumV9Q4BKXj":{"uri":"/melonJS/docs/melonjs/World.html#centerY"},"KkFIMUdrh9Yihes0PlwmJ":{"uri":"/melonJS/docs/melonjs/World.html#clipping"},"OSjr_3Gum3pdma0k_R_RV":{"uri":"/melonJS/docs/melonjs/World.html#currentTransform"},"bI-6HgfYu8-bhTFj_6WmA":{"uri":"/melonJS/docs/melonjs/World.html#depth"},"nPeV8k_hKZ8HL7NQ3gL0H":{"uri":"/melonJS/docs/melonjs/World.html#detector"},"KfAy_gNqGg58v9jtLby-6":{"uri":"/melonJS/docs/melonjs/World.html#enableChildBoundsUpdate"},"vno3e0yyYQ0eEqxiFYIyY":{"uri":"/melonJS/docs/melonjs/World.html#floating"},"UYiawZaWZWK7zzpQJD4OR":{"uri":"/melonJS/docs/melonjs/World.html#fps"},"lpzQ22WPxnxmB87sZfPVH":{"uri":"/melonJS/docs/melonjs/World.html#gravity"},"bX7BiZQ8r1zZXOY0es0e0":{"uri":"/melonJS/docs/melonjs/World.html#GUID"},"-w0pa2UozqfRihf37bRDP":{"uri":"/melonJS/docs/melonjs/World.html#height"},"fLGM8CMqtQprZq0PtkS8N":{"uri":"/melonJS/docs/melonjs/World.html#inViewport"},"vFHlmLUmqeBM0AHl_YNSh":{"uri":"/melonJS/docs/melonjs/World.html#isDirty"},"5fGJkWjxRJWA4lmHzFMR1":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedX"},"fuRMusxxYKms8mbCkdhPb":{"uri":"/melonJS/docs/melonjs/World.html#isFlippedY"},"qwgSWeO36e_-3sRmgxglz":{"uri":"/melonJS/docs/melonjs/World.html#isFloating"},"u3I6i9qbRNOWfHDNzc9Pd":{"uri":"/melonJS/docs/melonjs/World.html#isKinematic"},"OUuUWJkHvGFGgQ9-qmJ8P":{"uri":"/melonJS/docs/melonjs/World.html#isPersistent"},"xjfthuAGAU0w9X52xAuPD":{"uri":"/melonJS/docs/melonjs/World.html#left"},"v9f1YnVFOBvVgik-GTxSi":{"uri":"/melonJS/docs/melonjs/World.html#mask"},"YY8V37xgwqRYWh7uzZFn0":{"uri":"/melonJS/docs/melonjs/World.html#name"},"DbMNXQJuthU-k0F4bunAJ":{"uri":"/melonJS/docs/melonjs/World.html#onVisibilityChange"},"n4opfVGVYeghCuL4THCq9":{"uri":"/melonJS/docs/melonjs/World.html#parentApp"},"SH9bBRBq49fZb8cxKJyfj":{"uri":"/melonJS/docs/melonjs/World.html#physic"},"nuXNFF5trBxdZTMNG7IB9":{"uri":"/melonJS/docs/melonjs/World.html#points"},"-CoIIB44E1JajebGnV-zj":{"uri":"/melonJS/docs/melonjs/World.html#pos"},"DKPORoA52Q6bJTPogJGm2":{"uri":"/melonJS/docs/melonjs/World.html#preRender"},"_TXsAUsP80zDnR2-fabph":{"uri":"/melonJS/docs/melonjs/World.html#right"},"TwHJglFipcUmyRR3c1bGW":{"uri":"/melonJS/docs/melonjs/World.html#root"},"4WgqU_grJQQWnC4hD0sXo":{"uri":"/melonJS/docs/melonjs/World.html#shader"},"XWWlVhS4fOF7DmdAc3i9U":{"uri":"/melonJS/docs/melonjs/World.html#sortOn"},"c3TQBLaDqmR2lH5kLEYc9":{"uri":"/melonJS/docs/melonjs/World.html#tint"},"6_gyJKES7vCcZPAbpY0h2":{"uri":"/melonJS/docs/melonjs/World.html#top"},"QRY7yyYCOfyoVrzpivIY1":{"uri":"/melonJS/docs/melonjs/World.html#type"},"OvduLY5pye5xsYaik5ofs":{"uri":"/melonJS/docs/melonjs/World.html#updateWhenPaused"},"CxR-u8Xmr4c_gWax7Sz3q":{"uri":"/melonJS/docs/melonjs/World.html#width"},"xup8Hk6eT2OytWC9eJgEh":{"uri":"/melonJS/docs/melonjs/World.html#addBody"},"UyXNDnp5yJrMR3V3M-Qt6":{"uri":"/melonJS/docs/melonjs/World.html#addChild"},"7v92FC23sgCvcTgl1b5TW":{"uri":"/melonJS/docs/melonjs/World.html#addChildAt"},"yOpqJv9St7jmuVn-Hd9bU":{"uri":"/melonJS/docs/melonjs/World.html#angleTo"},"TDf1PM4MUM0JAgBtuYTEh":{"uri":"/melonJS/docs/melonjs/World.html#centerOn"},"RHWDRtJHiBtAdxLkS1WAs":{"uri":"/melonJS/docs/melonjs/World.html#clone"},"MfouXOrKb2pzxpRI5bkXy":{"uri":"/melonJS/docs/melonjs/World.html#constructor"},"dFKgbh8KV5V6H1CPsbSU2":{"uri":"/melonJS/docs/melonjs/World.html#contains"},"fvfi8umyDHp4rCT-5mlY6":{"uri":"/melonJS/docs/melonjs/World.html#copy"},"RI9oXGdVGlxBKQHGQdWfO":{"uri":"/melonJS/docs/melonjs/World.html#distanceTo"},"Qp73XSsWmtHBV1j6iQ3sf":{"uri":"/melonJS/docs/melonjs/World.html#equals"},"7Afm3gWbBmjrQIbzPrPRO":{"uri":"/melonJS/docs/melonjs/World.html#flipX"},"CGYcYqU0tVLKYR2TtHJmO":{"uri":"/melonJS/docs/melonjs/World.html#flipY"},"whDHXXfVVDGjhjOy7snNt":{"uri":"/melonJS/docs/melonjs/World.html#forEach"},"tEID1Erfl5eUVrOKGEvEw":{"uri":"/melonJS/docs/melonjs/World.html#getAbsolutePosition"},"eJ6eyFIGibDxEZW9jILDA":{"uri":"/melonJS/docs/melonjs/World.html#getBounds"},"BZALlASuaJd2NuajfD7Fn":{"uri":"/melonJS/docs/melonjs/World.html#getChildAt"},"IITsrqaHAuuAZUeceDE3O":{"uri":"/melonJS/docs/melonjs/World.html#getChildByGUID"},"pTF-9ELklM4FNz2bxSW8l":{"uri":"/melonJS/docs/melonjs/World.html#getChildByName"},"0EBjdhvXYHcIBzCQ4tQ_A":{"uri":"/melonJS/docs/melonjs/World.html#getChildByProp"},"N-FEhaQxoRrfz6Dm0bV6K":{"uri":"/melonJS/docs/melonjs/World.html#getChildByType"},"jAaFFyeVinEzxpa20YeNE":{"uri":"/melonJS/docs/melonjs/World.html#getChildIndex"},"yzj8PpYCZfgYtLVTijZHm":{"uri":"/melonJS/docs/melonjs/World.html#getChildren"},"zunx0TVRHGwBrlxVfPzE_":{"uri":"/melonJS/docs/melonjs/World.html#getIndices"},"L4Kg3rRK5YG12ANAU_xNs":{"uri":"/melonJS/docs/melonjs/World.html#getNextChild"},"uSHFhXVm5VjBKcPu8ohWN":{"uri":"/melonJS/docs/melonjs/World.html#getOpacity"},"2nS30kvAgVLLlLP-3WH2K":{"uri":"/melonJS/docs/melonjs/World.html#getRootAncestor"},"U0BZld-9a-aoB6aG_x2A3":{"uri":"/melonJS/docs/melonjs/World.html#hasChild"},"nhxoAY8I4Gd-_ogUbXyRm":{"uri":"/melonJS/docs/melonjs/World.html#isAttachedToRoot"},"AK6QUuZr70q1CHvqkMPpN":{"uri":"/melonJS/docs/melonjs/World.html#isConvex"},"zbhwqOsWx65ihVnpNxoWG":{"uri":"/melonJS/docs/melonjs/World.html#isFinite"},"9TqkEyfXcAJLe6nkHlCPN":{"uri":"/melonJS/docs/melonjs/World.html#lookAt"},"e9cv6Sx29sRfaxkl-gXuE":{"uri":"/melonJS/docs/melonjs/World.html#moveDown"},"36h6TnTrnepjtK871cyh1":{"uri":"/melonJS/docs/melonjs/World.html#moveToBottom"},"EdTsOL59bH-toU481kuHa":{"uri":"/melonJS/docs/melonjs/World.html#moveToTop"},"SasVfEAorGdqH14aCLglc":{"uri":"/melonJS/docs/melonjs/World.html#moveUp"},"WsygvJL4XxkYQwfZdlaV6":{"uri":"/melonJS/docs/melonjs/World.html#onChildChange"},"EFZtsMjovPpFDMOIpiN7t":{"uri":"/melonJS/docs/melonjs/World.html#onCollision"},"CnZFbcRKH4iqMGpzBf-xD":{"uri":"/melonJS/docs/melonjs/World.html#onDestroyEvent"},"pbqCSoLRoXkE0JjXYD46r":{"uri":"/melonJS/docs/melonjs/World.html#overlaps"},"HY4iQiq1Pel_rgL1S_LeF":{"uri":"/melonJS/docs/melonjs/World.html#postDraw"},"B7Q6PQIDd1efNDgfLE_wd":{"uri":"/melonJS/docs/melonjs/World.html#preDraw"},"kCLJz2nW_cadmEf_Avz1J":{"uri":"/melonJS/docs/melonjs/World.html#recalc"},"IDj3O4MJIw-6isKzFLvXT":{"uri":"/melonJS/docs/melonjs/World.html#removeBody"},"DDI26tKNx7F-Y1JuOeWw6":{"uri":"/melonJS/docs/melonjs/World.html#removeChild"},"OyzYyvRbZ5v1ThpQ6xfpI":{"uri":"/melonJS/docs/melonjs/World.html#removeChildNow"},"mOHGn-AG5ebtbDZt-diVv":{"uri":"/melonJS/docs/melonjs/World.html#reset"},"5ahOGxiROkC2WWnZWutMK":{"uri":"/melonJS/docs/melonjs/World.html#resize"},"smYfKLysovX_QzCqPQmuy":{"uri":"/melonJS/docs/melonjs/World.html#rotate"},"eJF7EH_bI56wczO4tMFaI":{"uri":"/melonJS/docs/melonjs/World.html#scale"},"Y_jjNhNk0CSfYd0LxS4Xh":{"uri":"/melonJS/docs/melonjs/World.html#scaleV"},"UsjpPO9IISAlh80Yk8Xki":{"uri":"/melonJS/docs/melonjs/World.html#setChildsProperty"},"O56JGvc3SgwydR3My3iyH":{"uri":"/melonJS/docs/melonjs/World.html#setOpacity"},"qUSMOpGlbharL3Tib_Zvb":{"uri":"/melonJS/docs/melonjs/World.html#setShape"},"6T8bG3akJwbeyTK2icPeA":{"uri":"/melonJS/docs/melonjs/World.html#setVertices"},"idiXc66Bc-ahe1UFlGcuD":{"uri":"/melonJS/docs/melonjs/World.html#shift"},"U-qPV24HKUp5JLR710BTo":{"uri":"/melonJS/docs/melonjs/World.html#sort"},"8bSzFA-wolTCgTi_JquB3":{"uri":"/melonJS/docs/melonjs/World.html#step"},"DSnjLteB1u10MQb-ElrOO":{"uri":"/melonJS/docs/melonjs/World.html#swapChildren"},"12bVKmF9F6_2SYbBLUuOh":{"uri":"/melonJS/docs/melonjs/World.html#to2d"},"dIZQ_3uFKfEuR-6j_z8w5":{"uri":"/melonJS/docs/melonjs/World.html#toIso"},"GHLys2TONa__E4h9w_pba":{"uri":"/melonJS/docs/melonjs/World.html#toPolygon"},"yGxYnL-d-X8Su74QDBrC2":{"uri":"/melonJS/docs/melonjs/World.html#transform"},"1o8bCEr1J-vusgud7paOt":{"uri":"/melonJS/docs/melonjs/World.html#translate"},"r7i0jzUYcMGfuGftz2a5M":{"uri":"/melonJS/docs/melonjs/World.html#union"},"2c7k0g2EFiXav02ljf1XC":{"uri":"/melonJS/docs/melonjs/World.html#update"},"OpmHAcxBoxxPpOwCifbRe":{"uri":"/melonJS/docs/melonjs/World.html#updateBounds"},"Ytn3w0_WryLzxdWCcCUdn":{"uri":"/melonJS/docs/melonjs/World.html#draw"},"uAp5TStVrJADUWqAJDkqb":{"uri":"/melonJS/docs/melonjs/World.html#bodyApplyGravity"},"ZnYMxyQ7L3y5XOhaX0bnf":{"uri":"/melonJS/docs/melonjs/World.html#onAnchorUpdate"},"r1Kq8BsbBzU6uIxeQdv8s":{"uri":"global.html#AUTO"},"PgIoUlGRBLC8aJfcH7si6":{"uri":"global.html#CANVAS"},"C1yar8ojhTwA1GJQa99kr":{"uri":"global.html#version"},"xYAZWCZ_ObPde9kyg5Nni":{"uri":"global.html#WEBGL"},"Y0nIfHAsD8D6wBG4BL5vc":{"uri":"global.html#failureLoadedAssets"},"fz9YYipKGTHBZL5pRVotG":{"uri":"global.html#imgList"},"6OFUFPLvXVPd90647g1Rt":{"uri":"global.html#initialized"},"fAt7YICWHPDBChi658dnK":{"uri":"global.html#parserInitialized"},"jXo_ZrfjVaNFQfnFifOay":{"uri":"global.html#parsers"},"wW9P-dFLFbZcWUSlNKdhC":{"uri":"global.html#skipAutoInit"},"6AVIfSqZ8wLIunzZOm8X4":{"uri":"/melonJS/docs/melonjs/boot.html"},"0c5hA0tMVd-EqXeLBPyZn":{"uri":"/melonJS/docs/melonjs/consoleHeader.html"},"jls7tUpFxEO-527M2IeeL":{"uri":"/melonJS/docs/melonjs/warning.html"},"e3tkn678qSS6rYsCsMV-4":{"uri":"/melonJS/docs/melonjs/onresize.html"},"aVfpmGyODQAda1w4Co_Yf":{"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 af81dc48f1..b17f53a2f9 100644 --- a/docs/docs/melonjs.api.json.md5 +++ b/docs/docs/melonjs.api.json.md5 @@ -1 +1 @@ -045884c5ab2050ece6c2538f4bc6f864 \ No newline at end of file +e4d75db8e64a742afa872af0da96d476 \ No newline at end of file diff --git a/docs/docs/melonjs.html b/docs/docs/melonjs.html index b300e6da74..88d455ece9 100644 --- a/docs/docs/melonjs.html +++ b/docs/docs/melonjs.html @@ -1,5 +1,5 @@ - + @@ -104,7 +104,7 @@

                              About melonJS

                            Sound

                              -
                            • Web Audio support with spatial audio or stereo panning based on Howler
                            • +
                            • Web Audio support with 3D spatial audio or stereo panning based on Howler
                            • fallback to Multi-channel HTML5 audio for legacy browsers

                            Physic

                            diff --git a/docs/docs/melonjs/Application.html b/docs/docs/melonjs/Application.html index ab091e0e7e..d933701d33 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 989360f64f..2579173173 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 9b8deb6fd3..fb193f1e76 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 b4d33a55c3..2afcca014b 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 1eba144379..f32a6303fe 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 e2141873b1..7d2c49c310 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 a8d8bc580d..83dca5a8ef 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/CanvasRenderTarget.html b/docs/docs/melonjs/CanvasRenderTarget.html new file mode 100644 index 0000000000..005c114727 --- /dev/null +++ b/docs/docs/melonjs/CanvasRenderTarget.html @@ -0,0 +1,1567 @@ + + + + + + + melonJS: CanvasRenderTarget + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + +
                            +
                            + +
                            +

                            + CanvasRenderTarget +

                            + +
                            + + +
                            class CanvasRenderTarget
                            + + +
                            +

                            CanvasRenderTarget is 2D render target which exposes a Canvas interface.

                            +
                            +
                            + + + + + + + +
                            +

                            Constructor

                            +
                            + + + +
                            + + +
                            new CanvasRenderTarget(width: number, height: number, attributes: object) → {}
                            + +
                            + +
                            + +
                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + width + + number + + + + + + + +

                            the desired width of the canvas

                            +
                            + height + + number + + + + + + + +

                            the desired height of the canvas

                            +
                            + attributes + + object + + + + + + + +

                            The attributes to create both the canvas and context

                            +
                            + attributes.context + + boolean + +

                            <optional>

                            + + +
                            + "2d" + +

                            the context type to be created ("2d", "webgl", "webgl2")

                            +
                            + attributes.offscreenCanvas + + boolean + +

                            <optional>

                            + + +
                            + false + +

                            will create an offscreenCanvas if true instead of a standard canvas

                            +
                            + attributes.willReadFrequently + + boolean + +

                            <optional>

                            + + +
                            + false + +

                            Indicates whether or not a lot of read-back operations are planned

                            +
                            + attributes.antiAlias + + boolean + +

                            <optional>

                            + + +
                            + false + +

                            Whether to enable anti-aliasing, use false (default) for a pixelated effect.

                            +
                            +
                            + + + + + +
                            + + +
                            + + + + + + +
                            +

                            Summary

                            +
                            + + + + +
                            +
                            + +

                            Properties from CanvasRenderTarget

                            +
                            +
                            + + + + + + + + + + + + + + +
                            + + number + + +
                            + height +
                            +
                            + +
                            +
                            + + number + + +
                            + width +
                            +
                            + +
                            +
                            +
                            +
                            + + + + + + +
                            +
                            + +

                            Methods from CanvasRenderTarget

                            +
                            +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            + + +
                            + clear() +
                            +
                            + +

                            Clears the content of the canvas texture

                            + +
                            +
                            + + ImageData + + +
                            + getImageData(x: number, y: number, width: number, height: number) +
                            +
                            + +
                            +
                            + + +
                            + invalidate(renderer: CanvasRenderer | WebGLRenderer) +
                            +
                            + +
                            +
                            + + +
                            + resize(width: number, height: number) +
                            +
                            + +
                            +
                            + + +
                            + setAntiAlias(enable: boolean) +
                            +
                            + +
                            +
                            + + Promise + + +
                            + toBlob(type: string, quality: number) +
                            +
                            + +
                            +
                            + + Promise + + +
                            + toDataURL(type: string, quality: number) +
                            +
                            + +
                            +
                            + + Promise + + +
                            + toImageBitmap(type: string, quality: number) +
                            +
                            + +
                            +
                            +
                            +
                            + + + + + + + + + + + + + + + + + + + +
                            + + + + +
                            +

                            Public Properties

                            +
                            + + + +
                            + +
                            + + + + + height + + + + + + canvasrendertarget.js:283 + + + +
                            + + +
                            height: number
                            +
                            +number
                            + +
                            + +
                            + +
                            +
                            +

                            The height of this canvas texture in pixels

                            +
                            + + + + + + + + + +
                            + + + +
                            + +
                            + + + + + width + + + + + + canvasrendertarget.js:270 + + + +
                            + + +
                            width: number
                            +
                            +number
                            + +
                            + +
                            + +
                            +
                            +

                            The width of this canvas texture in pixels

                            +
                            + + + + + + + + + +
                            + + +
                            + + + +
                            +

                            Public Methods

                            +
                            + + + +
                            + +
                            + + + + + clear + + + + + + canvasrendertarget.js:125 + + + +
                            + + +
                            clear() → {}
                            + +
                            + +
                            + +
                            +

                            Clears the content of the canvas texture

                            +
                            +
                            + + + + + + + + + +
                            + + + +
                            + +
                            + + + + + getImageData + + + + + + canvasrendertarget.js:171 + + + +
                            + + +
                            getImageData(x: number, y: number, width: number, height: number) → {ImageData}
                            + +
                            + +
                            + +
                            +
                            +

                            Returns an ImageData object representing the underlying pixel data for a specified portion of this canvas texture. +(Note: when using getImageData(), it is highly recommended to use the willReadFrequently attribute when creatimg the corresponding canvas texture)

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + x + + number + +

                            The x-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted

                            +
                            + y + + number + +

                            The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted

                            +
                            + width + + number + +

                            The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left

                            +
                            + height + + number + +

                            The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + ImageData + + +

                            The ImageData extracted from this CanvasRenderTarget.

                            + +
                            +
                            + + + +
                            + + + +
                            + +
                            + + + + + invalidate + + + + + + canvasrendertarget.js:247 + + + +
                            + + +
                            invalidate(renderer: CanvasRenderer | WebGLRenderer) → {}
                            + +
                            + +
                            + +
                            +
                            +

                            invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture +(call this if you modify the canvas content between two draw calls)

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + renderer + + CanvasRenderer | WebGLRenderer + +

                            the renderer to which this canvas texture is attached

                            +
                            +
                            + + + + + +
                            + + + +
                            + +
                            + + + + + resize + + + + + + canvasrendertarget.js:161 + + + +
                            + + +
                            resize(width: number, height: number) → {}
                            + +
                            + +
                            + +
                            +
                            +

                            Resizes the canvas texture to the given width and height.

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + width + + number + +

                            the desired width

                            +
                            + height + + number + +

                            the desired height

                            +
                            +
                            + + + + + +
                            + + + +
                            + +
                            + + + + + setAntiAlias + + + + + + canvasrendertarget.js:133 + + + +
                            + + +
                            setAntiAlias(enable: boolean) → {}
                            + +
                            + +
                            + +
                            +
                            +

                            enable/disable image smoothing (scaling interpolation)

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + enable + + boolean + +

                            <optional>

                            + + +
                            + false + +

                            whether to enable or not image smoothing (scaling interpolation)

                            +
                            +
                            + + + + + +
                            + + + +
                            + +
                            + + + + + toBlob + + + + + + canvasrendertarget.js:190 + + + +
                            + + +
                            toBlob(type: string, quality: number) → {Promise}
                            + +
                            + +
                            + +
                            +
                            +

                            creates a Blob object representing the image contained in this canvas texture

                            +
                            + + + +
                            renderTarget.convertToBlob().then((blob) => console.log(blob));
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + type + + string + +

                            <optional>

                            + + +
                            + "image/png" + +

                            A string indicating the image format

                            +
                            + quality + + number + +

                            <optional>

                            + + +
                            + + +

                            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Promise + + +

                            A Promise returning a Blob object representing the image contained in this canvas texture

                            + +
                            +
                            + + + +
                            + + + +
                            + +
                            + + + + + toDataURL + + + + + + canvasrendertarget.js:232 + + + +
                            + + +
                            toDataURL(type: string, quality: number) → {Promise}
                            + +
                            + +
                            + +
                            +
                            +

                            returns a data URL containing a representation of the most recently rendered image of this canvas texture +(not supported by OffscreenCanvas)

                            +
                            + + + +
                            renderer.toDataURL().then((dataURL) => console.log(dataURL));
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + type + + string + +

                            <optional>

                            + + +
                            + "image/png" + +

                            A string indicating the image format

                            +
                            + quality + + number + +

                            <optional>

                            + + +
                            + + +

                            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Promise + + +

                            A Promise returning a string containing the requested data URL.

                            + +
                            +
                            + + + +
                            + + + +
                            + +
                            + + + + + toImageBitmap + + + + + + canvasrendertarget.js:210 + + + +
                            + + +
                            toImageBitmap(type: string, quality: number) → {Promise}
                            + +
                            + +
                            + +
                            +
                            +

                            creates an ImageBitmap object from the most recently rendered image of this canvas texture

                            +
                            + + + +
                            renderTarget.transferToImageBitmap().then((bitmap) => console.log(bitmap));
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + type + + string + +

                            <optional>

                            + + +
                            + "image/png" + +

                            A string indicating the image format

                            +
                            + quality + + number + +

                            <optional>

                            + + +
                            + + +

                            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Promise + + +

                            A Promise returning an ImageBitmap.

                            + +
                            +
                            + + + +
                            + + +
                            + + + +
                            + + + + +
                            + +
                            + +
                            + + + + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/CanvasRenderer.html b/docs/docs/melonjs/CanvasRenderer.html index f5b5493713..c059acb158 100644 --- a/docs/docs/melonjs/CanvasRenderer.html +++ b/docs/docs/melonjs/CanvasRenderer.html @@ -1,5 +1,5 @@ - + @@ -945,6 +945,22 @@

                            Properties inherited from Renderer

                            + + + + CanvasRenderTarget + + + +
                            + renderTarget +
                            +
                            + +
                            + + + @@ -1366,7 +1382,7 @@

                            Public Methods

                            - canvas_renderer.js:248 + canvas_renderer.js:245 @@ -1428,7 +1444,7 @@

                            Public Methods

                            - canvas_renderer.js:110 + canvas_renderer.js:107 @@ -1475,7 +1491,7 @@

                            Public Methods

                            - canvas_renderer.js:121 + canvas_renderer.js:118 @@ -1578,7 +1594,7 @@

                            Public Methods

                            - canvas_renderer.js:859 + canvas_renderer.js:856 @@ -1633,7 +1649,7 @@

                            Public Methods

                            - canvas_renderer.js:139 + canvas_renderer.js:136 @@ -1748,7 +1764,7 @@

                            Public Methods

                            - canvas_renderer.js:740 + canvas_renderer.js:737 @@ -1859,7 +1875,7 @@

                            Public Methods

                            - canvas_renderer.js:332 + canvas_renderer.js:329 @@ -1906,7 +1922,7 @@

                            Public Methods

                            - canvas_renderer.js:150 + canvas_renderer.js:147 @@ -2035,7 +2051,7 @@

                            Public Methods

                            - canvas_renderer.js:166 + canvas_renderer.js:163 @@ -2219,7 +2235,7 @@

                            Public Methods

                            - canvas_renderer.js:227 + canvas_renderer.js:224 @@ -2346,7 +2362,7 @@

                            Public Methods

                            - canvas_renderer.js:324 + canvas_renderer.js:321 @@ -2429,7 +2445,7 @@

                            Public Methods

                            - canvas_renderer.js:364 + canvas_renderer.js:361 @@ -2602,7 +2618,7 @@

                            Public Methods

                            - canvas_renderer.js:416 + canvas_renderer.js:413 @@ -2717,7 +2733,7 @@

                            Public Methods

                            - canvas_renderer.js:448 + canvas_renderer.js:445 @@ -2832,7 +2848,7 @@

                            Public Methods

                            - canvas_renderer.js:568 + canvas_renderer.js:565 @@ -2939,7 +2955,7 @@

                            Public Methods

                            - canvas_renderer.js:489 + canvas_renderer.js:486 @@ -3018,7 +3034,7 @@

                            Public Methods

                            - canvas_renderer.js:515 + canvas_renderer.js:512 @@ -3125,7 +3141,7 @@

                            Public Methods

                            - canvas_renderer.js:547 + canvas_renderer.js:544 @@ -3242,7 +3258,7 @@

                            Public Methods

                            - canvas_renderer.js:666 + canvas_renderer.js:663 @@ -3315,7 +3331,7 @@

                            Public Methods

                            - canvas_renderer.js:277 + canvas_renderer.js:274 @@ -3402,7 +3418,7 @@

                            Public Methods

                            - canvas_renderer.js:268 + canvas_renderer.js:265 @@ -3493,7 +3509,7 @@

                            Public Methods

                            - canvas_renderer.js:284 + canvas_renderer.js:281 @@ -3608,7 +3624,7 @@

                            Public Methods

                            - canvas_renderer.js:56 + canvas_renderer.js:53 @@ -3655,7 +3671,7 @@

                            Public Methods

                            - canvas_renderer.js:64 + canvas_renderer.js:61 @@ -3702,7 +3718,7 @@

                            Public Methods

                            - canvas_renderer.js:579 + canvas_renderer.js:576 @@ -3761,7 +3777,7 @@

                            Public Methods

                            - canvas_renderer.js:618 + canvas_renderer.js:615 @@ -3850,7 +3866,7 @@

                            Public Methods

                            - canvas_renderer.js:295 + canvas_renderer.js:292 @@ -3977,7 +3993,7 @@

                            Public Methods

                            - canvas_renderer.js:601 + canvas_renderer.js:598 @@ -4036,7 +4052,7 @@

                            Public Methods

                            - canvas_renderer.js:634 + canvas_renderer.js:631 @@ -4127,7 +4143,7 @@

                            Public Methods

                            - canvas_renderer.js:71 + canvas_renderer.js:68 @@ -4247,7 +4263,7 @@

                            Public Methods

                            - canvas_renderer.js:643 + canvas_renderer.js:640 @@ -4327,7 +4343,7 @@

                            Public Methods

                            - canvas_renderer.js:658 + canvas_renderer.js:655 @@ -4406,7 +4422,7 @@

                            Public Methods

                            - canvas_renderer.js:674 + canvas_renderer.js:671 @@ -4485,7 +4501,7 @@

                            Public Methods

                            - canvas_renderer.js:772 + canvas_renderer.js:769 @@ -4598,7 +4614,7 @@

                            Public Methods

                            - canvas_renderer.js:682 + canvas_renderer.js:679 @@ -4738,7 +4754,7 @@

                            Public Methods

                            - canvas_renderer.js:307 + canvas_renderer.js:304 @@ -4841,7 +4857,7 @@

                            Public Methods

                            - canvas_renderer.js:340 + canvas_renderer.js:337 @@ -5032,7 +5048,7 @@

                            Public Methods

                            - canvas_renderer.js:377 + canvas_renderer.js:374 @@ -5189,7 +5205,7 @@

                            Public Methods

                            - canvas_renderer.js:427 + canvas_renderer.js:424 @@ -5304,7 +5320,7 @@

                            Public Methods

                            - canvas_renderer.js:559 + canvas_renderer.js:556 @@ -5391,7 +5407,7 @@

                            Public Methods

                            - canvas_renderer.js:459 + canvas_renderer.js:456 @@ -5494,7 +5510,7 @@

                            Public Methods

                            - canvas_renderer.js:497 + canvas_renderer.js:494 @@ -5643,7 +5659,7 @@

                            Public Methods

                            - canvas_renderer.js:526 + canvas_renderer.js:523 @@ -5808,7 +5824,7 @@

                            Public Methods

                            - canvas_renderer.js:697 + canvas_renderer.js:694 @@ -5955,7 +5971,7 @@

                            Public Methods

                            - canvas_renderer.js:727 + canvas_renderer.js:724 diff --git a/docs/docs/melonjs/CanvasTexture.html b/docs/docs/melonjs/CanvasTexture.html index 5b2bdec87b..e12b7112b2 100644 --- a/docs/docs/melonjs/CanvasTexture.html +++ b/docs/docs/melonjs/CanvasTexture.html @@ -1,5 +1,5 @@ - + @@ -76,27 +76,36 @@ CanvasTexture -
                            +

                            CanvasTexture

                            + +
                            (deprecated: since 17.1.0)
                            + +
                            -
                            class CanvasTexture
                            +
                            class CanvasTexture extends CanvasRenderTarget
                            -
                            -

                            Creates a Canvas Texture of the given size -(when using WebGL, use invalidate to force a reupload of the corresponding texture)

                            -
                            +
                            +
                            + See: + + CanvasRenderTarget + +
                            + +
                            @@ -288,50 +297,33 @@

                            Summary

                            -
                            + + + + + + + + + + + + + + + +
                            -

                            Properties from CanvasTexture

                            +

                            Properties inherited from CanvasRenderTarget

                            - - - - - - - - - - @@ -4461,7 +4514,7 @@

                            Public Methods

                            - webgl_renderer.js:498 + webgl_renderer.js:540 @@ -4548,7 +4601,7 @@

                            Public Methods

                            - webgl_renderer.js:489 + webgl_renderer.js:531 @@ -4639,7 +4692,7 @@

                            Public Methods

                            - webgl_renderer.js:505 + webgl_renderer.js:547 @@ -4754,7 +4807,7 @@

                            Public Methods

                            - webgl_renderer.js:185 + webgl_renderer.js:227 @@ -4801,7 +4854,7 @@

                            Public Methods

                            - webgl_renderer.js:284 + webgl_renderer.js:326 @@ -4848,7 +4901,7 @@

                            Public Methods

                            - webgl_renderer.js:666 + webgl_renderer.js:657 @@ -4907,7 +4960,7 @@

                            Public Methods

                            - webgl_renderer.js:734 + webgl_renderer.js:725 @@ -4996,7 +5049,7 @@

                            Public Methods

                            - webgl_renderer.js:516 + webgl_renderer.js:558 @@ -5123,7 +5176,7 @@

                            Public Methods

                            - webgl_renderer.js:709 + webgl_renderer.js:700 @@ -5182,7 +5235,7 @@

                            Public Methods

                            - webgl_renderer.js:750 + webgl_renderer.js:741 @@ -5273,7 +5326,7 @@

                            Public Methods

                            - webgl_renderer.js:622 + webgl_renderer.js:613 @@ -5395,7 +5448,7 @@

                            Public Methods

                            - webgl_renderer.js:784 + webgl_renderer.js:775 @@ -5475,7 +5528,7 @@

                            Public Methods

                            - webgl_renderer.js:252 + webgl_renderer.js:294 @@ -5604,7 +5657,7 @@

                            Public Methods

                            - webgl_renderer.js:768 + webgl_renderer.js:759 @@ -5683,7 +5736,7 @@

                            Public Methods

                            - webgl_renderer.js:795 + webgl_renderer.js:786 @@ -5762,7 +5815,7 @@

                            Public Methods

                            - webgl_renderer.js:1117 + webgl_renderer.js:1108 @@ -5875,7 +5928,7 @@

                            Public Methods

                            - webgl_renderer.js:330 + webgl_renderer.js:372 @@ -5954,7 +6007,7 @@

                            Public Methods

                            - webgl_renderer.js:1014 + webgl_renderer.js:1005 @@ -6094,7 +6147,7 @@

                            Public Methods

                            - webgl_renderer.js:339 + webgl_renderer.js:381 @@ -6233,7 +6286,7 @@

                            Public Methods

                            - webgl_renderer.js:528 + webgl_renderer.js:570 @@ -6336,7 +6389,7 @@

                            Public Methods

                            - webgl_renderer.js:803 + webgl_renderer.js:794 @@ -6529,7 +6582,7 @@

                            Public Methods

                            - webgl_renderer.js:837 + webgl_renderer.js:828 @@ -6686,7 +6739,7 @@

                            Public Methods

                            - webgl_renderer.js:867 + webgl_renderer.js:858 @@ -6801,7 +6854,7 @@

                            Public Methods

                            - webgl_renderer.js:996 + webgl_renderer.js:987 @@ -6892,7 +6945,7 @@

                            Public Methods

                            - webgl_renderer.js:894 + webgl_renderer.js:885 @@ -6995,7 +7048,7 @@

                            Public Methods

                            - webgl_renderer.js:934 + webgl_renderer.js:925 @@ -7152,7 +7205,7 @@

                            Public Methods

                            - webgl_renderer.js:964 + webgl_renderer.js:955 @@ -7327,7 +7380,7 @@

                            Public Methods

                            - webgl_renderer.js:1029 + webgl_renderer.js:1020 @@ -7474,7 +7527,7 @@

                            Public Methods

                            - webgl_renderer.js:1054 + webgl_renderer.js:1045 @@ -7707,14 +7760,18 @@

                            Public Methods

                            getContext -
                          • - getContextGL -
                          • -
                          • getGlobalAlpha
                          • +
                          • + getSupportedCompressedTextureFormats +
                          • + +
                          • + hasSupportedCompressedFormats +
                          • +
                          • lineTo
                          • diff --git a/docs/docs/melonjs/World.html b/docs/docs/melonjs/World.html index b5a3a3539d..a7dded5f31 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 cbb8f12788..0fa7e898be 100644 --- a/docs/docs/melonjs/audio.html +++ b/docs/docs/melonjs/audio.html @@ -1,5 +1,5 @@ - + @@ -251,7 +251,7 @@

                            Public Methods

                            - audio.js:129 + audio.js:128 @@ -298,7 +298,7 @@

                            Public Methods

                            - audio.js:119 + audio.js:118 @@ -354,7 +354,7 @@

                            Public Methods

                            - audio.js:221 + audio.js:220 @@ -501,7 +501,7 @@

                            Public Methods

                            - audio.js:415 + audio.js:501 @@ -574,7 +574,7 @@

                            Public Methods

                            - audio.js:433 + audio.js:519 @@ -647,7 +647,7 @@

                            Public Methods

                            - audio.js:110 + audio.js:109 @@ -720,7 +720,7 @@

                            Public Methods

                            - audio.js:100 + audio.js:99 @@ -825,7 +825,7 @@

                            Public Methods

                            - audio.js:76 + audio.js:75 @@ -949,7 +949,7 @@

                            Public Methods

                            - audio.js:137 + audio.js:136 @@ -1104,7 +1104,7 @@

                            Public Methods

                            - audio.js:442 + audio.js:528 @@ -1230,7 +1230,7 @@

                            Public Methods

                            - audio.js:471 + audio.js:557 @@ -1277,7 +1277,7 @@

                            Public Methods

                            - audio.js:487 + audio.js:573 @@ -1333,6 +1333,431 @@

                            Public Methods

                            +
                            + +
                            + + + + + orientation + + + + + + audio.js:318 + + + +
                            + + +
                            orientation(sound_name: string, x: Number, y: Number, z: Number) → {Array}
                            + +
                            + +
                            + +
                            +
                            +

                            Get/set the direction the audio source is pointing in the 3D cartesian coordinate space. +Depending on how direction the sound is, based on the cone attributes, a sound pointing away from the listener can be quiet or silent.

                            +
                            + + + + + + + +
                            +
                            - - HTMLCanvasElement | OffscreenCanvas - - -
                            - canvas -
                            -
                            - -
                            -
                            - - CanvasRenderingContext2D - - -
                            - context -
                            -
                            - -
                            -
                            @@ -340,7 +332,7 @@

                            Properties from CanvasTexture

                            - height + height
                            @@ -356,7 +348,7 @@

                            Properties from CanvasTexture

                            - width + width
                            @@ -374,13 +366,13 @@

                            Properties from CanvasTexture

                            -
                            +
                            -

                            Methods from CanvasTexture

                            +

                            Methods inherited from CanvasRenderTarget

                            @@ -392,7 +384,7 @@

                            Methods from CanvasTexture

                            + + + + + + + + + + + + + + + @@ -4371,10 +4397,10 @@

                            Public Methods

                            -
                            +
                            -
                            - +
                            + Public Methods /> - getGlobalAlpha + hasSupportedCompressedFormats - webgl_renderer.js:776 + webgl_renderer.js:210
                            -
                            getGlobalAlpha() → {number}
                            +
                            hasSupportedCompressedFormats(format: Number) → {}
                            @@ -4403,7 +4429,7 @@

                            Public Methods

                            -

                            Return the global alpha

                            +

                            return true if the given compressed texture format is supported

                            @@ -4411,6 +4437,36 @@

                            Public Methods

                            + +
                            +
                            - clear() + clear()
                            @@ -410,7 +402,7 @@

                            Methods from CanvasTexture

                            - getImageData(x: number, y: number, width: number, height: number) + getImageData(x: number, y: number, width: number, height: number)
                            @@ -424,7 +416,7 @@

                            Methods from CanvasTexture

                            - invalidate(renderer: CanvasRenderer | WebGLRenderer) + invalidate(renderer: CanvasRenderer | WebGLRenderer)
                            @@ -438,7 +430,7 @@

                            Methods from CanvasTexture

                            - resize(width: number, height: number) + resize(width: number, height: number)
                            @@ -452,7 +444,7 @@

                            Methods from CanvasTexture

                            - setAntiAlias(enable: boolean) + setAntiAlias(enable: boolean)
                            @@ -468,7 +460,7 @@

                            Methods from CanvasTexture

                            - toBlob(type: string, quality: number) + toBlob(type: string, quality: number)
                            @@ -484,7 +476,7 @@

                            Methods from CanvasTexture

                            - toDataURL(type: string, quality: number) + toDataURL(type: string, quality: number)
                            @@ -500,7 +492,7 @@

                            Methods from CanvasTexture

                            - toImageBitmap(type: string, quality: number) + toImageBitmap(type: string, quality: number)
                            @@ -519,1165 +511,34 @@

                            Methods from CanvasTexture

                            - - - - - - - - - - - - - - - - - -
                            -

                            Public Properties

                            -
                            - - - -
                            - -
                            - - - - - canvas - - - - - - canvas_texture.js:32 - - - -
                            - - -
                            canvas: HTMLCanvasElement | OffscreenCanvas
                            -
                            -HTMLCanvasElement | OffscreenCanvas
                            - -
                            - -
                            - -
                            -
                            -

                            the canvas created for this CanvasTexture

                            -
                            - - - - - - - - - -
                            - - - -
                            - -
                            - - - - - context - - - - - - canvas_texture.js:38 - - - -
                            - - -
                            context: CanvasRenderingContext2D
                            -
                            -CanvasRenderingContext2D
                            - -
                            - -
                            - -
                            -
                            -

                            the rendering context of this CanvasTexture

                            -
                            - - - - - - - - - -
                            - - - -
                            - -
                            - - - - - height - - - - - - canvas_texture.js:214 - - - -
                            - - -
                            height: number
                            -
                            -number
                            - -
                            - -
                            - -
                            -
                            -

                            The height of this canvas texture in pixels

                            -
                            - - - - - - - - -
                            - -
                            - -
                            - - - - - width - - - - - - canvas_texture.js:201 - - - -
                            - - -
                            width: number
                            -
                            -number
                            -
                            -
                            - -
                            -
                            -

                            The width of this canvas texture in pixels

                            -
                            - - - - - - - - - -
                            - - -
                            - -
                            -

                            Public Methods

                            -
                            - - -
                            - -
                            - - - - - clear - - - - - - canvas_texture.js:56 - - - -
                            - - -
                            clear() → {}
                            - -
                            -
                            - -
                            -

                            Clears the content of the canvas texture

                            -
                            -
                            - +
                            + - - +
                            - - -
                            + - - -
                            - -
                            - - - - - getImageData - - - - - - canvas_texture.js:102 - - - +
                            +
                            - - - -
                            - -
                            - - - - - invalidate - - - - - - canvas_texture.js:178 - - - -
                            - - -
                            invalidate(renderer: CanvasRenderer | WebGLRenderer) → {}
                            - -
                            - -
                            - -
                            -
                            -

                            invalidate the current CanvasTexture, and force a reupload of the corresponding texture -(call this if you modify the canvas content between two draw calls)

                            -
                            - - - - - - - -
                            - - - - - - - - - - - - - - - - - - - - -
                            Parameters:
                            NameTypeDescription
                            - renderer - - CanvasRenderer | WebGLRenderer - -

                            the renderer to which this canvas texture is attached

                            -
                            -
                            - - - - - -
                            - - - -
                            - -
                            - - - - - resize - - - - - - canvas_texture.js:92 - - - -
                            - - -
                            resize(width: number, height: number) → {}
                            - -
                            - -
                            - -
                            -
                            -

                            Resizes the canvas texture to the given width and height.

                            -
                            - - - - - - - -
                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            Parameters:
                            NameTypeDescription
                            - width - - number - -

                            the desired width

                            -
                            - height - - number - -

                            the desired height

                            -
                            -
                            - - - - - -
                            - - - -
                            - -
                            - - - - - setAntiAlias - - - - - - canvas_texture.js:64 - - - -
                            - - -
                            setAntiAlias(enable: boolean) → {}
                            - -
                            - -
                            - -
                            -
                            -

                            enable/disable image smoothing (scaling interpolation)

                            -
                            - - - - - - - -
                            - - - - - - - - - - - - - - - - - - - - -
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            - enable - - boolean - -

                            <optional>

                            - - -
                            - false - -

                            whether to enable or not image smoothing (scaling interpolation)

                            -
                            -
                            - - - - - -
                            - - - -
                            - -
                            - - - - - toBlob - - - - - - canvas_texture.js:121 - - - -
                            - - -
                            toBlob(type: string, quality: number) → {Promise}
                            - -
                            - -
                            - -
                            -
                            -

                            creates a Blob object representing the image contained in this canvas texture

                            -
                            - - - -
                            canvasTexture.convertToBlob().then((blob) => console.log(blob));
                            - - - - - - - -
                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            - type - - string - -

                            <optional>

                            - - -
                            - "image/png" - -

                            A string indicating the image format

                            -
                            - quality - - number - -

                            <optional>

                            - - -
                            - - -

                            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.

                            -
                            -
                            - - - - - -
                            - - - - - - - - - - - - - - -
                            Returns:
                            TypeDescription
                            - Promise - - -

                            A Promise returning a Blob object representing the image contained in this canvas texture

                            - -
                            -
                            - - - -
                            - - - -
                            - -
                            - - - - - toDataURL - - - - - - canvas_texture.js:163 - - - -
                            - - -
                            toDataURL(type: string, quality: number) → {Promise}
                            - -
                            - -
                            - -
                            -
                            -

                            returns a data URL containing a representation of the most recently rendered image of this canvas texture -(not supported by OffscreenCanvas)

                            -
                            - - - -
                            renderer.toDataURL().then((dataURL) => console.log(dataURL));
                            - - - - - - - -
                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            - type - - string - -

                            <optional>

                            - - -
                            - "image/png" - -

                            A string indicating the image format

                            -
                            - quality - - number - -

                            <optional>

                            - - -
                            - - -

                            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.

                            -
                            -
                            - - - - - -
                            - - - - - - - - - - - - - - -
                            Returns:
                            TypeDescription
                            - Promise - - -

                            A Promise returning a string containing the requested data URL.

                            - -
                            -
                            - - - -
                            - - - -
                            - -
                            - - - - - toImageBitmap - - - - - - canvas_texture.js:141 - - - -
                            - - -
                            toImageBitmap(type: string, quality: number) → {Promise}
                            - -
                            - -
                            - -
                            -
                            -

                            creates an ImageBitmap object from the most recently rendered image of this canvas texture

                            -
                            - - - -
                            canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap));
                            - - - - - - - -
                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            - type - - string - -

                            <optional>

                            - - -
                            - "image/png" - -

                            A string indicating the image format

                            -
                            - quality - - number - -

                            <optional>

                            - - -
                            - - -

                            A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.

                            -
                            -
                            - - - - - -
                            - - - - - - - - - - - - - - -
                            Returns:
                            TypeDescription
                            - Promise - - -

                            A Promise returning an ImageBitmap.

                            - -
                            -
                            - - - -
                            - - - - - - - - - - - -
                            - - - -
                            - diff --git a/docs/docs/melonjs/Collectable.html b/docs/docs/melonjs/Collectable.html index 9d8235e896..5bb15379aa 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 bba53e341e..41655e2b2c 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 3fefe74194..2c56ad12b2 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 73332f608d..68bc2646c0 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 f7012d0e51..d6866b434d 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 8edaed0a27..10fed21de9 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 bb327f1413..dd855f9026 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 d9b33bdb96..c46ebe62c6 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 5347c9718b..22e48d16e2 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 6bbb7cbc4d..18b16d4f27 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 3481aa7c89..83df08c5ed 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 bdd5caa339..f03e7c6e45 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 9a70f13097..03d3cb54f3 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 45036d61e6..2cffacb171 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 82ea204fc2..5ed08e56e6 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 94324328b9..9989979a5c 100644 --- a/docs/docs/melonjs/Light2d.html +++ b/docs/docs/melonjs/Light2d.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Line.html b/docs/docs/melonjs/Line.html index a32941a526..22251dec4f 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 f863bd85bc..f7abde1448 100644 --- a/docs/docs/melonjs/Math.html +++ b/docs/docs/melonjs/Math.html @@ -1,5 +1,5 @@ - + @@ -510,7 +510,7 @@

                            Public Methods

                            - math.js:94 + math.js:116 @@ -639,7 +639,7 @@

                            Public Methods

                            - math.js:68 + math.js:90 @@ -732,6 +732,106 @@

                            Public Methods

                            +
                            + +
                            + + + + + isPowerOfFour + + + + + + math.js:51 + + + +
                            + + +
                            isPowerOfFour(val: number) → {boolean}
                            + +
                            + +
                            + +
                            +
                            +

                            returns true if the given value is a power of four

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + val + + number +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + boolean + +
                            +
                            + + + +
                            + + +
                            @@ -849,7 +949,7 @@

                            Public Methods

                            - math.js:51 + math.js:73 @@ -949,7 +1049,7 @@

                            Public Methods

                            - math.js:182 + math.js:204 @@ -1054,7 +1154,7 @@

                            Public Methods

                            - math.js:81 + math.js:103 @@ -1164,7 +1264,7 @@

                            Public Methods

                            - math.js:106 + math.js:128 @@ -1286,7 +1386,7 @@

                            Public Methods

                            - math.js:120 + math.js:142 @@ -1408,7 +1508,7 @@

                            Public Methods

                            - math.js:148 + math.js:170 @@ -1542,7 +1642,7 @@

                            Public Methods

                            - math.js:164 + math.js:186 @@ -1696,7 +1796,7 @@

                            Public Methods

                            - math.js:134 + math.js:156 @@ -1864,6 +1964,10 @@

                            Public Methods

                            degToRad +
                          • + isPowerOfFour +
                          • +
                          • isPowerOfTwo
                          • diff --git a/docs/docs/melonjs/Math/clamp.html b/docs/docs/melonjs/Math/clamp.html index a8a09ce534..ddf2b93b36 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 e2fda1463e..f86f32a397 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/isPowerOfFour.html b/docs/docs/melonjs/Math/isPowerOfFour.html new file mode 100644 index 0000000000..5bfa959206 --- /dev/null +++ b/docs/docs/melonjs/Math/isPowerOfFour.html @@ -0,0 +1,193 @@ + + + + + + + melonJS: isPowerOfFour + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + +
                            +
                            + +
                            +

                            + Math.isPowerOfFour +

                            + +
                            + + +
                            isPowerOfFour(val: number) → {boolean}
                            + + +
                            +
                            +

                            returns true if the given value is a power of four

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + val + + number +
                            +
                            + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + boolean + +
                            +
                            + + + + + + + + + + +
                            + + + + +
                            + +
                            + + + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/Math/isPowerOfTwo.html b/docs/docs/melonjs/Math/isPowerOfTwo.html index 0686c4c85c..1fbae0afbd 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 064a5be236..f1edc0f16e 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/pow.html b/docs/docs/melonjs/Math/pow.html index 2b3c505052..6dc38759df 100644 --- a/docs/docs/melonjs/Math/pow.html +++ b/docs/docs/melonjs/Math/pow.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/Math/radToDeg.html b/docs/docs/melonjs/Math/radToDeg.html index d9f5dc78f8..5a2fe17894 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 6b5a1a7e5b..dea8ee818c 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 e40b20dd81..c9b9ddf4b5 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 64e42c718c..df3b13646e 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 7c9237496b..6321c086f6 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 f13260c6be..d1129d2425 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 3398beee37..26b2690427 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 9e13f5758f..d66fe0f28c 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 97793c1b0c..711320deb2 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 e20536e53d..3a9481d8ff 100644 --- a/docs/docs/melonjs/ObjectPool.html +++ b/docs/docs/melonjs/ObjectPool.html @@ -1,5 +1,5 @@ - + @@ -200,7 +200,7 @@

                            Methods from ObjectPool

                            - pull(name: string) + pull(name: string, args: unknown)
                            @@ -586,9 +586,9 @@

                            Public Methods

                            -
                            - ...arguments + args - object + unknown

                            <optional>

                            @@ -1083,7 +1083,7 @@

                            Public Methods

                            poolable -
                          • +
                          • pull
                          • diff --git a/docs/docs/melonjs/ObservableVector2d.html b/docs/docs/melonjs/ObservableVector2d.html index 129ddb661d..2493a90c0f 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 044afac814..1472f5a883 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 ee40ae329b..099ac9d44c 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 eac1dadd94..eb448cd880 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 ec503dd469..43d40289d7 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 0a56132a41..3e658bce43 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 2196dc7598..e512f16f2c 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 1ce9a6eb27..6a28972702 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 e369c5eac7..7b2e24bfe9 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 42a3c36aa4..2f4f1a50e4 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 015b9d3458..dd8fd7de0b 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 d958e25c46..2f028e0bcc 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 80b6be29c7..8e21bd846f 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 b5c375f80c..bfea05c29d 100644 --- a/docs/docs/melonjs/Renderable.html +++ b/docs/docs/melonjs/Renderable.html @@ -1,5 +1,5 @@ - + @@ -1556,7 +1556,7 @@

                            Public Properties

                            - renderable.js:169 + renderable.js:174 @@ -1620,7 +1620,7 @@

                            Public Properties

                            - renderable.js:121 + renderable.js:126 @@ -1669,7 +1669,7 @@

                            Public Properties

                            - renderable.js:179 + renderable.js:184 @@ -1718,7 +1718,7 @@

                            Public Properties

                            - renderable.js:39 + renderable.js:44 @@ -1773,7 +1773,7 @@

                            Public Properties

                            - renderable.js:150 + renderable.js:155 @@ -1836,7 +1836,7 @@

                            Public Properties

                            - renderable.js:216 + renderable.js:221 @@ -1899,7 +1899,7 @@

                            Public Properties

                            - renderable.js:62 + renderable.js:67 @@ -1982,7 +1982,7 @@

                            Public Properties

                            - renderable.js:54 + renderable.js:59 @@ -2031,7 +2031,7 @@

                            Public Properties

                            - renderable.js:312 + renderable.js:317 @@ -2080,7 +2080,7 @@

                            Public Properties

                            - renderable.js:142 + renderable.js:147 @@ -2130,7 +2130,7 @@

                            Public Properties

                            - renderable.js:100 + renderable.js:105 @@ -2181,7 +2181,7 @@

                            Public Properties

                            - renderable.js:324 + renderable.js:329 @@ -2230,7 +2230,7 @@

                            Public Properties

                            - renderable.js:245 + renderable.js:250 @@ -2279,7 +2279,7 @@

                            Public Properties

                            - renderable.js:341 + renderable.js:346 @@ -2336,7 +2336,7 @@

                            Public Properties

                            - renderable.js:351 + renderable.js:356 @@ -2393,7 +2393,7 @@

                            Public Properties

                            - renderable.js:285 + renderable.js:290 @@ -2450,7 +2450,7 @@

                            Public Properties

                            - renderable.js:238 + renderable.js:243 @@ -2499,7 +2499,7 @@

                            Public Properties

                            - renderable.js:135 + renderable.js:140 @@ -2548,7 +2548,7 @@

                            Public Properties

                            - renderable.js:186 + renderable.js:191 @@ -2615,7 +2615,7 @@

                            Public Properties

                            - renderable.js:225 + renderable.js:230 @@ -2664,7 +2664,7 @@

                            Public Properties

                            - renderable.js:108 + renderable.js:113 @@ -2721,7 +2721,7 @@

                            Public Properties

                            - renderable.js:271 + renderable.js:276 @@ -2794,7 +2794,7 @@

                            Public Properties

                            - renderable.js:28 + renderable.js:33 @@ -2843,7 +2843,7 @@

                            Public Properties

                            - renderable.js:209 + renderable.js:214 @@ -2892,7 +2892,7 @@

                            Public Properties

                            - renderable.js:294 + renderable.js:299 @@ -2948,7 +2948,7 @@

                            Public Properties

                            - renderable.js:128 + renderable.js:133 @@ -3006,7 +3006,7 @@

                            Public Methods

                            - renderable.js:439 + renderable.js:444 @@ -3109,7 +3109,7 @@

                            Public Methods

                            - renderable.js:460 + renderable.js:465 @@ -3212,7 +3212,7 @@

                            Public Methods

                            - renderable.js:705 + renderable.js:710 @@ -3331,7 +3331,7 @@

                            Public Methods

                            - renderable.js:402 + renderable.js:407 @@ -3450,7 +3450,7 @@

                            Public Methods

                            - renderable.js:414 + renderable.js:419 @@ -3569,7 +3569,7 @@

                            Public Methods

                            - renderable.js:616 + renderable.js:621 @@ -3639,7 +3639,7 @@

                            Public Methods

                            - renderable.js:361 + renderable.js:366 @@ -3712,7 +3712,7 @@

                            Public Methods

                            - renderable.js:379 + renderable.js:384 @@ -3785,7 +3785,7 @@

                            Public Methods

                            - renderable.js:481 + renderable.js:486 @@ -3890,7 +3890,7 @@

                            Public Methods

                            - renderable.js:750 + renderable.js:755 @@ -4023,7 +4023,7 @@

                            Public Methods

                            - renderable.js:831 + renderable.js:844 @@ -4071,7 +4071,7 @@

                            Public Methods

                            - renderable.js:722 + renderable.js:727 @@ -4164,7 +4164,7 @@

                            Public Methods

                            - renderable.js:647 + renderable.js:652 @@ -4258,7 +4258,7 @@

                            Public Methods

                            - renderable.js:502 + renderable.js:507 @@ -4383,7 +4383,7 @@

                            Public Methods

                            - renderable.js:517 + renderable.js:522 @@ -4516,7 +4516,7 @@

                            Public Methods

                            - renderable.js:534 + renderable.js:539 @@ -4621,7 +4621,7 @@

                            Public Methods

                            - renderable.js:387 + renderable.js:392 @@ -4700,7 +4700,7 @@

                            Public Methods

                            - renderable.js:426 + renderable.js:431 @@ -4813,7 +4813,7 @@

                            Public Methods

                            - renderable.js:544 + renderable.js:549 @@ -4918,7 +4918,7 @@

                            Public Methods

                            - renderable.js:553 + renderable.js:558 diff --git a/docs/docs/melonjs/Renderer.html b/docs/docs/melonjs/Renderer.html index 4bdcbfde4a..c07caa3243 100644 --- a/docs/docs/melonjs/Renderer.html +++ b/docs/docs/melonjs/Renderer.html @@ -1,5 +1,5 @@ - + @@ -269,6 +269,22 @@

                            Properties from Renderer

                            + + CanvasRenderTarget + + +
                            + renderTarget +
                            +
                            + +
                            +
                            @@ -788,7 +804,7 @@

                            Public Properties

                            - renderer.js:47 + renderer.js:55 @@ -837,7 +853,7 @@

                            Public Properties

                            - renderer.js:26 + renderer.js:34 @@ -886,7 +902,7 @@

                            Public Properties

                            - renderer.js:109 + renderer.js:117 @@ -959,7 +975,7 @@

                            Public Properties

                            - renderer.js:40 + renderer.js:48 @@ -1008,7 +1024,7 @@

                            Public Properties

                            - renderer.js:55 + renderer.js:63 @@ -1036,6 +1052,55 @@

                            Public Properties

                            + + + + +
                            + +
                            + + + + + renderTarget + + + + + + renderer.js:20 + + + +
                            + + +
                            renderTarget: CanvasRenderTarget
                            +
                            +CanvasRenderTarget
                            + +
                            + +
                            + +
                            +
                            +

                            The renderer renderTarget

                            +
                            + + + + + + + + +
                            @@ -1057,7 +1122,7 @@

                            Public Properties

                            - renderer.js:33 + renderer.js:41 @@ -1106,7 +1171,7 @@

                            Public Properties

                            - renderer.js:19 + renderer.js:27 @@ -1155,7 +1220,7 @@

                            Public Properties

                            - renderer.js:61 + renderer.js:69 @@ -1205,7 +1270,7 @@

                            Public Properties

                            - renderer.js:121 + renderer.js:129 @@ -1287,7 +1352,7 @@

                            Public Methods

                            - renderer.js:133 + renderer.js:141 @@ -1334,7 +1399,7 @@

                            Public Methods

                            - renderer.js:384 + renderer.js:374 @@ -1389,7 +1454,7 @@

                            Public Methods

                            - renderer.js:401 + renderer.js:391 @@ -1444,7 +1509,7 @@

                            Public Methods

                            - renderer.js:340 + renderer.js:330 @@ -1523,7 +1588,7 @@

                            Public Methods

                            - renderer.js:138 + renderer.js:146 @@ -1570,7 +1635,7 @@

                            Public Methods

                            - renderer.js:175 + renderer.js:183 @@ -1643,7 +1708,7 @@

                            Public Methods

                            - renderer.js:159 + renderer.js:167 @@ -1713,7 +1778,7 @@

                            Public Methods

                            - renderer.js:219 + renderer.js:227 @@ -1786,7 +1851,7 @@

                            Public Methods

                            - renderer.js:167 + renderer.js:175 @@ -1856,7 +1921,7 @@

                            Public Methods

                            - renderer.js:183 + renderer.js:191 @@ -1981,7 +2046,7 @@

                            Public Methods

                            - deprecated.js:69 + deprecated.js:70 @@ -2063,7 +2128,7 @@

                            Public Methods

                            - deprecated.js:82 + deprecated.js:83 @@ -2146,7 +2211,7 @@

                            Public Methods

                            - renderer.js:227 + renderer.js:235 @@ -2216,7 +2281,7 @@

                            Public Methods

                            - renderer.js:235 + renderer.js:243 @@ -2319,7 +2384,7 @@

                            Public Methods

                            - renderer.js:143 + renderer.js:151 @@ -2366,7 +2431,7 @@

                            Public Methods

                            - renderer.js:247 + renderer.js:255 @@ -2457,7 +2522,7 @@

                            Public Methods

                            - renderer.js:266 + renderer.js:274 @@ -2556,7 +2621,7 @@

                            Public Methods

                            - renderer.js:374 + renderer.js:364 @@ -2661,7 +2726,7 @@

                            Public Methods

                            - renderer.js:293 + renderer.js:283 @@ -2738,7 +2803,7 @@

                            Public Methods

                            - renderer.js:390 + renderer.js:380 @@ -2837,7 +2902,7 @@

                            Public Methods

                            - renderer.js:301 + renderer.js:291 @@ -2940,7 +3005,7 @@

                            Public Methods

                            - renderer.js:348 + renderer.js:338 @@ -3087,7 +3152,7 @@

                            Public Methods

                            - renderer.js:410 + renderer.js:400 @@ -3220,7 +3285,7 @@

                            Public Methods

                            - renderer.js:449 + renderer.js:425 @@ -3353,7 +3418,7 @@

                            Public Methods

                            - renderer.js:428 + renderer.js:412 @@ -3515,6 +3580,10 @@

                            Public Methods

                            path2D +
                          • + renderTarget +
                          • +
                          • scaleRatio
                          • diff --git a/docs/docs/melonjs/Renderer/Texture.html b/docs/docs/melonjs/Renderer/Texture.html index 3b5d9ad404..2250c5a216 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 6e801782bc..333091ba76 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 38a78b74cb..8a2336ec08 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 ccae4fda4c..b907576d0c 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 566242e8cd..18e647dab8 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 b703fcdca0..d1bc8cde4f 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 3742baaa10..30a1668c4b 100644 --- a/docs/docs/melonjs/Stage.html +++ b/docs/docs/melonjs/Stage.html @@ -1,5 +1,5 @@ - + @@ -361,7 +361,7 @@

                            Methods from Stage

                            - onResetEvent() + onResetEvent(args: unknown)
                            @@ -694,9 +694,9 @@

                            Public Methods

                            -
                            - ...arguments + args - object + unknown

                            <optional>

                            @@ -842,7 +842,7 @@

                            Public Methods

                            onDestroyEvent -
                          • +
                          • onResetEvent
                          • diff --git a/docs/docs/melonjs/TMXHexagonalRenderer.html b/docs/docs/melonjs/TMXHexagonalRenderer.html index 5b05c49613..07e9890760 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 1e3b79fccd..df8d570928 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 6905382bd5..b1f843cd2c 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 cc73008ef2..901ea6909e 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 0958a8bd4b..a6f626d976 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 b197e318aa..8678a732ba 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 d2375f168f..5d89a51aa1 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 51baac2238..4d9bce497c 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 df474796a7..410d405bf2 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 109799a2bb..2a5566bb38 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 eb1e0ffece..d99ff19d1f 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 c6adfd0924..a5078094a9 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 3539260501..a37211dd71 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 a789178ad6..8dd5746f97 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 aab46efe87..7b18f8cd0e 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 b0ea8c2f49..7c7064ff01 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 c318c17b83..0fa302f941 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 63e02c9906..8b1678c197 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 9f7be2cc81..bf08028137 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 6de4e0ca5d..b1ce78ff70 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 4a377bda84..db27ce5d7c 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 7879287ad7..93fdcf06c6 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 eeada05e94..91faf04bc4 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 15359e8d4d..6b7efb07bf 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 4e37997b28..7ead7ef329 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 6ecbd9d8c2..e92e07bbbe 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 634bc6a9f1..d2544149b0 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 a82456a79e..fcdde1f79a 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 baeb1f5e52..eded2e9765 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 3b2213225c..16dd42c162 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 333a6a83d5..6a57050487 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 faedfd7c60..ccc67937fe 100644 --- a/docs/docs/melonjs/WebGLRenderer.html +++ b/docs/docs/melonjs/WebGLRenderer.html @@ -1,5 +1,5 @@ - + @@ -678,12 +678,12 @@

                            Methods from WebGLRenderer

                            - WebGLRenderingContext + number
                            - getContextGL(canvas: HTMLCanvasElement, transparent: boolean, depth: boolean) + getGlobalAlpha()
                            @@ -694,12 +694,26 @@

                            Methods from WebGLRenderer

                            - number + Object
                            - getGlobalAlpha() + getSupportedCompressedTextureFormats() +
                            +
                            + +
                            +
                            + + +
                            + hasSupportedCompressedFormats(format: Number)
                            @@ -1228,6 +1242,22 @@

                            Properties inherited from Renderer

                            + + CanvasRenderTarget + + +
                            + renderTarget +
                            +
                            + +
                            +
                            @@ -1601,7 +1631,7 @@

                            Public Properties

                            - webgl_renderer.js:108 + webgl_renderer.js:103 @@ -1650,7 +1680,7 @@

                            Public Properties

                            - webgl_renderer.js:96 + webgl_renderer.js:91 @@ -1699,7 +1729,7 @@

                            Public Properties

                            - webgl_renderer.js:102 + webgl_renderer.js:97 @@ -1748,7 +1778,7 @@

                            Public Properties

                            - webgl_renderer.js:90 + webgl_renderer.js:85 @@ -1797,7 +1827,7 @@

                            Public Properties

                            - webgl_renderer.js:50 + webgl_renderer.js:45 @@ -1846,7 +1876,7 @@

                            Public Properties

                            - webgl_renderer.js:42 + webgl_renderer.js:37 @@ -1895,7 +1925,7 @@

                            Public Properties

                            - webgl_renderer.js:34 + webgl_renderer.js:29 @@ -1944,7 +1974,7 @@

                            Public Properties

                            - webgl_renderer.js:63 + webgl_renderer.js:58 @@ -1993,7 +2023,7 @@

                            Public Properties

                            - webgl_renderer.js:57 + webgl_renderer.js:52 @@ -2042,7 +2072,7 @@

                            Public Properties

                            - webgl_renderer.js:26 + webgl_renderer.js:180 @@ -2100,7 +2130,7 @@

                            Public Methods

                            - webgl_renderer.js:231 + webgl_renderer.js:273 @@ -2221,7 +2251,7 @@

                            Public Methods

                            - webgl_renderer.js:469 + webgl_renderer.js:511 @@ -2283,7 +2313,7 @@

                            Public Methods

                            - webgl_renderer.js:350 + webgl_renderer.js:392 @@ -2330,7 +2360,7 @@

                            Public Methods

                            - webgl_renderer.js:363 + webgl_renderer.js:405 @@ -2433,7 +2463,7 @@

                            Public Methods

                            - webgl_renderer.js:1161 + webgl_renderer.js:1152 @@ -2488,7 +2518,7 @@

                            Public Methods

                            - webgl_renderer.js:386 + webgl_renderer.js:428 @@ -2603,7 +2633,7 @@

                            Public Methods

                            - webgl_renderer.js:1070 + webgl_renderer.js:1061 @@ -2722,7 +2752,7 @@

                            Public Methods

                            - webgl_renderer.js:555 + webgl_renderer.js:597 @@ -2769,7 +2799,7 @@

                            Public Methods

                            - webgl_renderer.js:291 + webgl_renderer.js:333 @@ -2901,7 +2931,7 @@

                            Public Methods

                            - webgl_renderer.js:400 + webgl_renderer.js:442 @@ -3085,7 +3115,7 @@

                            Public Methods

                            - webgl_renderer.js:453 + webgl_renderer.js:495 @@ -3220,7 +3250,7 @@

                            Public Methods

                            - webgl_renderer.js:547 + webgl_renderer.js:589 @@ -3303,7 +3333,7 @@

                            Public Methods

                            - webgl_renderer.js:824 + webgl_renderer.js:815 @@ -3478,7 +3508,7 @@

                            Public Methods

                            - webgl_renderer.js:856 + webgl_renderer.js:847 @@ -3593,7 +3623,7 @@

                            Public Methods

                            - webgl_renderer.js:883 + webgl_renderer.js:874 @@ -3708,7 +3738,7 @@

                            Public Methods

                            - webgl_renderer.js:1005 + webgl_renderer.js:996 @@ -3799,7 +3829,7 @@

                            Public Methods

                            - webgl_renderer.js:926 + webgl_renderer.js:917 @@ -3878,7 +3908,7 @@

                            Public Methods

                            - webgl_renderer.js:953 + webgl_renderer.js:944 @@ -3993,7 +4023,7 @@

                            Public Methods

                            - webgl_renderer.js:984 + webgl_renderer.js:975 @@ -4120,7 +4150,7 @@

                            Public Methods

                            - webgl_renderer.js:323 + webgl_renderer.js:365 @@ -4167,7 +4197,7 @@

                            Public Methods

                            - webgl_renderer.js:613 + webgl_renderer.js:604 @@ -4224,10 +4254,10 @@

                            Public Methods

                            -
                            +
                            -
                            - +
                            + Public Methods /> - getContextGL + getGlobalAlpha - webgl_renderer.js:562 + webgl_renderer.js:767
                            -
                            getContextGL(canvas: HTMLCanvasElement, transparent: boolean, depth: boolean) → {WebGLRenderingContext}
                            +
                            getGlobalAlpha() → {number}
                            @@ -4256,7 +4286,7 @@

                            Public Methods

                            -

                            Returns the WebGL Context object of the given canvas element

                            +

                            Return the global alpha

                            @@ -4264,80 +4294,79 @@

                            Public Methods

                            + +
                            - - - - - - - - - +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + + + + + - - - - - - - - - - - - - - - - + + - - -
                            Returns:
                            TypeDescription
                            - canvas - - HTMLCanvasElement - - - - - - - -

                            the canvas element

                            -
                            - transparent - - boolean - -

                            <optional>

                            - - -
                            - false - -

                            use true to enable transparency

                            -
                            - depth - - boolean +
                            + number -

                            <optional>

                            - +
                            +

                            global alpha value

                            +
                            - false - -

                            use true to enable depth buffer testing

                            -
                            + +
                            + + + +
                            + +
                            + + + + + getSupportedCompressedTextureFormats + + + + + + webgl_renderer.js:190 + + + +
                            + + +
                            getSupportedCompressedTextureFormats() → {Object}
                            + +
                            + +
                            + +
                            +
                            +

                            return the list of supported compressed texture formats

                            +
                            + + + + + + @@ -4353,12 +4382,9 @@

                            Public Methods

                            - WebGLRenderingContext + Object - -

                            the WebGL Context object

                            -
                            + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + format + + Number +
                            +
                            + + @@ -4426,12 +4482,9 @@

                            Public Methods

                            - number + - -

                            global alpha value

                            -
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + sound_name + + string + +

                            audio clip name - case sensitive

                            +
                            + x + + Number + +

                            the x-orientation of the audio source.

                            +
                            + y + + Number + +

                            the y-orientation of the audio source.

                            +
                            + z + + Number + +

                            the z-orientation of the audio source.

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Array + + +

                            the current 3D spatial orientation: [x, y, z]

                            + +
                            +
                            + + + +
                            + + + +
                            + +
                            + + + + + panner + + + + + + audio.js:337 + + + +
                            + + +
                            panner(sound_name: string, attribute: object) → {Object}
                            + +
                            + +
                            + +
                            +
                            +

                            get or set the panner node's attributes for a sound or group of sounds. +See https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Web_audio_spatialization_basics#creating_a_panner_node

                            +
                            + + + +
                            me.audio.panner("cling", {
                            +   panningModel: 'HRTF',
                            +   refDistance: 0.8,
                            +   rolloffFactor: 2.5,
                            +   distanceModel: 'exponential'
                            +});
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + sound_name + + string + + + + + + + +

                            audio clip name - case sensitive

                            +
                            + attribute + + object + +

                            <optional>

                            + + +
                            + + +

                            the panner attributes to set

                            +
                            + settings.coneInnerAngle + + string + +

                            <optional>

                            + + +
                            + 360 + +

                            A parameter for directional audio sources, this is an angle, in degrees, inside of which there will be no volume reduction.

                            +
                            + settings.coneOuterAngle + + string + +

                            <optional>

                            + + +
                            + 360 + +

                            A parameter for directional audio sources, this is an angle, in degrees, outside of which the volume will be reduced to a constant value of coneOuterGain.

                            +
                            + settings.coneOuterGain + + string + +

                            <optional>

                            + + +
                            + 0 + +

                            A parameter for directional audio sources, this is the gain outside of the coneOuterAngle. It is a linear value in the range [0, 1].

                            +
                            + settings.distanceModel + + string + +

                            <optional>

                            + + +
                            + "inverse" + +

                            Determines algorithm used to reduce volume as audio moves away from listener. Can be linear, inverse or `exponential.

                            +
                            + settings.maxDistance + + string + +

                            <optional>

                            + + +
                            + 10000 + +

                            The maximum distance between source and listener, after which the volume will not be reduced any further.

                            +
                            + settings.refDistance + + string + +

                            <optional>

                            + + +
                            + 1 + +

                            A reference distance for reducing volume as source moves further from the listener. This is simply a variable of the distance model and has a different effect depending on which model is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.

                            +
                            + settings.rolloffFactor + + string + +

                            <optional>

                            + + +
                            + 1 + +

                            How quickly the volume reduces as source moves from listener. This is simply a variable of the distance model and can be in the range of [0, 1] with linear and [0, ∞] with inverse and exponential.

                            +
                            + settings.panningModel + + string + +

                            <optional>

                            + + +
                            + "HRTF" + +

                            Determines which spatialization algorithm is used to position audio. Can be HRTF or equalpower.

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Object + + +

                            current panner attributes.

                            + +
                            +
                            + + + +
                            + + +
                            @@ -1350,7 +1775,7 @@

                            Public Methods

                            - audio.js:306 + audio.js:392 @@ -1454,7 +1879,7 @@

                            Public Methods

                            - audio.js:386 + audio.js:472 @@ -1505,7 +1930,7 @@

                            Public Methods

                            - audio.js:180 + audio.js:179 @@ -1681,7 +2106,7 @@

                            Public Methods

                            - audio.js:348 + audio.js:434 @@ -1799,6 +2224,147 @@

                            Public Methods

                            +
                            + +
                            + + + + + position + + + + + + audio.js:300 + + + +
                            + + +
                            position(sound_name: string, x: Number, y: Number, z: Number) → {Array}
                            + +
                            + +
                            + +
                            +
                            +

                            get or set the 3D spatial position for the specified sound.

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + sound_name + + string + +

                            audio clip name - case sensitive

                            +
                            + x + + Number + +

                            the x-position of the audio source.

                            +
                            + y + + Number + +

                            the y-position of the audio source.

                            +
                            + z + + Number + +

                            the z-position of the audio source.

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Array + + +

                            the current 3D spatial position: [x, y, z]

                            + +
                            +
                            + + + +
                            + + +
                            @@ -1816,7 +2382,7 @@

                            Public Methods

                            - audio.js:261 + audio.js:260 @@ -1964,7 +2530,7 @@

                            Public Methods

                            - audio.js:324 + audio.js:410 @@ -2074,7 +2640,7 @@

                            Public Methods

                            - audio.js:398 + audio.js:484 @@ -2130,7 +2696,7 @@

                            Public Methods

                            - audio.js:239 + audio.js:238 @@ -2278,7 +2844,7 @@

                            Public Methods

                            - audio.js:424 + audio.js:510 @@ -2336,6 +2902,135 @@

                            Public Methods

                            +
                            + + + +
                            + +
                            + + + + + stereo + + + + + + audio.js:282 + + + +
                            + + +
                            stereo(sound_name: string, pan: number) → {number}
                            + +
                            + +
                            + +
                            +
                            +

                            get or set the stereo panning for the specified sound.

                            +
                            + + + +
                            me.audio.stereo("cling", -1);
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDescription
                            + sound_name + + string + + + + + +

                            audio clip name - case sensitive

                            +
                            + pan + + number + +

                            <optional>

                            + + +
                            +

                            the panning value - A value of -1.0 is all the way left and 1.0 is all the way right.

                            +
                            +
                            + + + + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + number + + +

                            the current panning value

                            + +
                            +
                            + + +
                            @@ -2357,7 +3052,7 @@

                            Public Methods

                            - audio.js:283 + audio.js:369 @@ -2460,7 +3155,7 @@

                            Public Methods

                            - audio.js:369 + audio.js:455 @@ -2522,7 +3217,7 @@

                            Public Methods

                            - audio.js:496 + audio.js:582 @@ -2631,7 +3326,7 @@

                            Public Methods

                            - audio.js:515 + audio.js:601 @@ -2682,7 +3377,7 @@

                            Public Methods

                            - audio.js:461 + audio.js:547 @@ -2781,7 +3476,7 @@

                            Public Methods

                            - audio.js:479 + audio.js:565 @@ -2898,6 +3593,14 @@

                            Public Methods

                            muted +
                          • + orientation +
                          • + +
                          • + panner +
                          • +
                          • pause
                          • @@ -2914,6 +3617,10 @@

                            Public Methods

                            playTrack +
                          • + position +
                          • +
                          • rate
                          • @@ -2934,6 +3641,10 @@

                            Public Methods

                            setVolume +
                          • + stereo +
                          • +
                          • stop
                          • diff --git a/docs/docs/melonjs/audio/disable.html b/docs/docs/melonjs/audio/disable.html index 0aa0a9d079..6090f3ac09 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 7f7dfc42b9..2c805a31b0 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 e0214f28c9..3ee798868a 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 d8e4bad03a..19ab588a07 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 b726d37df9..71f59026aa 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 935b92e86b..df8e68730e 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 9ac62e803c..8c12e28d18 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 3214e2ddb7..d60cca197c 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 ed2dd0c25b..9cdf507fc5 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 a43cc6601d..3ef209d77f 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 ff5bfdaa16..3419e9da12 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 1a02f22ef3..23d798a346 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/orientation.html b/docs/docs/melonjs/audio/orientation.html new file mode 100644 index 0000000000..eb25578627 --- /dev/null +++ b/docs/docs/melonjs/audio/orientation.html @@ -0,0 +1,235 @@ + + + + + + + melonJS: orientation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + +
                            +
                            + +
                            +

                            + audio.orientation +

                            + +
                            + + +
                            orientation(sound_name: string, x: Number, y: Number, z: Number) → {Array}
                            + + +
                            +
                            +

                            Get/set the direction the audio source is pointing in the 3D cartesian coordinate space. +Depending on how direction the sound is, based on the cone attributes, a sound pointing away from the listener can be quiet or silent.

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + sound_name + + string + +

                            audio clip name - case sensitive

                            +
                            + x + + Number + +

                            the x-orientation of the audio source.

                            +
                            + y + + Number + +

                            the y-orientation of the audio source.

                            +
                            + z + + Number + +

                            the z-orientation of the audio source.

                            +
                            +
                            + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Array + + +

                            the current 3D spatial orientation: [x, y, z]

                            + +
                            +
                            + + + + + + + + + + +
                            + + + + +
                            + +
                            + + + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/audio/panner.html b/docs/docs/melonjs/audio/panner.html new file mode 100644 index 0000000000..fc09de16cf --- /dev/null +++ b/docs/docs/melonjs/audio/panner.html @@ -0,0 +1,376 @@ + + + + + + + melonJS: panner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + +
                            +
                            + +
                            +

                            + audio.panner +

                            + +
                            + + +
                            panner(sound_name: string, attribute: object) → {Object}
                            + + +
                            +
                            +

                            get or set the panner node's attributes for a sound or group of sounds. +See https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Web_audio_spatialization_basics#creating_a_panner_node

                            +
                            + + + +
                            me.audio.panner("cling", {
                            +   panningModel: 'HRTF',
                            +   refDistance: 0.8,
                            +   rolloffFactor: 2.5,
                            +   distanceModel: 'exponential'
                            +});
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDefaultDescription
                            + sound_name + + string + + + + + + + +

                            audio clip name - case sensitive

                            +
                            + attribute + + object + +

                            <optional>

                            + + +
                            + + +

                            the panner attributes to set

                            +
                            + settings.coneInnerAngle + + string + +

                            <optional>

                            + + +
                            + 360 + +

                            A parameter for directional audio sources, this is an angle, in degrees, inside of which there will be no volume reduction.

                            +
                            + settings.coneOuterAngle + + string + +

                            <optional>

                            + + +
                            + 360 + +

                            A parameter for directional audio sources, this is an angle, in degrees, outside of which the volume will be reduced to a constant value of coneOuterGain.

                            +
                            + settings.coneOuterGain + + string + +

                            <optional>

                            + + +
                            + 0 + +

                            A parameter for directional audio sources, this is the gain outside of the coneOuterAngle. It is a linear value in the range [0, 1].

                            +
                            + settings.distanceModel + + string + +

                            <optional>

                            + + +
                            + "inverse" + +

                            Determines algorithm used to reduce volume as audio moves away from listener. Can be linear, inverse or `exponential.

                            +
                            + settings.maxDistance + + string + +

                            <optional>

                            + + +
                            + 10000 + +

                            The maximum distance between source and listener, after which the volume will not be reduced any further.

                            +
                            + settings.refDistance + + string + +

                            <optional>

                            + + +
                            + 1 + +

                            A reference distance for reducing volume as source moves further from the listener. This is simply a variable of the distance model and has a different effect depending on which model is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.

                            +
                            + settings.rolloffFactor + + string + +

                            <optional>

                            + + +
                            + 1 + +

                            How quickly the volume reduces as source moves from listener. This is simply a variable of the distance model and can be in the range of [0, 1] with linear and [0, ∞] with inverse and exponential.

                            +
                            + settings.panningModel + + string + +

                            <optional>

                            + + +
                            + "HRTF" + +

                            Determines which spatialization algorithm is used to position audio. Can be HRTF or equalpower.

                            +
                            +
                            + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Object + + +

                            current panner attributes.

                            + +
                            +
                            + + + + + + + + + + +
                            + + + + +
                            + +
                            + + + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/audio/pause.html b/docs/docs/melonjs/audio/pause.html index afeb07aa83..d95ef42d8c 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 e579a23b90..ba723d0968 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 1b72414c0d..0dd348b807 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 d2380fd16b..0830f12f76 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/position.html b/docs/docs/melonjs/audio/position.html new file mode 100644 index 0000000000..e18737b9b7 --- /dev/null +++ b/docs/docs/melonjs/audio/position.html @@ -0,0 +1,234 @@ + + + + + + + melonJS: position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + +
                            +
                            + +
                            +

                            + audio.position +

                            + +
                            + + +
                            position(sound_name: string, x: Number, y: Number, z: Number) → {Array}
                            + + +
                            +
                            +

                            get or set the 3D spatial position for the specified sound.

                            +
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeDescription
                            + sound_name + + string + +

                            audio clip name - case sensitive

                            +
                            + x + + Number + +

                            the x-position of the audio source.

                            +
                            + y + + Number + +

                            the y-position of the audio source.

                            +
                            + z + + Number + +

                            the z-position of the audio source.

                            +
                            +
                            + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + Array + + +

                            the current 3D spatial position: [x, y, z]

                            + +
                            +
                            + + + + + + + + + + +
                            + + + + +
                            + +
                            + + + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/audio/rate.html b/docs/docs/melonjs/audio/rate.html index 5b9657aca9..66e1fca248 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 cc7b3a8df8..daa530b1b7 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 0d990aedd0..c0bffd1148 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 50ef04d776..4e2ac869c5 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 60d0e9a332..0a18746f04 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/stereo.html b/docs/docs/melonjs/audio/stereo.html new file mode 100644 index 0000000000..a4d08f0a63 --- /dev/null +++ b/docs/docs/melonjs/audio/stereo.html @@ -0,0 +1,222 @@ + + + + + + + melonJS: stereo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + +
                            +
                            + +
                            +

                            + audio.stereo +

                            + +
                            + + +
                            stereo(sound_name: string, pan: number) → {number}
                            + + +
                            +
                            +

                            get or set the stereo panning for the specified sound.

                            +
                            + + + +
                            me.audio.stereo("cling", -1);
                            + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            Parameters:
                            NameTypeAttributesDescription
                            + sound_name + + string + + + + + +

                            audio clip name - case sensitive

                            +
                            + pan + + number + +

                            <optional>

                            + + +
                            +

                            the panning value - A value of -1.0 is all the way left and 1.0 is all the way right.

                            +
                            +
                            + + +
                            + + + + + + + + + + + + + + +
                            Returns:
                            TypeDescription
                            + number + + +

                            the current panning value

                            + +
                            +
                            + + + + + + + + + + +
                            + + + + +
                            + +
                            + + + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/audio/stop.html b/docs/docs/melonjs/audio/stop.html index a999713162..a0f69d7612 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 cf62380ffd..1066988177 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 25c2e6eddb..4701764cd6 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 0e7d794555..4995b2cd8c 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 d8dac1225a..13ad9ab751 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 6581581a63..2d1c7ec651 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 6054558108..12dd382914 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 abeb0e3b05..56b7060097 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 f45079fa72..e0c3add92e 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 8c006ada3f..c0ee0bcb49 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 cced247849..bb188b67da 100644 --- a/docs/docs/melonjs/device.html +++ b/docs/docs/melonjs/device.html @@ -1,5 +1,5 @@ - + @@ -674,7 +674,7 @@

                            Public Properties

                            - device.js:255 + device.js:258 @@ -731,7 +731,7 @@

                            Public Properties

                            - device.js:264 + device.js:267 @@ -788,7 +788,7 @@

                            Public Properties

                            - device.js:273 + device.js:276 @@ -845,7 +845,7 @@

                            Public Properties

                            - device.js:300 + device.js:303 @@ -903,7 +903,7 @@

                            Public Properties

                            - device.js:341 + device.js:344 @@ -952,7 +952,7 @@

                            Public Properties

                            - device.js:291 + device.js:294 @@ -1009,7 +1009,7 @@

                            Public Properties

                            - device.js:238 + device.js:241 @@ -1058,7 +1058,7 @@

                            Public Properties

                            - device.js:282 + device.js:285 @@ -1115,7 +1115,7 @@

                            Public Properties

                            - device.js:149 + device.js:152 @@ -1164,7 +1164,7 @@

                            Public Properties

                            - device.js:132 + device.js:135 @@ -1213,7 +1213,7 @@

                            Public Properties

                            - device.js:157 + device.js:160 @@ -1262,7 +1262,7 @@

                            Public Properties

                            - device.js:177 + device.js:180 @@ -1311,7 +1311,7 @@

                            Public Properties

                            - device.js:124 + device.js:127 @@ -1360,7 +1360,7 @@

                            Public Properties

                            - device.js:194 + device.js:197 @@ -1409,7 +1409,7 @@

                            Public Properties

                            - device.js:169 + device.js:172 @@ -1458,7 +1458,7 @@

                            Public Properties

                            - device.js:246 + device.js:249 @@ -1508,7 +1508,7 @@

                            Public Properties

                            - device.js:228 + device.js:231 @@ -1566,7 +1566,7 @@

                            Public Properties

                            - device.js:203 + device.js:206 @@ -1616,7 +1616,7 @@

                            Public Properties

                            - device.js:103 + device.js:106 @@ -1671,7 +1671,7 @@

                            Public Properties

                            - device.js:220 + device.js:223 @@ -1720,7 +1720,7 @@

                            Public Properties

                            - device.js:212 + device.js:215 @@ -1769,7 +1769,7 @@

                            Public Properties

                            - device.js:310 + device.js:313 @@ -1830,7 +1830,7 @@

                            Public Properties

                            - device.js:71 + device.js:74 @@ -1879,7 +1879,7 @@

                            Public Properties

                            - device.js:87 + device.js:90 @@ -1928,7 +1928,7 @@

                            Public Properties

                            - device.js:320 + device.js:323 @@ -1989,7 +1989,7 @@

                            Public Properties

                            - device.js:140 + device.js:143 @@ -2046,7 +2046,7 @@

                            Public Properties

                            - device.js:185 + device.js:188 @@ -2095,7 +2095,7 @@

                            Public Properties

                            - device.js:330 + device.js:333 @@ -2157,7 +2157,7 @@

                            Public Properties

                            - device.js:95 + device.js:98 @@ -2206,7 +2206,7 @@

                            Public Properties

                            - device.js:79 + device.js:82 @@ -2255,7 +2255,7 @@

                            Public Properties

                            - device.js:115 + device.js:118 @@ -2313,7 +2313,7 @@

                            Public Methods

                            - device.js:428 + device.js:431 @@ -2398,7 +2398,7 @@

                            Public Methods

                            - device.js:483 + device.js:486 @@ -2445,7 +2445,7 @@

                            Public Methods

                            - device.js:694 + device.js:699 @@ -2498,7 +2498,7 @@

                            Public Methods

                            - device.js:615 + device.js:618 @@ -2603,7 +2603,7 @@

                            Public Methods

                            - device.js:641 + device.js:644 @@ -2717,7 +2717,7 @@

                            Public Methods

                            - device.js:659 + device.js:662 @@ -2831,7 +2831,7 @@

                            Public Methods

                            - device.js:599 + device.js:602 @@ -2936,7 +2936,7 @@

                            Public Methods

                            - device.js:493 + device.js:496 @@ -3018,7 +3018,7 @@

                            Public Methods

                            - device.js:582 + device.js:585 @@ -3135,7 +3135,7 @@

                            Public Methods

                            - device.js:832 + device.js:837 @@ -3240,7 +3240,7 @@

                            Public Methods

                            - device.js:446 + device.js:449 @@ -3310,7 +3310,7 @@

                            Public Methods

                            - device.js:573 + device.js:576 @@ -3380,7 +3380,7 @@

                            Public Methods

                            - device.js:564 + device.js:567 @@ -3450,7 +3450,7 @@

                            Public Methods

                            - device.js:671 + device.js:674 @@ -3579,7 +3579,7 @@

                            Public Methods

                            - device.js:527 + device.js:530 @@ -3693,7 +3693,7 @@

                            Public Methods

                            - device.js:349 + device.js:352 @@ -3812,7 +3812,7 @@

                            Public Methods

                            - device.js:459 + device.js:462 @@ -3908,7 +3908,7 @@

                            Public Methods

                            - device.js:546 + device.js:549 @@ -3990,7 +3990,7 @@

                            Public Methods

                            - device.js:749 + device.js:754 @@ -4037,7 +4037,7 @@

                            Public Methods

                            - device.js:798 + device.js:803 @@ -4084,7 +4084,7 @@

                            Public Methods

                            - device.js:809 + device.js:814 @@ -4177,7 +4177,7 @@

                            Public Methods

                            - device.js:708 + device.js:713 @@ -4279,7 +4279,7 @@

                            Public Methods

                            - device.js:761 + device.js:766 diff --git a/docs/docs/melonjs/device/enableSwipe.html b/docs/docs/melonjs/device/enableSwipe.html index cb54dec73b..4ec82105ea 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 28ff1e0df0..39791ed612 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 9f3c27692f..71d7434de7 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 99d9a0e135..bd3afb294e 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 ad72c2a738..652a3f3193 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 d2913b71b8..013890e087 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 d95086c503..f8df78fdd1 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 9c172e0d52..c3e08db650 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 85ef3fba87..d2c7cd99fd 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/hasVideoFormat.html b/docs/docs/melonjs/device/hasVideoFormat.html index 56a7141aca..20182e178f 100644 --- a/docs/docs/melonjs/device/hasVideoFormat.html +++ b/docs/docs/melonjs/device/hasVideoFormat.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/device/isFullscreen.html b/docs/docs/melonjs/device/isFullscreen.html index 96f0f3a394..0ece83e10a 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 6ad1c47a0a..36bbe6d00e 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 5deb5d5c9f..e3bad412f6 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 4d05e0a19a..2312930db6 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 898bffef68..fb61afd689 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 70030d2584..8a2e325208 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 ffb32a1303..c9b10967ae 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 91f3faf8bd..3386bf072e 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 f98a892541..8918d01087 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 8d5b4b33da..e9f44b6121 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 123caa87a2..eb96b53f87 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 8bbc5a7e4d..5b212bac9d 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 89fea9bc21..8523be6faa 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 405abc61ab..eb9c1bde32 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 2c074dd25f..8514666f08 100644 --- a/docs/docs/melonjs/event.html +++ b/docs/docs/melonjs/event.html @@ -1,5 +1,5 @@ - + @@ -3273,7 +3273,7 @@

                            Public Methods

                            -
                            emit(eventName: string | symbol) → {boolean}
                            +
                            emit(eventName: string | symbol, args: unknown) → {boolean}
                            @@ -3325,10 +3325,10 @@

                            Public Methods

                            - ...arguments + args - object + unknown

                            <optional>

                            diff --git a/docs/docs/melonjs/event/emit.html b/docs/docs/melonjs/event/emit.html index 47110343e2..5ac86f4d51 100644 --- a/docs/docs/melonjs/event/emit.html +++ b/docs/docs/melonjs/event/emit.html @@ -1,5 +1,5 @@ - + @@ -87,7 +87,7 @@

                            -
                            emit(eventName: string | symbol) → {boolean}
                            +
                            emit(eventName: string | symbol, args: unknown) → {boolean}
                            @@ -136,10 +136,10 @@

                            - ...arguments + args - object + unknown

                            <optional>

                            diff --git a/docs/docs/melonjs/event/off.html b/docs/docs/melonjs/event/off.html index a859d2c4d0..19953d347e 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 c12c366f32..2b2ccb0cb8 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 1250b64bee..72bcd8b9c0 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/game.html b/docs/docs/melonjs/game.html index 46a3dd4d18..8c8cd8c7ee 100644 --- a/docs/docs/melonjs/game.html +++ b/docs/docs/melonjs/game.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/input.html b/docs/docs/melonjs/input.html index 3811949bdd..302b817848 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 1be7f540c8..8fd1030877 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 34dd127b7f..89f97cdb85 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 19ba44a618..b38b42e4d3 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 29a3eb3d0b..62c36363b7 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 bbc48e21fe..8bef5b2e02 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 cee309b758..300e44e647 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 beb5c7f1b4..d4d2bedfcc 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 faa03f1907..34759d42db 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 1d8c66e123..58eea89dd1 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 826210053b..ee28480b04 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 0deddace77..222f50e742 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 aafd9fe69a..065439ebe5 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 67796ab309..52ffc51ccf 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 308ab9d987..137da8d256 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 b172aabf93..b954849795 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 35e8feff38..66843f6b02 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 87f1d9636d..5720718d11 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 d6524c0846..f5e9d2ff41 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 5ffd155609..fcb74f152d 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 1786ccff86..c015ee174c 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 9dc80b22b7..fc94b46aa6 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 48629ab657..45dec4e347 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 aaebaa18f2..18bb0ebcb3 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 c18fcf873a..fc3b6124a7 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 e19892015f..731f7e38bd 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 a84dd299f8..34309cf251 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 389fcadf2a..9114952a50 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 9074598409..7cf635fdb3 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 f65cbf36f9..ae2b6640c7 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 4311b42fed..bcd8547c5d 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 6273871f4b..857083836e 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 0afa938864..4bf8d2fa1c 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 bbdf0d6a23..f0c96878c0 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 43d1296be3..174f887dd2 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 9a3e7732d8..a1cd3e7115 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 3fe1488069..0025313209 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 087de1e310..2879244ed2 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/setOptions.html b/docs/docs/melonjs/loader/setOptions.html index f3000d37bf..16f42b9e9b 100644 --- a/docs/docs/melonjs/loader/setOptions.html +++ b/docs/docs/melonjs/loader/setOptions.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/loader/setParser.html b/docs/docs/melonjs/loader/setParser.html index d357c3ec73..a4e278edcb 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 ebdca94e2b..c9219da982 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 ae6babdb66..dc7e7c7335 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 950be90ae4..0cab27ea2b 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 f8da058d00..dfea4ca66d 100644 --- a/docs/docs/melonjs/plugin.html +++ b/docs/docs/melonjs/plugin.html @@ -1,5 +1,5 @@ - + @@ -469,7 +469,7 @@

                            Public Methods

                            -
                            register(plugin: plugin.BasePlugin, name: string) → {}
                            +
                            register(plugin: plugin.BasePlugin, name: string, args: unknown) → {}
                            @@ -544,10 +544,10 @@

                            Public Methods

                            - ...arguments + args - object + unknown

                            <optional>

                            diff --git a/docs/docs/melonjs/plugin/Base.html b/docs/docs/melonjs/plugin/Base.html index da3dbe5001..6f8aea65b9 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 782e750d8e..3c33440a87 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 a54ff6bc9c..655d6f2fd3 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 f423dc8627..374d78fe70 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 3ed37325f5..f1f7091110 100644 --- a/docs/docs/melonjs/plugin/register.html +++ b/docs/docs/melonjs/plugin/register.html @@ -1,5 +1,5 @@ - + @@ -87,7 +87,7 @@

                            -
                            register(plugin: plugin.BasePlugin, name: string) → {}
                            +
                            register(plugin: plugin.BasePlugin, name: string, args: unknown) → {}
                            @@ -159,10 +159,10 @@

                            - ...arguments + args - object + unknown

                            <optional>

                            diff --git a/docs/docs/melonjs/pool.html b/docs/docs/melonjs/pool.html index debb41b282..bb0b1f49c9 100644 --- a/docs/docs/melonjs/pool.html +++ b/docs/docs/melonjs/pool.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/save.html b/docs/docs/melonjs/save.html index 8218d26d12..7a43e38682 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 ad8fffdca3..732d1ed75b 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 8b6e17f040..475a3fb409 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 104d529bc2..cb9f0b2ee8 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 a38cbad10b..e305c48491 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 2bbb884cac..3c257d4dd8 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 94f73fb92a..4dbd23247f 100644 --- a/docs/docs/melonjs/src/audio/audio.js.html +++ b/docs/docs/melonjs/src/audio/audio.js.html @@ -1,5 +1,5 @@ - + @@ -2184,6 +2184,350 @@ 528 +
                          • + 529 +
                          • + +
                          • + 530 +
                          • + +
                          • + 531 +
                          • + +
                          • + 532 +
                          • + +
                          • + 533 +
                          • + +
                          • + 534 +
                          • + +
                          • + 535 +
                          • + +
                          • + 536 +
                          • + +
                          • + 537 +
                          • + +
                          • + 538 +
                          • + +
                          • + 539 +
                          • + +
                          • + 540 +
                          • + +
                          • + 541 +
                          • + +
                          • + 542 +
                          • + +
                          • + 543 +
                          • + +
                          • + 544 +
                          • + +
                          • + 545 +
                          • + +
                          • + 546 +
                          • + +
                          • + 547 +
                          • + +
                          • + 548 +
                          • + +
                          • + 549 +
                          • + +
                          • + 550 +
                          • + +
                          • + 551 +
                          • + +
                          • + 552 +
                          • + +
                          • + 553 +
                          • + +
                          • + 554 +
                          • + +
                          • + 555 +
                          • + +
                          • + 556 +
                          • + +
                          • + 557 +
                          • + +
                          • + 558 +
                          • + +
                          • + 559 +
                          • + +
                          • + 560 +
                          • + +
                          • + 561 +
                          • + +
                          • + 562 +
                          • + +
                          • + 563 +
                          • + +
                          • + 564 +
                          • + +
                          • + 565 +
                          • + +
                          • + 566 +
                          • + +
                          • + 567 +
                          • + +
                          • + 568 +
                          • + +
                          • + 569 +
                          • + +
                          • + 570 +
                          • + +
                          • + 571 +
                          • + +
                          • + 572 +
                          • + +
                          • + 573 +
                          • + +
                          • + 574 +
                          • + +
                          • + 575 +
                          • + +
                          • + 576 +
                          • + +
                          • + 577 +
                          • + +
                          • + 578 +
                          • + +
                          • + 579 +
                          • + +
                          • + 580 +
                          • + +
                          • + 581 +
                          • + +
                          • + 582 +
                          • + +
                          • + 583 +
                          • + +
                          • + 584 +
                          • + +
                          • + 585 +
                          • + +
                          • + 586 +
                          • + +
                          • + 587 +
                          • + +
                          • + 588 +
                          • + +
                          • + 589 +
                          • + +
                          • + 590 +
                          • + +
                          • + 591 +
                          • + +
                          • + 592 +
                          • + +
                          • + 593 +
                          • + +
                          • + 594 +
                          • + +
                          • + 595 +
                          • + +
                          • + 596 +
                          • + +
                          • + 597 +
                          • + +
                          • + 598 +
                          • + +
                          • + 599 +
                          • + +
                          • + 600 +
                          • + +
                          • + 601 +
                          • + +
                          • + 602 +
                          • + +
                          • + 603 +
                          • + +
                          • + 604 +
                          • + +
                          • + 605 +
                          • + +
                          • + 606 +
                          • + +
                          • + 607 +
                          • + +
                          • + 608 +
                          • + +
                          • + 609 +
                          • + +
                          • + 610 +
                          • + +
                          • + 611 +
                          • + +
                          • + 612 +
                          • + +
                          • + 613 +
                          • + +
                          • + 614 +
                          • +
                            // external import
                             import {Howl, Howler} from "howler";
                            @@ -2253,7 +2597,6 @@
                              * if true, melonJS will throw an exception and stop loading<br>
                              * if false, melonJS will disable sounds and output a warning message
                              * in the console<br>
                            - * @name stopOnAudioError
                              * @type {boolean}
                              * @default true
                              * @memberof audio
                            @@ -2267,7 +2610,7 @@
                              * webm has nearly full browser coverage with a great combination of compression and quality, and mp3 will fallback gracefully for other browsers.
                              * It is important to remember that melonJS selects the first compatible sound based on the list of extensions and given order passed here.
                              * So if you want webm to be used before mp3, you need to put the audio format in that order.
                            - * @function audio.init
                            + * @memberof audio
                              * @param {string} [format="mp3"] - audio format to prioritize ("mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac")
                              * @returns {boolean} Indicates whether audio initialization was successful
                              * @example
                            @@ -2286,7 +2629,7 @@
                             
                             /**
                              * check if the given audio format is supported
                            - * @function audio.hasFormat
                            + * @memberof audio
                              * @param {"mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac"} codec - the audio format to check for support
                              * @returns {boolean} return true if the given audio format is supported
                              */
                            @@ -2296,7 +2639,7 @@
                             
                             /**
                              * check if audio (HTML5 or WebAudio) is supported
                            - * @function audio.hasAudio
                            + * @memberof audio
                              * @returns {boolean} return true if audio (HTML5 or WebAudio) is supported
                              */
                             export function hasAudio() {
                            @@ -2306,7 +2649,7 @@
                             /**
                              * enable audio output <br>
                              * only useful if audio supported and previously disabled through
                            - * @function audio.enable
                            + * @memberof audio
                              * @see audio.disable
                              */
                             export function enable() {
                            @@ -2315,7 +2658,7 @@
                             
                             /**
                              * disable audio output
                            - * @function audio.disable
                            + * @memberof audio
                              */
                             export function disable() {
                                 muteAll();
                            @@ -2323,7 +2666,7 @@
                             
                             /**
                              * Load an audio file
                            - * @function audio.load
                            + * @memberof audio
                              * @param {loader.Asset} sound
                              * @param {Function} [onloadcb] - function to be called when the resource is loaded
                              * @param {Function} [onerrorcb] - function to be called in case of error
                            @@ -2366,7 +2709,7 @@
                             
                             /**
                              * play the specified sound
                            - * @function audio.play
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name - case sensitive
                              * @param {boolean} [loop=false] - loop audio
                              * @param {Function} [onend] - Function to call when sound instance ends playing.
                            @@ -2407,7 +2750,7 @@
                             
                             /**
                              * Fade a currently playing sound between two volumee.
                            - * @function audio.fade
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name - case sensitive
                              * @param {number} from - Volume to fade from (0.0 to 1.0).
                              * @param {number} to - Volume to fade to (0.0 to 1.0).
                            @@ -2425,7 +2768,7 @@
                             
                             /**
                              * get/set the position of playback for a sound.
                            - * @function audio.seek
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name - case sensitive
                              * @param {number} [seek] - the position to move current playback to (in seconds).
                              * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will changed.
                            @@ -2447,7 +2790,7 @@
                             
                             /**
                              * get or set the rate of playback for a sound.
                            - * @function audio.rate
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name - case sensitive
                              * @param {number} [rate] - playback rate : 0.5 to 4.0, with 1.0 being normal speed.
                              * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed.
                            @@ -2467,9 +2810,96 @@
                                 }
                             }
                             
                            +/**
                            + * get or set the stereo panning for the specified sound.
                            + * @memberof audio
                            + * @param {string} sound_name - audio clip name - case sensitive
                            + * @param {number} [pan] - the panning value - A value of -1.0 is all the way left and 1.0 is all the way right.
                            + * @return {number} the current panning value
                            + * @example
                            + * me.audio.stereo("cling", -1);
                            + */
                            +export function stereo(sound_name, pan) {
                            +    let sound = audioTracks[sound_name];
                            +    if (sound && typeof sound !== "undefined") {
                            +        return sound.stereo(pan);
                            +    } else {
                            +        throw new Error("audio clip " + sound_name + " does not exist");
                            +    }
                            +}
                            +
                            +/**
                            + * get or set the 3D spatial position for the specified sound.
                            + * @memberof audio
                            + * @param {string} sound_name - audio clip name - case sensitive
                            + * @param  {Number} x - the x-position of the audio source.
                            + * @param  {Number} y - the y-position of the audio source.
                            + * @param  {Number} z - the z-position of the audio source.
                            + * @return {Array} the current 3D spatial position: [x, y, z]
                            + */
                            +export function position(sound_name, x, y, z) {
                            +    let sound = audioTracks[sound_name];
                            +    if (sound && typeof sound !== "undefined") {
                            +        return sound.pos(x, y, z);
                            +    } else {
                            +        throw new Error("audio clip " + sound_name + " does not exist");
                            +    }
                            +}
                            +
                            +/**
                            + * Get/set the direction the audio source is pointing in the 3D cartesian coordinate space.
                            + * Depending on how direction the sound is, based on the `cone` attributes, a sound pointing away from the listener can be quiet or silent.
                            + * @memberof audio
                            + * @param {string} sound_name - audio clip name - case sensitive
                            + * @param  {Number} x - the x-orientation of the audio source.
                            + * @param  {Number} y - the y-orientation of the audio source.
                            + * @param  {Number} z - the z-orientation of the audio source.
                            + * @return {Array} the current 3D spatial orientation: [x, y, z]
                            + */
                            +export function orientation(sound_name, x, y, z) {
                            +    let sound = audioTracks[sound_name];
                            +    if (sound && typeof sound !== "undefined") {
                            +        return sound.orientation(x, y, z);
                            +    } else {
                            +        throw new Error("audio clip " + sound_name + " does not exist");
                            +    }
                            +}
                            +
                            +/**
                            + * get or set the panner node's attributes for a sound or group of sounds.
                            + * See {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Web_audio_spatialization_basics#creating_a_panner_node}
                            + * @memberof audio
                            + * @param {string} sound_name - audio clip name - case sensitive
                            + * @param {object} [attribute] - the panner attributes to set
                            + * @param {string} [settings.coneInnerAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, inside of which there will be no volume reduction.
                            + * @param {string} [settings.coneOuterAngle=360] - A parameter for directional audio sources, this is an angle, in degrees, outside of which the volume will be reduced to a constant value of `coneOuterGain`.
                            + * @param {string} [settings.coneOuterGain=0] - A parameter for directional audio sources, this is the gain outside of the `coneOuterAngle`. It is a linear value in the range `[0, 1]`.
                            + * @param {string} [settings.distanceModel="inverse"] - Determines algorithm used to reduce volume as audio moves away from listener. Can be `linear`, `inverse` or `exponential.
                            + * @param {string} [settings.maxDistance=10000] - The maximum distance between source and listener, after which the volume will not be reduced any further.
                            + * @param {string} [settings.refDistance=1] - A reference distance for reducing volume as source moves further from the listener. This is simply a variable of the distance model and has a different effect depending on which model is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.
                            + * @param {string} [settings.rolloffFactor=1] - How quickly the volume reduces as source moves from listener. This is simply a variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]` with `inverse` and `exponential`.
                            + * @param {string} [settings.panningModel="HRTF"] - Determines which spatialization algorithm is used to position audio. Can be `HRTF` or `equalpower`.
                            + * @return {Object} current panner attributes.
                            + * @example
                            + * me.audio.panner("cling", {
                            + *    panningModel: 'HRTF',
                            + *    refDistance: 0.8,
                            + *    rolloffFactor: 2.5,
                            + *    distanceModel: 'exponential'
                            + * });
                            + */
                            +export function panner(sound_name, attributes) {
                            +    let sound = audioTracks[sound_name];
                            +    if (sound && typeof sound !== "undefined") {
                            +        return sound.pannerAttr(attributes);
                            +    } else {
                            +        throw new Error("audio clip " + sound_name + " does not exist");
                            +    }
                            +}
                            +
                             /**
                              * stop the specified sound on all channels
                            - * @function audio.stop
                            + * @memberof audio
                              * @param {string} [sound_name] - audio clip name (case sensitive). If none is passed, all sounds are stopped.
                              * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will stop.
                              * @example
                            @@ -2493,7 +2923,7 @@
                             /**
                              * pause the specified sound on all channels<br>
                              * this function does not reset the currentTime property
                            - * @function audio.pause
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name - case sensitive
                              * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will pause.
                              * @example
                            @@ -2510,7 +2940,7 @@
                             
                             /**
                              * resume the specified sound on all channels<br>
                            - * @function audio.resume
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name - case sensitive
                              * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will resume.
                              * @example
                            @@ -2536,7 +2966,7 @@
                              * play the specified audio track<br>
                              * this function automatically set the loop property to true<br>
                              * and keep track of the current sound being played.
                            - * @function audio.playTrack
                            + * @memberof audio
                              * @param {string} sound_name - audio track name - case sensitive
                              * @param {number} [volume=default] - Float specifying volume (0.0 - 1.0 values accepted).
                              * @returns {number} the sound instance ID.
                            @@ -2555,7 +2985,7 @@
                             
                             /**
                              * stop the current audio track
                            - * @function audio.stopTrack
                            + * @memberof audio
                              * @see audio.playTrack
                              * @example
                              * // play a awesome music
                            @@ -2572,7 +3002,7 @@
                             
                             /**
                              * pause the current audio track
                            - * @function audio.pauseTrack
                            + * @memberof audio
                              * @example
                              * me.audio.pauseTrack();
                              */
                            @@ -2584,7 +3014,7 @@
                             
                             /**
                              * resume the previously paused audio track
                            - * @function audio.resumeTrack
                            + * @memberof audio
                              * @example
                              * // play an awesome music
                              * me.audio.playTrack("awesome_music");
                            @@ -2601,7 +3031,7 @@
                             
                             /**
                              * returns the current track Id
                            - * @function audio.getCurrentTrack
                            + * @memberof audio
                              * @returns {string} audio track name
                              */
                             export function getCurrentTrack() {
                            @@ -2610,7 +3040,7 @@
                             
                             /**
                              * set the default global volume
                            - * @function audio.setVolume
                            + * @memberof audio
                              * @param {number} volume - Float specifying volume (0.0 - 1.0 values accepted).
                              */
                             export function setVolume(volume) {
                            @@ -2619,7 +3049,7 @@
                             
                             /**
                              * get the default global volume
                            - * @function audio.getVolume
                            + * @memberof audio
                              * @returns {number} current volume value in Float [0.0 - 1.0] .
                              */
                             export function getVolume() {
                            @@ -2628,7 +3058,7 @@
                             
                             /**
                              * mute or unmute the specified sound, but does not pause the playback.
                            - * @function audio.mute
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name - case sensitive
                              * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will mute.
                              * @param {boolean} [mute=true] - True to mute and false to unmute
                            @@ -2647,7 +3077,7 @@
                             
                             /**
                              * unmute the specified sound
                            - * @function audio.unmute
                            + * @memberof audio
                              * @param {string} sound_name - audio clip name
                              * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will unmute.
                              */
                            @@ -2657,7 +3087,7 @@
                             
                             /**
                              * mute all audio
                            - * @function audio.muteAll
                            + * @memberof audio
                              */
                             export function muteAll() {
                                 Howler.mute(true);
                            @@ -2665,7 +3095,7 @@
                             
                             /**
                              * unmute all audio
                            - * @function audio.unmuteAll
                            + * @memberof audio
                              */
                             export function unmuteAll() {
                                 Howler.mute(false);
                            @@ -2673,7 +3103,7 @@
                             
                             /**
                              * Returns true if audio is muted globally.
                            - * @function audio.muted
                            + * @memberof audio
                              * @returns {boolean} true if audio is muted globally
                              */
                             export function muted() {
                            @@ -2682,7 +3112,7 @@
                             
                             /**
                              * unload specified audio track to free memory
                            - * @function audio.unload
                            + * @memberof audio
                              * @param {string} sound_name - audio track name - case sensitive
                              * @returns {boolean} true if unloaded
                              * @example
                            @@ -2701,7 +3131,7 @@
                             
                             /**
                              * unload all audio to free memory
                            - * @function audio.unloadAll
                            + * @memberof audio
                              * @example
                              * me.audio.unloadAll();
                              */
                            diff --git a/docs/docs/melonjs/src/camera/camera2d.js.html b/docs/docs/melonjs/src/camera/camera2d.js.html
                            index f70f3192ae..d6bcdf58b1 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 2ce62ac285..bcdc73a11a 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 811fa30d0a..3d3cdb654d 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 c78f7e0c53..382957418d 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 6ef098c30f..3a91698fce 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 9f4ebf1b57..94c7f22909 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 1b71148664..1543ce4c81 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 db83f2113f..ccb2b45db5 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 c5a6cb3dd8..a3ff9f8eea 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 1cb3e6fa20..b14fa72e69 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 c9eef791f5..8bfc150b4f 100644
                            --- a/docs/docs/melonjs/src/index.js.html
                            +++ b/docs/docs/melonjs/src/index.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -1365,7 +1365,7 @@
                             import Renderer from "./video/renderer.js";
                             import WebGLRenderer from "./video/webgl/webgl_renderer.js";
                             import CanvasRenderer from "./video/canvas/canvas_renderer.js";
                            -import CanvasTexture from "./video/texture/canvas_texture.js";
                            +import CanvasRenderTarget from "./video/rendertarget/canvasrendertarget.js";
                             import { TextureAtlas } from "./video/texture/atlas.js";
                             import Renderable from "./renderable/renderable.js";
                             import ColorLayer from "./renderable/colorlayer.js";
                            @@ -1477,7 +1477,7 @@
                                 Renderer,
                                 WebGLRenderer,
                                 CanvasRenderer,
                            -    CanvasTexture,
                            +    CanvasRenderTarget,
                                 TextureAtlas,
                                 Renderable,
                                 Body,
                            @@ -1626,7 +1626,7 @@
                                 pool.register("Point", Point, true);
                                 pool.register("Ellipse", Ellipse, true);
                                 pool.register("Bounds", Bounds, true);
                            -    pool.register("CanvasTexture", CanvasTexture, true);
                            +    pool.register("CanvasRenderTarget", CanvasRenderTarget, true);
                             
                                 // publish Boot notification
                                 event.emit(event.BOOT);
                            diff --git a/docs/docs/melonjs/src/input/gamepad.js.html b/docs/docs/melonjs/src/input/gamepad.js.html
                            index 663c60f91a..07adab07b0 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 f50e7c5469..178b3b0ab0 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 8c9f59dcab..f1d330e177 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 006894de79..e3ae98d657 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 f428ab56d7..205fb51768 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 dca4d9da76..70830be1e5 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 737ddf9a5f..f7d05b9b15 100644
                            --- a/docs/docs/melonjs/src/lang/deprecated.js.html
                            +++ b/docs/docs/melonjs/src/lang/deprecated.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -652,6 +652,90 @@
                                         145
                                       
                                     
                            +          
                          • + 146 +
                          • + +
                          • + 147 +
                          • + +
                          • + 148 +
                          • + +
                          • + 149 +
                          • + +
                          • + 150 +
                          • + +
                          • + 151 +
                          • + +
                          • + 152 +
                          • + +
                          • + 153 +
                          • + +
                          • + 154 +
                          • + +
                          • + 155 +
                          • + +
                          • + 156 +
                          • + +
                          • + 157 +
                          • + +
                          • + 158 +
                          • + +
                          • + 159 +
                          • + +
                          • + 160 +
                          • + +
                          • + 161 +
                          • + +
                          • + 162 +
                          • + +
                          • + 163 +
                          • + +
                          • + 164 +
                          • + +
                          • + 165 +
                          • + +
                          • + 166 +
                          • +
                            import { TextureAtlas } from "./../video/texture/atlas.js";
                             import Renderer from "./../video/renderer.js";
                            @@ -659,6 +743,7 @@
                             import { DropTarget } from "./../renderable/dragndrop.js";
                             import UISpriteElement from "./../renderable/ui/uispriteelement.js";
                             import { warning } from "./console.js";
                            +import CanvasRenderTarget from "../video/rendertarget/canvasrendertarget.js";
                             
                             /*
                              * placeholder for all deprecated classes and corresponding alias for backward compatibility
                            @@ -796,6 +881,26 @@
                                 return this.height;
                             };
                             
                            +/**
                            + * @classdesc
                            + * @deprecated since 17.1.0
                            + * @see CanvasRenderTarget
                            + */
                            +export class CanvasTexture extends CanvasRenderTarget {
                            +    /**
                            +     * @param {number} width - the desired width of the canvas
                            +     * @param {number} height - the desired height of the canvas
                            +     * @param {object} attributes - The attributes to create both the canvas and context
                            +     * @param {boolean} [attributes.context="2d"] - the context type to be created ("2d", "webgl", "webgl2")
                            +     * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas
                            +     * @param {boolean} [attributes.willReadFrequently=false] - Indicates whether or not a lot of read-back operations are planned
                            +     * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect.
                            +     */
                            +    constructor(width, height, attributes) {
                            +        warning("CanvasTexture", "CanvasRenderTarget", "17.1.0");
                            +        super(width, height, attributes);
                            +    }
                            +}
                             
                             
                            diff --git a/docs/docs/melonjs/src/level/level.js.html b/docs/docs/melonjs/src/level/level.js.html index 09c9b81f63..bce3d9d344 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 9141c2cb8c..0d51e3e9bf 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 cfbf4659f4..96479a9367 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 4f7366a1f5..20e380f44a 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 c08713eacb..57b8113f56 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 88a899b9dc..b224304dee 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 16c244d3aa..4eb27eb726 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 4983c6dd5e..294a25ecd0 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 8c05f01a0f..247abe48fb 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 9b903678a8..dddf485fd2 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 ba535633e3..4b53592e41 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 d15d55b3a0..5b1a0cfca2 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 a3f888fd55..20a734734b 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 c49304d1ad..70dc9f79ee 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 88d04e41a3..466d0e4cc2 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 22c60fa475..3d9c5218d5 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 9bb2077364..e323d9ccd8 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 129b7af017..290cf25dc9 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 cfbe21c828..9ec39e4c69 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 91b22677d2..9e03a20caa 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/compressed_textures/compressed_image.js.html b/docs/docs/melonjs/src/loader/parsers/compressed_textures/compressed_image.js.html new file mode 100644 index 0000000000..b2b014b285 --- /dev/null +++ b/docs/docs/melonjs/src/loader/parsers/compressed_textures/compressed_image.js.html @@ -0,0 +1,349 @@ + + + + + + + melonJS: compressed_image.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + + +
                            +
                            +
                            +
                              + +
                            • + 1 +
                            • + +
                            • + 2 +
                            • + +
                            • + 3 +
                            • + +
                            • + 4 +
                            • + +
                            • + 5 +
                            • + +
                            • + 6 +
                            • + +
                            • + 7 +
                            • + +
                            • + 8 +
                            • + +
                            • + 9 +
                            • + +
                            • + 10 +
                            • + +
                            • + 11 +
                            • + +
                            • + 12 +
                            • + +
                            • + 13 +
                            • + +
                            • + 14 +
                            • + +
                            • + 15 +
                            • + +
                            • + 16 +
                            • + +
                            • + 17 +
                            • + +
                            • + 18 +
                            • + +
                            • + 19 +
                            • + +
                            • + 20 +
                            • + +
                            • + 21 +
                            • + +
                            • + 22 +
                            • + +
                            • + 23 +
                            • + +
                            • + 24 +
                            • + +
                            • + 25 +
                            • + +
                            • + 26 +
                            • + +
                            • + 27 +
                            • + +
                            • + 28 +
                            • + +
                            • + 29 +
                            • + +
                            • + 30 +
                            • + +
                            • + 31 +
                            • + +
                            • + 32 +
                            • + +
                            • + 33 +
                            • + +
                            • + 34 +
                            • + +
                            • + 35 +
                            • + +
                            • + 36 +
                            • + +
                            • + 37 +
                            • + +
                            • + 38 +
                            • + +
                            • + 39 +
                            • + +
                            • + 40 +
                            • + +
                            • + 41 +
                            • + +
                            • + 42 +
                            • + +
                            • + 43 +
                            • + +
                            • + 44 +
                            • + +
                            • + 45 +
                            • + +
                            • + 46 +
                            • + +
                            • + 47 +
                            • + +
                            • + 48 +
                            • + +
                            • + 49 +
                            • + +
                            • + 50 +
                            • + +
                            +
                            import { parseDDS } from "./parseDDS.js";
                            +import { parseKTX } from "./parseKTX.js";
                            +import { parseKTX2 } from "./parseKTX2.js";
                            +import { parsePVR } from "./parsePVR.js";
                            +import { parsePKM } from "./parsePKM.js";
                            +import * as event from "../../../system/event.js";
                            +
                            +let _renderer;
                            +
                            +// gracefully capture a reference to the active renderer without adding more cyclic redundancy
                            +event.once(event.VIDEO_INIT, (renderer) => {
                            +    _renderer = renderer;
                            +});
                            +
                            +
                            +export function parseCompressedImage(arrayBuffer, imgExt) {
                            +    let texture;
                            +
                            +    // check if the current renderer is WebGL
                            +    if (_renderer.type.includes("WebGL")) {
                            +        switch (imgExt) {
                            +            // Compressed texture
                            +            case "dds":
                            +                texture = parseDDS(arrayBuffer);
                            +                break;
                            +            case "pvr":
                            +                texture = parsePVR(arrayBuffer);
                            +                break;
                            +            case "pkm":
                            +                texture = parsePKM(arrayBuffer);
                            +                break;
                            +            case "ktx":
                            +                texture = parseKTX(arrayBuffer);
                            +                break;
                            +            case "ktx2":
                            +                texture = parseKTX2(arrayBuffer);
                            +                break;
                            +        }
                            +    }
                            +
                            +    if (typeof texture !== "undefined") {
                            +        if (_renderer.hasSupportedCompressedFormats(texture.format)) {
                            +            console.log("Compressed texture format supported: " + texture.format);
                            +            return texture;
                            +        }
                            +    }
                            +
                            +    throw ("unsupported texture format:" + imgExt + texture ? " (" + texture.format + ")" : "");
                            +}
                            +
                            +
                            +
                            +
                            + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseDDS.js.html b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseDDS.js.html new file mode 100644 index 0000000000..9d1ba2f598 --- /dev/null +++ b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseDDS.js.html @@ -0,0 +1,129 @@ + + + + + + + melonJS: parseDDS.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + + +
                            +
                            +
                            +
                              + +
                            • + 1 +
                            • + +
                            • + 2 +
                            • + +
                            • + 3 +
                            • + +
                            • + 4 +
                            • + +
                            • + 5 +
                            • + +
                            • + 6 +
                            • + +
                            +
                            
                            +// parse and return the compressed texture
                            +export function parseDDS(/*data, formats*/) {
                            +    throw new Error("unsupported format");
                            +}
                            +
                            +
                            +
                            +
                            + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX.js.html b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX.js.html new file mode 100644 index 0000000000..b235a2d83c --- /dev/null +++ b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX.js.html @@ -0,0 +1,129 @@ + + + + + + + melonJS: parseKTX.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + + +
                            +
                            +
                            +
                              + +
                            • + 1 +
                            • + +
                            • + 2 +
                            • + +
                            • + 3 +
                            • + +
                            • + 4 +
                            • + +
                            • + 5 +
                            • + +
                            • + 6 +
                            • + +
                            +
                            
                            +// parse and return the compressed texture
                            +export function parseKTX(/*data, formats*/) {
                            +    throw new Error("unsupported format");
                            +}
                            +
                            +
                            +
                            +
                            + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX2.js.html b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX2.js.html new file mode 100644 index 0000000000..aefdb0162b --- /dev/null +++ b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parseKTX2.js.html @@ -0,0 +1,129 @@ + + + + + + + melonJS: parseKTX2.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + + +
                            +
                            +
                            +
                              + +
                            • + 1 +
                            • + +
                            • + 2 +
                            • + +
                            • + 3 +
                            • + +
                            • + 4 +
                            • + +
                            • + 5 +
                            • + +
                            • + 6 +
                            • + +
                            +
                            
                            +// parse and return the compressed texture
                            +export function parseKTX2(/*data, formats*/) {
                            +    throw new Error("unsupported format");
                            +}
                            +
                            +
                            +
                            +
                            + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePKM.js.html b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePKM.js.html new file mode 100644 index 0000000000..9e0bb2b0eb --- /dev/null +++ b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePKM.js.html @@ -0,0 +1,129 @@ + + + + + + + melonJS: parsePKM.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + + +
                            +
                            +
                            +
                              + +
                            • + 1 +
                            • + +
                            • + 2 +
                            • + +
                            • + 3 +
                            • + +
                            • + 4 +
                            • + +
                            • + 5 +
                            • + +
                            • + 6 +
                            • + +
                            +
                            
                            +// parse and return the compressed texture
                            +export function parsePKM(/*data, formats*/) {
                            +    throw new Error("unsupported format");
                            +}
                            +
                            +
                            +
                            +
                            + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePVR.js.html b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePVR.js.html new file mode 100644 index 0000000000..b7522e7014 --- /dev/null +++ b/docs/docs/melonjs/src/loader/parsers/compressed_textures/parsePVR.js.html @@ -0,0 +1,739 @@ + + + + + + + melonJS: parsePVR.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            +
                            +
                            +
                            + +
                            +
                            +
                            + +
                            + + + +
                            +
                            +
                            +
                              + +
                            • + 1 +
                            • + +
                            • + 2 +
                            • + +
                            • + 3 +
                            • + +
                            • + 4 +
                            • + +
                            • + 5 +
                            • + +
                            • + 6 +
                            • + +
                            • + 7 +
                            • + +
                            • + 8 +
                            • + +
                            • + 9 +
                            • + +
                            • + 10 +
                            • + +
                            • + 11 +
                            • + +
                            • + 12 +
                            • + +
                            • + 13 +
                            • + +
                            • + 14 +
                            • + +
                            • + 15 +
                            • + +
                            • + 16 +
                            • + +
                            • + 17 +
                            • + +
                            • + 18 +
                            • + +
                            • + 19 +
                            • + +
                            • + 20 +
                            • + +
                            • + 21 +
                            • + +
                            • + 22 +
                            • + +
                            • + 23 +
                            • + +
                            • + 24 +
                            • + +
                            • + 25 +
                            • + +
                            • + 26 +
                            • + +
                            • + 27 +
                            • + +
                            • + 28 +
                            • + +
                            • + 29 +
                            • + +
                            • + 30 +
                            • + +
                            • + 31 +
                            • + +
                            • + 32 +
                            • + +
                            • + 33 +
                            • + +
                            • + 34 +
                            • + +
                            • + 35 +
                            • + +
                            • + 36 +
                            • + +
                            • + 37 +
                            • + +
                            • + 38 +
                            • + +
                            • + 39 +
                            • + +
                            • + 40 +
                            • + +
                            • + 41 +
                            • + +
                            • + 42 +
                            • + +
                            • + 43 +
                            • + +
                            • + 44 +
                            • + +
                            • + 45 +
                            • + +
                            • + 46 +
                            • + +
                            • + 47 +
                            • + +
                            • + 48 +
                            • + +
                            • + 49 +
                            • + +
                            • + 50 +
                            • + +
                            • + 51 +
                            • + +
                            • + 52 +
                            • + +
                            • + 53 +
                            • + +
                            • + 54 +
                            • + +
                            • + 55 +
                            • + +
                            • + 56 +
                            • + +
                            • + 57 +
                            • + +
                            • + 58 +
                            • + +
                            • + 59 +
                            • + +
                            • + 60 +
                            • + +
                            • + 61 +
                            • + +
                            • + 62 +
                            • + +
                            • + 63 +
                            • + +
                            • + 64 +
                            • + +
                            • + 65 +
                            • + +
                            • + 66 +
                            • + +
                            • + 67 +
                            • + +
                            • + 68 +
                            • + +
                            • + 69 +
                            • + +
                            • + 70 +
                            • + +
                            • + 71 +
                            • + +
                            • + 72 +
                            • + +
                            • + 73 +
                            • + +
                            • + 74 +
                            • + +
                            • + 75 +
                            • + +
                            • + 76 +
                            • + +
                            • + 77 +
                            • + +
                            • + 78 +
                            • + +
                            • + 79 +
                            • + +
                            • + 80 +
                            • + +
                            • + 81 +
                            • + +
                            • + 82 +
                            • + +
                            • + 83 +
                            • + +
                            • + 84 +
                            • + +
                            • + 85 +
                            • + +
                            • + 86 +
                            • + +
                            • + 87 +
                            • + +
                            • + 88 +
                            • + +
                            • + 89 +
                            • + +
                            • + 90 +
                            • + +
                            • + 91 +
                            • + +
                            • + 92 +
                            • + +
                            • + 93 +
                            • + +
                            • + 94 +
                            • + +
                            • + 95 +
                            • + +
                            • + 96 +
                            • + +
                            • + 97 +
                            • + +
                            • + 98 +
                            • + +
                            • + 99 +
                            • + +
                            • + 100 +
                            • + +
                            • + 101 +
                            • + +
                            • + 102 +
                            • + +
                            • + 103 +
                            • + +
                            • + 104 +
                            • + +
                            • + 105 +
                            • + +
                            • + 106 +
                            • + +
                            • + 107 +
                            • + +
                            • + 108 +
                            • + +
                            • + 109 +
                            • + +
                            • + 110 +
                            • + +
                            • + 111 +
                            • + +
                            • + 112 +
                            • + +
                            • + 113 +
                            • + +
                            • + 114 +
                            • + +
                            • + 115 +
                            • + +
                            • + 116 +
                            • + +
                            • + 117 +
                            • + +
                            • + 118 +
                            • + +
                            • + 119 +
                            • + +
                            • + 120 +
                            • + +
                            • + 121 +
                            • + +
                            • + 122 +
                            • + +
                            • + 123 +
                            • + +
                            • + 124 +
                            • + +
                            • + 125 +
                            • + +
                            • + 126 +
                            • + +
                            • + 127 +
                            • + +
                            • + 128 +
                            • + +
                            +
                            /*
                            +const COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00;
                            +const COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01;
                            +const COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02;
                            +const COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03;
                            +
                            +const COMPRESSED_RGB_ETC1_WEBGL = 0x8D64;
                            +
                            +const PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.
                            +//const PVR_MAGIC = 0x03525650; //0x50565203;
                            +
                            +// Offsets into the header array.
                            +//const PVR_HEADER_MAGIC = 0;
                            +const PVR_HEADER_FORMAT = 2;
                            +const PVR_HEADER_HEIGHT = 6;
                            +const PVR_HEADER_WIDTH = 7;
                            +const PVR_HEADER_MIPMAPCOUNT = 11;
                            +const PVR_HEADER_METADATA = 12;
                            +
                            +const PVR_FORMAT_2BPP_RGB = 0;
                            +const PVR_FORMAT_2BPP_RGBA = 1;
                            +const PVR_FORMAT_4BPP_RGB = 2;
                            +const PVR_FORMAT_4BPP_RGBA = 3;
                            +//const PVR_COLOR_SPACE = 4;
                            +const PVR_FORMAT_ETC1 = 6;
                            +const PVR_FORMAT_DXT1 = 7;
                            +const PVR_FORMAT_DXT3 = 9;
                            +const PVR_FORMAT_DXT5 = 5;
                            +
                            +const COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0;
                            +//const COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1;
                            +const COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2;
                            +const COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3;
                            +
                            +const PVR_TO_WEBGL_FORMAT = {
                            +    [PVR_FORMAT_2BPP_RGB] : COMPRESSED_RGB_PVRTC_2BPPV1_IMG,
                            +    [PVR_FORMAT_2BPP_RGBA] : COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
                            +    [PVR_FORMAT_4BPP_RGB] : COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
                            +    [PVR_FORMAT_4BPP_RGBA] : COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
                            +    [PVR_FORMAT_ETC1] : COMPRESSED_RGB_ETC1_WEBGL,
                            +    [PVR_FORMAT_DXT1] : COMPRESSED_RGB_S3TC_DXT1_EXT,
                            +    [PVR_FORMAT_DXT3] : COMPRESSED_RGBA_S3TC_DXT3_EXT,
                            +    [PVR_FORMAT_DXT5] : COMPRESSED_RGBA_S3TC_DXT5_EXT
                            +};
                            +
                            +function levelBufferSize(format, width, height) {
                            +    switch (format) {
                            +        case COMPRESSED_RGB_S3TC_DXT1_EXT:
                            +        case COMPRESSED_RGB_ETC1_WEBGL:
                            +            return ((width + 3) >> 2) * ((height + 3) >> 2) * 8;
                            +
                            +        case COMPRESSED_RGBA_S3TC_DXT3_EXT:
                            +        case COMPRESSED_RGBA_S3TC_DXT5_EXT:
                            +            return ((width + 3) >> 2) * ((height + 3) >> 2) * 16;
                            +
                            +        case COMPRESSED_RGB_PVRTC_4BPPV1_IMG:
                            +        case COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:
                            +            return Math.floor((Math.max(width, 8) * Math.max(height, 8) * 4 + 7) / 8);
                            +
                            +        case COMPRESSED_RGB_PVRTC_2BPPV1_IMG:
                            +        case COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:
                            +            return Math.floor((Math.max(width, 16) * Math.max(height, 8) * 2 + 7) / 8);
                            +
                            +        default:
                            +            return 0;
                            +    }
                            +}
                            +*/
                            +
                            +// parse and return the compressed texture
                            +export function parsePVR() {
                            +
                            +    throw new Error("unsupported format");
                            +
                            +    /*
                            +
                            +    // Create a new DataView from the data
                            +    let header = new Uint32Array(data, 0, PVR_HEADER_LENGTH);
                            +
                            +    //console.log(header);
                            +
                            +    // VERSION
                            +    //const version = header[PVR_HEADER_FORMAT];
                            +    //const versionMatch = version === PVR_MAGIC;
                            +
                            +    //  PIXEL_FORMAT_INDEX
                            +    const pvrFormat = PVR_TO_WEBGL_FORMAT[header[PVR_HEADER_FORMAT]] || -1;
                            +    const width = header[PVR_HEADER_WIDTH];
                            +    const height = header[PVR_HEADER_HEIGHT];
                            +    const dataOffset = header[PVR_HEADER_METADATA] + 52;
                            +    //const colorSpace = header[PVR_COLOR_SPACE];
                            +    const mipmapCount = header[PVR_HEADER_MIPMAPCOUNT];
                            +
                            +    var image = new Uint8Array(data, dataOffset);
                            +    var mipmaps = new Array(mipmapCount);
                            +
                            +    var offset = 0;
                            +    var levelWidth = width;
                            +    var levelHeight = height;
                            +
                            +    for (var i = 0; i < mipmapCount; i++)
                            +    {
                            +        var levelSize = levelBufferSize(pvrFormat, levelWidth, levelHeight);
                            +
                            +        mipmaps[i] = {
                            +            data: new Uint8Array(image.buffer, image.byteOffset + offset, levelSize),
                            +            width: levelWidth,
                            +            height: levelHeight
                            +        };
                            +
                            +        levelWidth = Math.max(1, levelWidth >> 1);
                            +        levelHeight = Math.max(1, levelHeight >> 1);
                            +
                            +        offset += levelSize;
                            +    }
                            +
                            +    return {
                            +        mipmaps: mipmaps,
                            +        width: width,
                            +        height: height,
                            +        format: pvrFormat,
                            +        compressed: true,
                            +        generateMipmap: false
                            +    };
                            +
                            +    */
                            +}
                            +
                            +
                            +
                            +
                            + +
                            +
                            + +
                            +
                            + + Powered by webdoc! + +
                            +
                            +
                            +
                            + + + + diff --git a/docs/docs/melonjs/src/loader/parsers/fetchdata.js.html b/docs/docs/melonjs/src/loader/parsers/fetchdata.js.html index edb2cc2baa..7e9a1f6c28 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 2908ce285d..1cde24ebe4 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 26c5bbe35e..1206a4b93d 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 @@ - + @@ -368,10 +368,199 @@ 74 +
                          • + 75 +
                          • + +
                          • + 76 +
                          • + +
                          • + 77 +
                          • + +
                          • + 78 +
                          • + +
                          • + 79 +
                          • + +
                          • + 80 +
                          • + +
                          • + 81 +
                          • + +
                          • + 82 +
                          • + +
                          • + 83 +
                          • + +
                          • + 84 +
                          • + +
                          • + 85 +
                          • + +
                          • + 86 +
                          • + +
                          • + 87 +
                          • + +
                          • + 88 +
                          • + +
                          • + 89 +
                          • + +
                          • + 90 +
                          • + +
                          • + 91 +
                          • + +
                          • + 92 +
                          • + +
                          • + 93 +
                          • + +
                          • + 94 +
                          • + +
                          • + 95 +
                          • + +
                          • + 96 +
                          • + +
                          • + 97 +
                          • + +
                          • + 98 +
                          • + +
                          • + 99 +
                          • + +
                          • + 100 +
                          • + +
                          • + 101 +
                          • + +
                          • + 102 +
                          • + +
                          • + 103 +
                          • + +
                          • + 104 +
                          • + +
                          • + 105 +
                          • + +
                          • + 106 +
                          • + +
                          • + 107 +
                          • + +
                          • + 108 +
                          • + +
                          • + 109 +
                          • + +
                          • + 110 +
                          • + +
                          • + 111 +
                          • + +
                          • + 112 +
                          • + +
                          • + 113 +
                          • + +
                          • + 114 +
                          • + +
                          • + 115 +
                          • + +
                          • + 116 +
                          • + +
                          • + 117 +
                          • + +
                          • + 118 +
                          • + +
                          • + 119 +
                          • + +
                          • + 120 +
                          • + +
                          • + 121 +
                          • +
                            import { imgList } from "../cache.js";
                             import { fetchData } from "./fetchdata.js";
                             import * as fileUtil from "./../../utils/file.js";
                            +import { parseCompressedImage } from "./compressed_textures/compressed_image.js";
                             
                             /**
                              * parse/preload an image
                            @@ -395,52 +584,98 @@
                                     return 0;
                                 }
                             
                            -    // handle SVG file loading
                            -    if (fileUtil.getExtension(img.src) === "svg") {
                            -        // handle SVG file
                            -        fetchData(img.src, "text", settings)
                            -            .then(svgText => {
                            -                const svgImage = new Image();
                            -                svgImage.onload = function() {
                            -                    imgList[img.name] = svgImage;
                            -                    if (typeof onload === "function") {
                            -                        // callback
                            -                        onload();
                            -                    }
                            -                };
                            -                svgImage.onerror = function(error) {
                            -                    if (typeof onerror === "function") {
                            -                        onerror(error);
                            -                    }
                            -                };
                            -                svgImage.src = "data:image/svg+xml;charset=utf8," + encodeURIComponent(svgText);
                            -            })
                            -            .catch(error => {
                            -                if (typeof onerror === "function") {
                            -                    onerror(error);
                            -                }
                            -            });
                            -    } else {
                            -        // handle all other image files
                            -        fetchData(img.src, "blob", settings)
                            -            .then(blob => {
                            -                globalThis.createImageBitmap(blob)
                            -                    .then((bitmap) => {
                            -                        imgList[img.name] = bitmap;
                            -                        if (typeof onload === "function") {
                            -                            // callback
                            -                            onload();
                            +    let sources = Array.isArray(img.src) ? img.src : [img.src];
                            +    let isFormatSupported = false;
                            +
                            +    for (const imgPath of sources) {
                            +        const imgExt = fileUtil.getExtension(imgPath);
                            +        // loop will stop as soon as a first supported format is detected
                            +        switch (imgExt) {
                            +            // Compressed texture
                            +            case "dds":
                            +            case "pvr":
                            +            case "pkm":
                            +            case "ktx":
                            +            case "ktx2":
                            +                fetchData(imgPath, "arrayBuffer", settings)
                            +                    .then(arrayBuffer => {
                            +                        try {
                            +                            imgList[img.name] = parseCompressedImage(arrayBuffer, imgExt);
                            +                            isFormatSupported = true;
                            +                            if (typeof onload === "function") {
                            +                                // callback
                            +                                onload();
                            +                            }
                            +                        } catch (e) {
                            +                            // parseCompressedImage will throw an error if a format is not supported or badly formatted
                            +                        }
                            +                    }).catch(error => {
                            +                        if (typeof onerror === "function") {
                            +                            // file cannot be loaded
                            +                            onerror(error);
                            +                        }
                            +                    });
                            +                break;
                            +
                            +            // SVG file
                            +            case "svg":
                            +                fetchData(imgPath, "text", settings)
                            +                    .then(svgText => {
                            +                        const svgImage = new Image();
                            +                        svgImage.onload = function() {
                            +                            imgList[img.name] = svgImage;
                            +                            if (typeof onload === "function") {
                            +                                // callback
                            +                                onload();
                            +                            }
                            +                        };
                            +                        svgImage.onerror = function(error) {
                            +                            if (typeof onerror === "function") {
                            +                                onerror(error);
                            +                            }
                            +                        };
                            +                        svgImage.src = "data:image/svg+xml;charset=utf8," + encodeURIComponent(svgText);
                            +                    })
                            +                    .catch(error => {
                            +                        if (typeof onerror === "function") {
                            +                            onerror(error);
                            +                        }
                            +                    });
                            +                isFormatSupported = true;
                            +                break;
                            +
                            +            // default is regular images (jpg, png and friends)
                            +            default:
                            +                fetchData(imgPath, "blob", settings)
                            +                    .then(blob => {
                            +                        globalThis.createImageBitmap(blob)
                            +                            .then((bitmap) => {
                            +                                imgList[img.name] = bitmap;
                            +                                if (typeof onload === "function") {
                            +                                    // callback
                            +                                    onload();
                            +                                }
                            +                            });
                            +                    })
                            +                    .catch(error => {
                            +                        if (typeof onerror === "function") {
                            +                            onerror(error);
                                                     }
                                                 });
                            -            })
                            -            .catch(error => {
                            -                if (typeof onerror === "function") {
                            -                    onerror(error);
                            -                }
                            -            });
                            +                isFormatSupported = true;
                            +                break;
                            +        }
                            +
                            +        // exit the loop as soon as the first supported format is detected
                            +        if (isFormatSupported === true) {
                            +            return 1;
                            +        }
                                 }
                             
                            -    return 1;
                            +    // no compatible format was found
                            +    throw new Error(
                            +        "No suppported Image file format found for " + img.name
                            +    );
                             }
                             
                            diff --git a/docs/docs/melonjs/src/loader/parsers/json.js.html b/docs/docs/melonjs/src/loader/parsers/json.js.html index 1a5892e02f..38d3cf8c4e 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 0b6a511150..861a5b90bd 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 ffa18fd2fb..33c3576e5f 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 55d7f5ddf9..4c3d875e5b 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/math/color.js.html b/docs/docs/melonjs/src/math/color.js.html index f56448d04e..72c0a1a023 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 a6a8cc1ec5..ee96cc9db0 100644 --- a/docs/docs/melonjs/src/math/math.js.html +++ b/docs/docs/melonjs/src/math/math.js.html @@ -1,5 +1,5 @@ - + @@ -836,6 +836,94 @@ 191 +
                          • + 192 +
                          • + +
                          • + 193 +
                          • + +
                          • + 194 +
                          • + +
                          • + 195 +
                          • + +
                          • + 196 +
                          • + +
                          • + 197 +
                          • + +
                          • + 198 +
                          • + +
                          • + 199 +
                          • + +
                          • + 200 +
                          • + +
                          • + 201 +
                          • + +
                          • + 202 +
                          • + +
                          • + 203 +
                          • + +
                          • + 204 +
                          • + +
                          • + 205 +
                          • + +
                          • + 206 +
                          • + +
                          • + 207 +
                          • + +
                          • + 208 +
                          • + +
                          • + 209 +
                          • + +
                          • + 210 +
                          • + +
                          • + 211 +
                          • + +
                          • + 212 +
                          • + +
                          • + 213 +
                          • +
                            /**
                              * a collection of math utility functions
                            @@ -887,6 +975,28 @@
                                 return (val & (val - 1)) === 0;
                             }
                             
                            +/**
                            + * returns true if the given value is a power of four
                            + * @memberof Math
                            + * @param {number} val
                            + * @returns {boolean}
                            + */
                            +export function isPowerOfFour(val) {
                            +    if (val === 0 || val === 2 || val === 3) {
                            +        return false;
                            +    }
                            +    if (val === 1) {
                            +        return true;
                            +    }
                            +
                            +    if ((val & (val - 1)) === 0) {
                            +        if ((val & 0xAAAAAAAA) === 0) {
                            +            return true;
                            +        }
                            +    }
                            +    return false;
                            +}
                            +
                             /**
                              * returns the next power of two for the given value
                              * @memberof Math
                            diff --git a/docs/docs/melonjs/src/math/matrix2.js.html b/docs/docs/melonjs/src/math/matrix2.js.html
                            index 3e93677d6c..5a6bca39de 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 380e5e82ff..b9ecb8c3ca 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 525c9970fd..3c8d897e95 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 c11fc4e72c..7223a42a66 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 c7998f0e11..90904d4f65 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 c93dd6283d..a1c30cc42e 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 d345ea6ab2..a2740de5bc 100644
                            --- a/docs/docs/melonjs/src/particles/emitter.js.html
                            +++ b/docs/docs/melonjs/src/particles/emitter.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -1119,7 +1119,7 @@
                              * @ignore
                              */
                             function createDefaultParticleTexture(w = 8, h = 8) {
                            -    let defaultParticleTexture = pool.pull("CanvasTexture", w, h, { offscreenCanvas: true });
                            +    let defaultParticleTexture = pool.pull("CanvasRenderTarget", w, h, { offscreenCanvas: true });
                             
                                 defaultParticleTexture.context.fillStyle = "#fff";
                                 defaultParticleTexture.context.fillRect(0, 0, w, h);
                            diff --git a/docs/docs/melonjs/src/particles/particle.js.html b/docs/docs/melonjs/src/particles/particle.js.html
                            index c3322b54a5..694c772d30 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 b1e574b5db..4abbc807a8 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 9842f9d37d..ea747f8415 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 aad166ec55..b8d459143e 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 8d5ed996a3..27d907e2ba 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 7a1a151b77..8d95cf718a 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 11992d9ecd..9ac97b5a73 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 d89ae7350b..bb45835155 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 9c030f9bdb..4ed042b844 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 03b703b5bb..9cb2a395d4 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 fb049f8277..3ad687bcc3 100644
                            --- a/docs/docs/melonjs/src/plugin/plugin.js.html
                            +++ b/docs/docs/melonjs/src/plugin/plugin.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -820,7 +820,7 @@
                              * @memberof plugin
                              * @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register
                              * @param {string} [name=plugin.constructor.name] - a unique name for this plugin
                            - * @param {object} [...arguments] - all extra parameters will be passed to the plugin constructor
                            + * @param {...*} [args] - all extra parameters will be passed to the plugin constructor
                              * @example
                              * // register a new plugin
                              * me.plugin.register(TestPlugin, "testPlugin");
                            diff --git a/docs/docs/melonjs/src/polyfill/console.js.html b/docs/docs/melonjs/src/polyfill/console.js.html
                            index 873085fd59..21e8f4650d 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 270a3886d3..84a80dae99 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 07dcd79b79..cd5aeb2eb4 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 3ab48c6ee7..e71a2f39bc 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 a34dd923f4..876212823f 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 d846ba1f2f..3b2224c61d 100644
                            --- a/docs/docs/melonjs/src/renderable/container.js.html
                            +++ b/docs/docs/melonjs/src/renderable/container.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -4017,7 +4017,7 @@
                                       
                                     
                                   
                            -      
                            import Renderable from "./renderable";
                            +      
                            import Renderable from "./renderable.js";
                             import { createGUID } from "../utils/utils";
                             import { defer } from "../utils/function";
                             import { game } from "../index.js";
                            diff --git a/docs/docs/melonjs/src/renderable/draggable.js.html b/docs/docs/melonjs/src/renderable/draggable.js.html
                            index 8dc0e8f0f9..0867fdf9e9 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 92cd10ae43..5cd595f682 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 fea826b9cd..c2fdd82823 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 ed043bb435..e9a2db2a2a 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 1815dbba4c..c93500c871 100644
                            --- a/docs/docs/melonjs/src/renderable/light2d.js.html
                            +++ b/docs/docs/melonjs/src/renderable/light2d.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -800,7 +800,7 @@
                                     this.visibleArea = pool.pull("Ellipse", this.centerX, this.centerY, this.width, this.height);
                             
                                     /** @ignore */
                            -        this.texture = pool.pull("CanvasTexture", this.width, this.height, { offscreenCanvas: false });
                            +        this.texture = pool.pull("CanvasRenderTarget", this.width, this.height, { offscreenCanvas: false });
                             
                                     this.anchorPoint.set(0, 0);
                             
                            diff --git a/docs/docs/melonjs/src/renderable/nineslicesprite.js.html b/docs/docs/melonjs/src/renderable/nineslicesprite.js.html
                            index 2f416e25a8..f98f44bfa5 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 5c3449010e..fd8f430156 100644
                            --- a/docs/docs/melonjs/src/renderable/renderable.js.html
                            +++ b/docs/docs/melonjs/src/renderable/renderable.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -3432,6 +3432,58 @@
                                         840
                                       
                                     
                            +          
                          • + 841 +
                          • + +
                          • + 842 +
                          • + +
                          • + 843 +
                          • + +
                          • + 844 +
                          • + +
                          • + 845 +
                          • + +
                          • + 846 +
                          • + +
                          • + 847 +
                          • + +
                          • + 848 +
                          • + +
                          • + 849 +
                          • + +
                          • + 850 +
                          • + +
                          • + 851 +
                          • + +
                          • + 852 +
                          • + +
                          • + 853 +
                          • +
                            import ObservableVector2d from "./../math/observable_vector2.js";
                             import ObservableVector3d from "./../math/observable_vector3.js";
                            @@ -3439,6 +3491,11 @@
                             import pool from "./../system/pooling.js";
                             import { releaseAllPointerEvents } from "./../input/input.js";
                             import { clamp } from "./../math/math.js";
                            +import Body from "./../physics/body.js";
                            +import Bounds from "./../physics/bounds.js";
                            +import GLShader from "./../video/webgl/glshader.js";
                            +import Color from "./../math/color.js";
                            +
                             
                             /**
                              * @classdesc
                            @@ -4226,8 +4283,10 @@
                                         this._absPos = undefined;
                                     }
                             
                            -        pool.push(this._bounds);
                            -        this._bounds = undefined;
                            +        if (this._bounds instanceof Bounds) {
                            +            pool.push(this._bounds);
                            +            this._bounds = undefined;
                            +        }
                             
                                     this.onVisibilityChange = undefined;
                             
                            @@ -4236,16 +4295,22 @@
                                         this.mask = undefined;
                                     }
                             
                            -        if (typeof this._tint !== "undefined") {
                            +        if (this._tint instanceof Color) {
                                         pool.push(this._tint);
                                         this._tint = undefined;
                                     }
                             
                            +        // cannot import and reference a Container from a Renderable, since Container extends Renderable, creating a circular dependency
                            +        //if (this.ancestor instanceof Container || this.ancestor instanceof Entity) {
                                     this.ancestor = undefined;
                            +
                            +        // cannot import and reference a Application from a Renderable, messsing up class order in the bundle
                            +        //if (this._parentApp instanceof Application) {
                                     this._parentApp = undefined;
                            +        //}
                             
                            -        // destroy the physic body if defined and is a builtin body object
                            -        if ((typeof this.body !== "undefined") && (typeof this.body.destroy === "function")) {
                            +        // destroy the physic body if a builtin body object
                            +        if (this.body instanceof Body) {
                                         this.body.destroy.apply(this.body, arguments);
                                         this.body = undefined;
                                     }
                            @@ -4257,7 +4322,7 @@
                                     this.onDestroyEvent.apply(this, arguments);
                             
                                     // destroy any shader object if not done by the user through onDestroyEvent()
                            -        if (typeof this.shader === "object") {
                            +        if (this.shader instanceof GLShader) {
                                         this.shader.destroy();
                                         this.shader = undefined;
                                     }
                            diff --git a/docs/docs/melonjs/src/renderable/sprite.js.html b/docs/docs/melonjs/src/renderable/sprite.js.html
                            index aa4779b079..c141540bc0 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 83164c6e4a..14db2b54f1 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 9124233b5b..64c682bd51 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 db055961c2..d77340422a 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 55bcecd17c..f00e0ef7d1 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 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -1915,7 +1915,7 @@
                             
                                     // the canvas Texture used to render this text
                                     // XXX: offscreenCanvas is currently disabled for text rendering due to issue in WebGL mode
                            -        this.canvasTexture = pool.pull("CanvasTexture", 2, 2, { offscreenCanvas: false });
                            +        this.canvasTexture = pool.pull("CanvasRenderTarget", 2, 2, { offscreenCanvas: false });
                             
                                     // instance to text metrics functions
                                     this.metrics = new TextMetrics(this);
                            diff --git a/docs/docs/melonjs/src/renderable/text/textmetrics.js.html b/docs/docs/melonjs/src/renderable/text/textmetrics.js.html
                            index 6888a89846..79b21485e9 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 dea1139218..fd2ba8730d 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 f002c97c48..9ec456d294 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 cb873fe583..b0761e5a27 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 a8e2a1632c..a48a952d2d 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 9471da5ec3..4a95b95ed7 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 c5f944d9de..a623ab95ea 100644
                            --- a/docs/docs/melonjs/src/state/stage.js.html
                            +++ b/docs/docs/melonjs/src/state/stage.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -1184,7 +1184,7 @@
                                  * this is typically where you will load a level, add renderables, etc...
                                  * @name onResetEvent
                                  * @memberof Stage
                            -     * @param {object} [...arguments] - optional arguments passed when switching state
                            +     * @param {...*} [args] - optional arguments passed when switching state
                                  * @see state#change
                                  */
                                 onResetEvent() {
                            diff --git a/docs/docs/melonjs/src/state/state.js.html b/docs/docs/melonjs/src/state/state.js.html
                            index 54519dbb25..bdb8019b61 100644
                            --- a/docs/docs/melonjs/src/state/state.js.html
                            +++ b/docs/docs/melonjs/src/state/state.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -2367,13 +2367,13 @@
                             }
                             
                             // initialize me.state on system boot
                            -event.on(event.BOOT, () => {
                            +event.once(event.BOOT, () => {
                                 // set the built-in loading stage
                                 state.set(state.LOADING, new DefaultLoadingScreen());
                                 // set and enable the default stage
                                 state.set(state.DEFAULT, new Stage());
                                 // enable by default as soon as the display is initialized
                            -    event.on(event.VIDEO_INIT, () => {
                            +    event.once(event.VIDEO_INIT, () => {
                                     state.change(state.DEFAULT, true);
                                 });
                             });
                            @@ -2722,7 +2722,7 @@
                                  * @public
                                  * @param {number} state - State ID (see constants)
                                  * @param {boolean} forceChange - if true the state will be changed immediately
                            -     * @param {object} [...arguments] - extra arguments to be passed to the reset functions
                            +     * @param {...*} [args] - extra arguments to be passed to the reset functions
                                  * @example
                                  * // The onResetEvent method on the play screen will receive two args:
                                  * // "level_1" and the number 3
                            diff --git a/docs/docs/melonjs/src/system/device.js.html b/docs/docs/melonjs/src/system/device.js.html
                            index 8e6da39698..2b2ddff5ce 100644
                            --- a/docs/docs/melonjs/src/system/device.js.html
                            +++ b/docs/docs/melonjs/src/system/device.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -3508,6 +3508,26 @@
                                         859
                                       
                                     
                            +          
                          • + 860 +
                          • + +
                          • + 861 +
                          • + +
                          • + 862 +
                          • + +
                          • + 863 +
                          • + +
                          • + 864 +
                          • +
                            import { getParent } from "./../video/video.js";
                             import save from "./save.js";
                            @@ -3531,6 +3551,9 @@
                             // a list of supported videoCodecs;
                             let videoCodecs;
                             
                            +// internal flag to avoid rechecking for support
                            +let WebGLSupport = -1;
                            +
                             function disableSwipeFn(e) {
                                 e.preventDefault();
                                 if (typeof globalThis.scroll === "function") {
                            @@ -4187,19 +4210,21 @@
                              * @returns {boolean} true if WebGL is supported
                              */
                             export function isWebGLSupported(options) {
                            -    let _supported = false;
                            -    try {
                            -        let canvas = globalThis.document.createElement("canvas");
                            -        let ctxOptions = {
                            -            stencil: true,
                            -            failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat
                            -        };
                            -        _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions)));
                            -    } catch (e) {
                            -        _supported = false;
                            +    if (WebGLSupport === -1) {
                            +        let _supported = false;
                            +        try {
                            +            let canvas = globalThis.document.createElement("canvas");
                            +            let ctxOptions = {
                            +                stencil: true,
                            +                failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat
                            +            };
                            +            _supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions)));
                            +            WebGLSupport = _supported ? 1 : 0;
                            +        } catch (e) {
                            +            WebGLSupport = 0;
                            +        }
                                 }
                            -
                            -    return _supported;
                            +    return WebGLSupport === 1;
                             }
                             
                             /**
                            diff --git a/docs/docs/melonjs/src/system/dom.js.html b/docs/docs/melonjs/src/system/dom.js.html
                            index c59c097c78..cc06dccfab 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 537a18e4f7..0d3addcd7b 100644
                            --- a/docs/docs/melonjs/src/system/event.js.html
                            +++ b/docs/docs/melonjs/src/system/event.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -3010,7 +3010,7 @@
                              * calls each of the listeners registered for a given event.
                              * @function event.emit
                              * @param {string|symbol} eventName - The event name.
                            - * @param {object} [...arguments] - arguments to be passed to all listeners
                            + * @param {...*} [args] - arguments to be passed to all listeners
                              * @returns {boolean} true if the event had listeners, false otherwise.
                              * @example
                              * me.event.emit("event-name", a, b, c);
                            diff --git a/docs/docs/melonjs/src/system/platform.js.html b/docs/docs/melonjs/src/system/platform.js.html
                            index a767459c46..9bbb91c9d3 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 d614a40070..94a94a2081 100644
                            --- a/docs/docs/melonjs/src/system/pooling.js.html
                            +++ b/docs/docs/melonjs/src/system/pooling.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -890,7 +890,7 @@
                                 /**
                                  * Pull a new instance of the requested object (if added into the object pool)
                                  * @param {string} name - as used in {@link pool.register}
                            -     * @param {object} [...arguments] - arguments to be passed when instantiating/reinitializing the object
                            +     * @param {...*} [args] - arguments to be passed when instantiating/reinitializing the object
                                  * @returns {object} the instance of the requested object
                                  * @example
                                  * me.pool.register("bullet", BulletEntity, true);
                            diff --git a/docs/docs/melonjs/src/system/save.js.html b/docs/docs/melonjs/src/system/save.js.html
                            index 1d8a0ce3ea..3f65b23d4e 100644
                            --- a/docs/docs/melonjs/src/system/save.js.html
                            +++ b/docs/docs/melonjs/src/system/save.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -725,7 +725,7 @@
                             
                             
                             // Initialize me.save on Boot event
                            -event.on(event.BOOT, () => {
                            +event.once(event.BOOT, () => {
                                 // Load previous data if local Storage is supported
                                 if (hasLocalStorage === true) {
                                     let me_save_content = globalThis.localStorage.getItem("me.save");
                            diff --git a/docs/docs/melonjs/src/system/timer.js.html b/docs/docs/melonjs/src/system/timer.js.html
                            index 049f1b0943..c366f8217d 100644
                            --- a/docs/docs/melonjs/src/system/timer.js.html
                            +++ b/docs/docs/melonjs/src/system/timer.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -1268,8 +1268,8 @@
                                     this.timers = [];
                                     this.timerId = 0;
                             
                            -        // Initialize mtimer on Boot event
                            -        event.on(event.BOOT, () => {
                            +        // Initialize timer on Boot event
                            +        event.once(event.BOOT, () => {
                                         // reset variables to initial state
                                         this.reset();
                                         this.now = this.last = 0;
                            diff --git a/docs/docs/melonjs/src/tweens/easing.js.html b/docs/docs/melonjs/src/tweens/easing.js.html
                            index bcf107e653..e661254d8b 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 8d805c60b6..6e84f8f49f 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 77eea796a3..2a61c1d769 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 8acbe3edfd..05e40f96f6 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 dc7c9c139c..8fe4fb8671 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 90f6ab6fea..ec87031dcf 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 9abb036561..7bf75d9771 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 159e6d225b..d81d3dba2f 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 74b4a6f914..c3060ecb5d 100644
                            --- a/docs/docs/melonjs/src/utils/utils.js.html
                            +++ b/docs/docs/melonjs/src/utils/utils.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            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 8371e0935a..3ca68dbeae 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 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -3540,18 +3540,6 @@
                                         867
                                       
                                     
                            -          
                          • - 868 -
                          • - -
                          • - 869 -
                          • - -
                          • - 870 -
                          • -
                            import Color from "./../../math/color.js";
                             import Renderer from "./../renderer.js";
                            @@ -3571,9 +3559,6 @@
                                     // parent constructor
                                     super(options);
                             
                            -        // defined the 2d context
                            -        this.context = this.getContext2d(this.getCanvas(), this.settings.transparent);
                            -
                                     this.setBlendMode(this.settings.blendMode);
                             
                                     // apply the default color to the 2d context
                            diff --git a/docs/docs/melonjs/src/video/renderer.js.html b/docs/docs/melonjs/src/video/renderer.js.html
                            index a34892ad60..d5ab04c759 100644
                            --- a/docs/docs/melonjs/src/video/renderer.js.html
                            +++ b/docs/docs/melonjs/src/video/renderer.js.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -1820,127 +1820,15 @@
                                         437
                                       
                                     
                            -          
                          • - 438 -
                          • - -
                          • - 439 -
                          • - -
                          • - 440 -
                          • - -
                          • - 441 -
                          • - -
                          • - 442 -
                          • - -
                          • - 443 -
                          • - -
                          • - 444 -
                          • - -
                          • - 445 -
                          • - -
                          • - 446 -
                          • - -
                          • - 447 -
                          • - -
                          • - 448 -
                          • - -
                          • - 449 -
                          • - -
                          • - 450 -
                          • - -
                          • - 451 -
                          • - -
                          • - 452 -
                          • - -
                          • - 453 -
                          • - -
                          • - 454 -
                          • - -
                          • - 455 -
                          • - -
                          • - 456 -
                          • - -
                          • - 457 -
                          • - -
                          • - 458 -
                          • - -
                          • - 459 -
                          • - -
                          • - 460 -
                          • - -
                          • - 461 -
                          • - -
                          • - 462 -
                          • - -
                          • - 463 -
                          • - -
                          • - 464 -
                          • - -
                          • - 465 -
                          • -
                            import Color from "./../math/color.js";
                             import Matrix3d from "./../math/matrix3.js";
                             import { createCanvas } from "./video.js";
                             import * as event from "./../system/event.js";
                             import { platform } from "../system/device.js";
                            -import { setPrefixed } from "./../utils/agent.js";
                             import Path2D from "./../geometries/path2d.js";
                             import Vector2d from "../math/vector2.js";
                            +import CanvasRenderTarget from "./rendertarget/canvasrendertarget.js";
                             
                             /**
                              * @classdesc
                            @@ -1951,6 +1839,14 @@
                                  * @param {Application.Settings} [options] - optional parameters for the renderer
                                  */
                                 constructor(options) {
                            +
                            +        /**
                            +         * The renderer renderTarget
                            +         * @name renderTarget
                            +         * @type {CanvasRenderTarget}
                            +         */
                            +        this.renderTarget = new CanvasRenderTarget(options.width, options.height, options);
                            +
                                     /**
                                      * The given constructor options
                                      * @public
                            @@ -2096,7 +1992,7 @@
                                  * @returns {HTMLCanvasElement}
                                  */
                                 getCanvas() {
                            -        return this.canvas;
                            +        return this.renderTarget.canvas;
                                 }
                             
                                 /**
                            @@ -2104,7 +2000,7 @@
                                  * @returns {CanvasRenderingContext2D|WebGLRenderingContext}
                                  */
                                 getContext() {
                            -        return this.context;
                            +        return this.renderTarget.context;
                                 }
                             
                                 /**
                            @@ -2204,25 +2100,7 @@
                                  * @param {boolean} [enable=false]
                                  */
                                 setAntiAlias(context, enable) {
                            -        let canvas = context.canvas;
                            -
                            -        // enable/disable antialis on the given Context2d object
                            -        setPrefixed("imageSmoothingEnabled", enable === true, context);
                            -
                            -        // set antialias CSS property on the main canvas
                            -        if (enable !== true) {
                            -            // https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering
                            -            canvas.style["image-rendering"] = "optimizeSpeed"; // legal fallback
                            -            canvas.style["image-rendering"] = "-moz-crisp-edges"; // Firefox
                            -            canvas.style["image-rendering"] = "-o-crisp-edges"; // Opera
                            -            canvas.style["image-rendering"] = "-webkit-optimize-contrast"; // Safari
                            -            canvas.style["image-rendering"] = "optimize-contrast"; // CSS 3
                            -            canvas.style["image-rendering"] = "crisp-edges"; // CSS 4
                            -            canvas.style["image-rendering"] = "pixelated"; // CSS 4
                            -            canvas.style.msInterpolationMode = "nearest-neighbor"; // IE8+
                            -        } else {
                            -            canvas.style["image-rendering"] = "auto";
                            -        }
                            +        this.renderTarget.setAntiAlias(context, enable);
                                 }
                             
                                 /**
                            @@ -2351,13 +2229,7 @@
                                  * renderer.convertToBlob().then((blob) => console.log(blob));
                                  */
                                 toBlob(type = "image/png", quality) {
                            -        return new Promise((resolve) => {
                            -            event.once(event.GAME_AFTER_DRAW, () => {
                            -                this.canvas.toBlob((blob) => {
                            -                    resolve(blob);
                            -                }, type, quality);
                            -            });
                            -        });
                            +        return this.renderTarget.toBlob(type, quality);
                                 }
                             
                                 /**
                            @@ -2370,15 +2242,7 @@
                                  * renderer.transferToImageBitmap().then((image) => console.log(image));
                                  */
                                 toImageBitmap(type = "image/png", quality) {
                            -        return new Promise((resolve) => {
                            -            event.once(event.GAME_AFTER_DRAW, () => {
                            -                let image = new Image();
                            -                image.src = this.canvas.toDataURL(type, quality);
                            -                image.onload = () => {
                            -                    createImageBitmap(image).then((bitmap) => resolve(bitmap));
                            -                };
                            -            });
                            -        });
                            +        return this.renderTarget.toImageBitmap(type, quality);
                                 }
                             
                                 /**
                            @@ -2390,11 +2254,7 @@
                                  * renderer.toDataURL().then((dataURL) => console.log(dataURL));
                                  */
                                 toDataURL(type = "image/png", quality) {
                            -        return new Promise((resolve) => {
                            -            event.once(event.GAME_AFTER_DRAW, () => {
                            -                resolve(this.canvas.toDataURL(type, quality));
                            -            });
                            -        });
                            +        return this.renderTarget.toDataURL(type, quality);
                                 }
                             }
                             
                            diff --git a/docs/docs/melonjs/src/video/texture/canvas_texture.js.html b/docs/docs/melonjs/src/video/rendertarget/canvasrendertarget.js.html similarity index 77% rename from docs/docs/melonjs/src/video/texture/canvas_texture.js.html rename to docs/docs/melonjs/src/video/rendertarget/canvasrendertarget.js.html index 30cbe38b02..77696aaf0d 100644 --- a/docs/docs/melonjs/src/video/texture/canvas_texture.js.html +++ b/docs/docs/melonjs/src/video/rendertarget/canvasrendertarget.js.html @@ -1,10 +1,10 @@ - + - melonJS: canvas_texture.js + melonJS: canvasrendertarget.js @@ -988,9 +988,285 @@ 229 +
                          • + 230 +
                          • + +
                          • + 231 +
                          • + +
                          • + 232 +
                          • + +
                          • + 233 +
                          • + +
                          • + 234 +
                          • + +
                          • + 235 +
                          • + +
                          • + 236 +
                          • + +
                          • + 237 +
                          • + +
                          • + 238 +
                          • + +
                          • + 239 +
                          • + +
                          • + 240 +
                          • + +
                          • + 241 +
                          • + +
                          • + 242 +
                          • + +
                          • + 243 +
                          • + +
                          • + 244 +
                          • + +
                          • + 245 +
                          • + +
                          • + 246 +
                          • + +
                          • + 247 +
                          • + +
                          • + 248 +
                          • + +
                          • + 249 +
                          • + +
                          • + 250 +
                          • + +
                          • + 251 +
                          • + +
                          • + 252 +
                          • + +
                          • + 253 +
                          • + +
                          • + 254 +
                          • + +
                          • + 255 +
                          • + +
                          • + 256 +
                          • + +
                          • + 257 +
                          • + +
                          • + 258 +
                          • + +
                          • + 259 +
                          • + +
                          • + 260 +
                          • + +
                          • + 261 +
                          • + +
                          • + 262 +
                          • + +
                          • + 263 +
                          • + +
                          • + 264 +
                          • + +
                          • + 265 +
                          • + +
                          • + 266 +
                          • + +
                          • + 267 +
                          • + +
                          • + 268 +
                          • + +
                          • + 269 +
                          • + +
                          • + 270 +
                          • + +
                          • + 271 +
                          • + +
                          • + 272 +
                          • + +
                          • + 273 +
                          • + +
                          • + 274 +
                          • + +
                          • + 275 +
                          • + +
                          • + 276 +
                          • + +
                          • + 277 +
                          • + +
                          • + 278 +
                          • + +
                          • + 279 +
                          • + +
                          • + 280 +
                          • + +
                          • + 281 +
                          • + +
                          • + 282 +
                          • + +
                          • + 283 +
                          • + +
                          • + 284 +
                          • + +
                          • + 285 +
                          • + +
                          • + 286 +
                          • + +
                          • + 287 +
                          • + +
                          • + 288 +
                          • + +
                          • + 289 +
                          • + +
                          • + 290 +
                          • + +
                          • + 291 +
                          • + +
                          • + 292 +
                          • + +
                          • + 293 +
                          • + +
                          • + 294 +
                          • + +
                          • + 295 +
                          • + +
                          • + 296 +
                          • + +
                          • + 297 +
                          • + +
                          • + 298 +
                          • + -
                            import { createCanvas } from "./../video.js";
                            -import { setPrefixed } from "./../../utils/agent.js";
                            +      
                            import { createCanvas } from "../video.js";
                            +import { setPrefixed } from "../../utils/agent.js";
                             import { clamp } from "../../math/math.js";
                             
                             // default canvas settings
                            @@ -998,14 +1274,72 @@
                                 offscreenCanvas : false,
                                 willReadFrequently : false,
                                 antiAlias : false,
                            -    context: "2d"
                            +    context: "2d",
                            +    transparent : false,
                            +    premultipliedAlpha: true,
                            +    stencil: true,
                            +    blendMode : "normal",
                            +    failIfMajorPerformanceCaveat : true,
                            +    preferWebGL1 : false,
                            +    powerPreference : "default"
                             };
                             
                            +// WebGL version (if a gl context is created)
                            +let WebGLVersion;
                            +
                            +// a helper function to create the 2d/webgl context
                            +function createContext(canvas, attributes) {
                            +    let context;
                            +
                            +    if (attributes.context === "2d") {
                            +        // 2d/canvas mode
                            +        context = canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently });
                            +    } else if (attributes.context === "webgl") {
                            +
                            +        let attr = {
                            +            alpha : attributes.transparent,
                            +            antialias : attributes.antiAlias,
                            +            depth : attributes.depth,
                            +            stencil: true,
                            +            preserveDrawingBuffer : false,
                            +            premultipliedAlpha: attributes.transparent ? attributes.premultipliedAlpha : false,
                            +            powerPreference: attributes.powerPreference,
                            +            failIfMajorPerformanceCaveat : attributes.failIfMajorPerformanceCaveat
                            +        };
                            +
                            +        // attempt to create a WebGL2 context if requested
                            +        if (attributes.preferWebGL1 === false) {
                            +            context = canvas.getContext("webgl2", attr);
                            +            if (context) {
                            +                WebGLVersion = 2;
                            +            }
                            +        }
                            +
                            +        // fallback to WebGL1
                            +        if (!context) {
                            +            WebGLVersion = 1;
                            +            context = canvas.getContext("webgl", attr) || canvas.getContext("experimental-webgl", attr);
                            +        }
                            +
                            +        if (!context) {
                            +            throw new Error(
                            +                "A WebGL context could not be created."
                            +            );
                            +        }
                            +    } else {
                            +        throw new Error(
                            +            "Invalid context type. Must be one of '2d' or 'webgl'"
                            +        );
                            +    }
                            +
                            +    // set the context size
                            +    return context;
                            +}
                            +
                             /**
                            - * Creates a Canvas Texture of the given size
                            - * (when using WebGL, use `invalidate` to force a reupload of the corresponding texture)
                            + * CanvasRenderTarget is 2D render target which exposes a Canvas interface.
                              */
                            -class CanvasTexture {
                            +class CanvasRenderTarget {
                                 /**
                                  * @param {number} width - the desired width of the canvas
                                  * @param {number} height - the desired height of the canvas
                            @@ -1016,24 +1350,35 @@
                                  * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect.
                                  */
                                 constructor(width, height, attributes = defaultAttributes) {
                            -
                            -        // clean up the given attributes
                            -        attributes = Object.assign(defaultAttributes, attributes || {});
                            -
                                     /**
                            -         * the canvas created for this CanvasTexture
                            +         * the canvas created for this CanvasRenderTarget
                                      * @type {HTMLCanvasElement|OffscreenCanvas}
                                      */
                            -        this.canvas = createCanvas(width, height, attributes.offscreenCanvas);
                            +        this.canvas;
                             
                                     /**
                            -         * the rendering context of this CanvasTexture
                            -         * @type {CanvasRenderingContext2D}
                            +         * the rendering context of this CanvasRenderTarget
                            +         * @type {CanvasRenderingContext2D|WebGLRenderingContext}
                                      */
                            -        this.context = this.canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently });
                            +        this.context;
                            +
                            +        // clean up the given attributes
                            +        this.attributes = Object.assign({}, defaultAttributes, attributes);
                            +
                            +        // used the given canvas if any
                            +        if (typeof attributes.canvas !== "undefined") {
                            +            this.canvas = attributes.canvas;
                            +        } else {
                            +            this.canvas = createCanvas(width, height, this.attributes.offscreenCanvas);
                            +        }
                            +
                            +        // create the context
                            +        this.context = createContext(this.canvas, this.attributes);
                            +
                            +        this.WebGLVersion = WebGLVersion;
                             
                                     // enable or disable antiAlias if specified
                            -        this.setAntiAlias(attributes.antiAlias);
                            +        this.setAntiAlias(this.attributes.antiAlias);
                                 }
                             
                                 /**
                            @@ -1097,7 +1442,7 @@
                                  * @param {number} y - The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted
                                  * @param {number} width - The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left
                                  * @param {number} height - The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up
                            -     * @returns {ImageData} The ImageData extracted from this CanvasTexture.
                            +     * @returns {ImageData} The ImageData extracted from this CanvasRenderTarget.
                                  */
                                 getImageData(x, y, width, height) {
                                     // clamp values
                            @@ -1115,7 +1460,7 @@
                                  * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
                                  * @returns {Promise} A Promise returning a Blob object representing the image contained in this canvas texture
                                  * @example
                            -     * canvasTexture.convertToBlob().then((blob) => console.log(blob));
                            +     * renderTarget.convertToBlob().then((blob) => console.log(blob));
                                  */
                                 toBlob(type = "image/png", quality) {
                                     if (typeof this.canvas.convertToBlob === "function") {
                            @@ -1135,7 +1480,7 @@
                                  * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
                                  * @returns {Promise} A Promise returning an ImageBitmap.
                                  * @example
                            -     * canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap));
                            +     * renderTarget.transferToImageBitmap().then((bitmap) => console.log(bitmap));
                                  */
                                 toImageBitmap(type = "image/png", quality) {
                                     return new Promise((resolve) => {
                            @@ -1167,7 +1512,7 @@
                                 }
                             
                                 /**
                            -     * invalidate the current CanvasTexture, and force a reupload of the corresponding texture
                            +     * invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture
                                  * (call this if you modify the canvas content between two draw calls)
                                  * @param {CanvasRenderer|WebGLRenderer} renderer - the renderer to which this canvas texture is attached
                                  */
                            @@ -1216,7 +1561,7 @@
                                 }
                             }
                             
                            -export default CanvasTexture;
                            +export default CanvasRenderTarget;
                             
                            diff --git a/docs/docs/melonjs/src/video/texture/atlas.js.html b/docs/docs/melonjs/src/video/texture/atlas.js.html index 1af3929775..19ecf132b8 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 9a1ab6b4b9..86cc10f666 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/parser/aseprite.js.html b/docs/docs/melonjs/src/video/texture/parser/aseprite.js.html index 6a026bf028..e39da97e0a 100644 --- a/docs/docs/melonjs/src/video/texture/parser/aseprite.js.html +++ b/docs/docs/melonjs/src/video/texture/parser/aseprite.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/video/texture/parser/spritesheet.js.html b/docs/docs/melonjs/src/video/texture/parser/spritesheet.js.html index 98ef4c7cf0..d9f772d60f 100644 --- a/docs/docs/melonjs/src/video/texture/parser/spritesheet.js.html +++ b/docs/docs/melonjs/src/video/texture/parser/spritesheet.js.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/src/video/texture/parser/texturepacker.js.html b/docs/docs/melonjs/src/video/texture/parser/texturepacker.js.html index 17f0473502..d57c497cd7 100644 --- a/docs/docs/melonjs/src/video/texture/parser/texturepacker.js.html +++ b/docs/docs/melonjs/src/video/texture/parser/texturepacker.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 5c74495e29..c74da7e2a3 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 97a977e4f7..5158d1dfe1 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 143c898b90..501027c249 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 e104fc16c1..ae9280fb7f 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 f9830ca969..95a0d09557 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 d4ea70e9c8..2a82d16460 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 4152faf7c9..4db6dc9109 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 816df7d258..0b8b914782 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 c2a722378f..4bbe67e027 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 0ad95c9e31..0518313178 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 3821224022..ecea417363 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 ef717e9302..1941e1b082 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 838c5ccded..32044d3127 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 @@ - + @@ -4732,42 +4732,6 @@ 1165 -
                          • - 1166 -
                          • - -
                          • - 1167 -
                          • - -
                          • - 1168 -
                          • - -
                          • - 1169 -
                          • - -
                          • - 1170 -
                          • - -
                          • - 1171 -
                          • - -
                          • - 1172 -
                          • - -
                          • - 1173 -
                          • - -
                          • - 1174 -
                          • -
                            import Color from "./../../math/color.js";
                             import Matrix2d from "./../../math/matrix2.js";
                            @@ -4781,6 +4745,9 @@
                             import pool from "./../../system/pooling.js";
                             import { isPowerOfTwo } from "./../../math/math.js";
                             
                            +// list of supported compressed texture formats
                            +let supportedCompressedTextureFormats;
                            +
                             /**
                              * @classdesc
                              * a WebGL renderer object
                            @@ -4792,15 +4759,7 @@
                                  */
                                 constructor(options) {
                                     // parent contructor
                            -        super(options);
                            -
                            -        /**
                            -         * The WebGL version used by this renderer (1 or 2)
                            -         * @type {number}
                            -         * @default 1
                            -         * @readonly
                            -         */
                            -        this.WebGLVersion = 1;
                            +        super(Object.assign(options, { context: "webgl" }));
                             
                                     /**
                                      * The vendor string of the underlying graphics driver.
                            @@ -4823,7 +4782,7 @@
                                      * @name gl
                                      * @type {WebGLRenderingContext}
                                      */
                            -        this.context = this.gl = this.getContextGL(this.getCanvas(), options.transparent, options.depthTest === "z-buffer");
                            +        this.gl = this.renderTarget.context;
                             
                                     /**
                                      * the vertex buffer used by this WebGL Renderer
                            @@ -4953,6 +4912,53 @@
                                     });
                                 }
                             
                            +    /**
                            +     * The WebGL version used by this renderer (1 or 2)
                            +     * @type {number}
                            +     * @default 1
                            +     * @readonly
                            +     */
                            +    get WebGLVersion() {
                            +        return this.renderTarget.WebGLVersion;
                            +    }
                            +
                            +    /**
                            +     * return the list of supported compressed texture formats
                            +     * @return {Object}
                            +     */
                            +    getSupportedCompressedTextureFormats() {
                            +        if (typeof supportedCompressedTextureFormats === "undefined") {
                            +            const gl = this.gl;
                            +            supportedCompressedTextureFormats =  {
                            +                astc: gl.getExtension("WEBGL_compressed_texture_astc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_astc"),
                            +                bptc: gl.getExtension("EXT_texture_compression_bptc") || this._gl.getExtension("WEBKIT_EXT_texture_compression_bptc"),
                            +                s3tc: gl.getExtension("WEBGL_compressed_texture_s3tc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"),
                            +                s3tc_srgb: gl.getExtension("WEBGL_compressed_texture_s3tc_srgb") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc_srgb"),
                            +                pvrtc: gl.getExtension("WEBGL_compressed_texture_pvrtc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),
                            +                etc1: gl.getExtension("WEBGL_compressed_texture_etc1") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc1"),
                            +                etc2: gl.getExtension("WEBGL_compressed_texture_etc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc") || gl.getExtension("WEBGL_compressed_texture_es3_0")
                            +            };
                            +        }
                            +        return supportedCompressedTextureFormats;
                            +    }
                            +
                            +    /**
                            +     * return true if the given compressed texture format is supported
                            +     * @param {Number} format
                            +     * @returns
                            +     */
                            +    hasSupportedCompressedFormats(format) {
                            +        const supportedFormats = this.getSupportedCompressedTextureFormats();
                            +        for (var supportedFormat in supportedFormats) {
                            +            for (var extension in supportedFormats[supportedFormat]) {
                            +                if (format === supportedFormats[supportedFormat][extension]) {
                            +                    return true;
                            +                }
                            +            }
                            +        }
                            +        return false;
                            +    }
                            +
                                 /**
                                  * Reset context state
                                  */
                            @@ -5330,57 +5336,6 @@
                                     this.path2D.closePath();
                                 }
                             
                            -    /**
                            -     * Returns the WebGL Context object of the given canvas element
                            -     * @param {HTMLCanvasElement} canvas - the canvas element
                            -     * @param {boolean} [transparent=false] - use true to enable transparency
                            -     * @param {boolean} [depth=false] - use true to enable depth buffer testing
                            -     * @returns {WebGLRenderingContext} the WebGL Context object
                            -     */
                            -    getContextGL(canvas, transparent = false, depth = false) {
                            -        if (typeof canvas === "undefined" || canvas === null) {
                            -            throw new Error(
                            -                "You must pass a canvas element in order to create " +
                            -                "a GL context"
                            -            );
                            -        }
                            -
                            -        let attr = {
                            -            alpha : transparent,
                            -            antialias : this.settings.antiAlias,
                            -            depth : depth,
                            -            stencil: true,
                            -            preserveDrawingBuffer : false,
                            -            premultipliedAlpha: transparent ? this.settings.premultipliedAlpha : false,
                            -            powerPreference: this.settings.powerPreference,
                            -            failIfMajorPerformanceCaveat : this.settings.failIfMajorPerformanceCaveat
                            -        };
                            -
                            -        let gl;
                            -
                            -        // attempt to create a WebGL2 context if requested
                            -        if (this.settings.preferWebGL1 === false) {
                            -            gl = canvas.getContext("webgl2", attr);
                            -            if (gl) {
                            -                this.WebGLVersion = 2;
                            -            }
                            -        }
                            -
                            -        // fallback to WebGL1
                            -        if (!gl) {
                            -            this.WebGLVersion = 1;
                            -            gl = canvas.getContext("webgl", attr) || canvas.getContext("experimental-webgl", attr);
                            -        }
                            -
                            -        if (!gl) {
                            -            throw new Error(
                            -                "A WebGL context could not be created."
                            -            );
                            -        }
                            -
                            -        return gl;
                            -    }
                            -
                                 /**
                                  * Returns the WebGLContext instance for the renderer
                                  * return a reference to the system 2d Context
                            diff --git a/docs/docs/melonjs/state.html b/docs/docs/melonjs/state.html
                            index 84515bcfcf..e2c78cbf01 100644
                            --- a/docs/docs/melonjs/state.html
                            +++ b/docs/docs/melonjs/state.html
                            @@ -1,5 +1,5 @@
                             
                            -
                            +
                             
                             
                               
                            @@ -324,7 +324,7 @@ 

                            Methods from state

                            - change(state: number, forceChange: boolean) + change(state: number, forceChange: boolean, args: unknown)
                            @@ -1100,9 +1100,9 @@

                            Public Methods

                            -

                            -
                            change(state: number, forceChange: boolean) → {}
                            +
                            change(state: number, forceChange: boolean, args: unknown) → {}
                            @@ -1194,10 +1194,10 @@

                            Public Methods

                            - ...arguments + args - object + unknown

                            <optional>

                            @@ -2438,7 +2438,7 @@

                            Public Methods

                            Public Methods
                              -
                            • +
                            • change
                            • diff --git a/docs/docs/melonjs/timer.html b/docs/docs/melonjs/timer.html index 20825d7964..e4e0e875a3 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 ecc1059788..4ed9ef7503 100644 --- a/docs/docs/melonjs/utils.html +++ b/docs/docs/melonjs/utils.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/agent.html b/docs/docs/melonjs/utils/agent.html index 3640eed1b6..eaa5b2bdf3 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 770e00a94e..d3a0e90701 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 6d42aff7f3..cd2dcc2bcc 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 4ed5760a49..3e335b5e74 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 23668d6b12..1e6092001a 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 9b414c0f81..8c29c3be31 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 555a95d191..38111c742e 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 d3262b3c30..c503935f6a 100644 --- a/docs/docs/melonjs/utils/checkVersion.html +++ b/docs/docs/melonjs/utils/checkVersion.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/file.html b/docs/docs/melonjs/utils/file.html index 8c23f92de8..d4f7c4a736 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 737b56b0ae..ee41668862 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 29e31a90a2..72d307186c 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 395b04745f..77e8a9f77b 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 d3d1d55af2..457e3a7a21 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 ffaa92eed2..9af77d376d 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 abb7a0dc1f..443b24112f 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 4e43ab4d8e..307b44bcba 100644 --- a/docs/docs/melonjs/utils/getUriFragment.html +++ b/docs/docs/melonjs/utils/getUriFragment.html @@ -1,5 +1,5 @@ - + diff --git a/docs/docs/melonjs/utils/string.html b/docs/docs/melonjs/utils/string.html index d9e920e003..17f2c6f17f 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 fb4332a4fc..d08c165024 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 ae2ccdb9a0..3610365524 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 97d105f7e5..c346fc5c52 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 135d6777ec..cabf3d41b2 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 a68aa33af5..191468abab 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 4b3f0c5ebe..676aa9aad6 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 742d86856c..6d336a6dcf 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 62afcd7a91..573b211364 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 af07635315..48ccb3b8fd 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 1e09afe6b1..711497ad0d 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 6331e11f0f..498d7761b5 100644 --- a/docs/docs/settings.html +++ b/docs/docs/settings.html @@ -1,5 +1,5 @@ - +