melonjs 17.4.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/types → build}/application/application.d.ts +9 -10
- package/build/application/application.d.ts.map +1 -0
- package/build/application/defaultApplicationSettings.d.ts +18 -0
- package/build/application/defaultApplicationSettings.d.ts.map +1 -0
- package/{dist/types → build}/application/header.d.ts +1 -0
- package/build/application/header.d.ts.map +1 -0
- package/{dist/types → build}/application/resize.d.ts +1 -0
- package/build/application/resize.d.ts.map +1 -0
- package/build/application/scaleMethods.d.ts +44 -0
- package/build/application/scaleMethods.d.ts.map +1 -0
- package/build/application/settings.d.ts +85 -0
- package/build/application/settings.d.ts.map +1 -0
- package/{dist/types → build}/audio/audio.d.ts +35 -58
- package/build/audio/audio.d.ts.map +1 -0
- package/{dist/types → build}/camera/camera2d.d.ts +38 -76
- package/build/camera/camera2d.d.ts.map +1 -0
- package/build/const.d.ts +14 -0
- package/build/const.d.ts.map +1 -0
- package/build/geometries/earcut.d.ts +3 -0
- package/build/geometries/earcut.d.ts.map +1 -0
- package/build/geometries/ellipse.d.ts +117 -0
- package/build/geometries/ellipse.d.ts.map +1 -0
- package/build/geometries/line.d.ts +39 -0
- package/build/geometries/line.d.ts.map +1 -0
- package/build/geometries/observablePoint.d.ts +75 -0
- package/build/geometries/observablePoint.d.ts.map +1 -0
- package/{dist/types → build}/geometries/path2d.d.ts +8 -7
- package/build/geometries/path2d.d.ts.map +1 -0
- package/build/geometries/point.d.ts +44 -0
- package/build/geometries/point.d.ts.map +1 -0
- package/build/geometries/polygon.d.ts +182 -0
- package/build/geometries/polygon.d.ts.map +1 -0
- package/build/geometries/rectangle.d.ts +135 -0
- package/build/geometries/rectangle.d.ts.map +1 -0
- package/build/geometries/roundrect.d.ts +67 -0
- package/build/geometries/roundrect.d.ts.map +1 -0
- package/build/geometries/toarccanvas.d.ts +28 -0
- package/build/geometries/toarccanvas.d.ts.map +1 -0
- package/{dist/types → build}/index.d.ts +41 -45
- package/build/index.d.ts.map +1 -0
- package/build/index.js +28318 -0
- package/build/index.js.map +7 -0
- package/{dist/types → build}/input/gamepad.d.ts +3 -11
- package/build/input/gamepad.d.ts.map +1 -0
- package/{dist/types → build}/input/input.d.ts +4 -2
- package/build/input/input.d.ts.map +1 -0
- package/build/input/key.d.ts +105 -0
- package/build/input/key.d.ts.map +1 -0
- package/build/input/keyboard.d.ts +72 -0
- package/build/input/keyboard.d.ts.map +1 -0
- package/build/input/pointer.d.ts +180 -0
- package/build/input/pointer.d.ts.map +1 -0
- package/{dist/types → build}/input/pointerevent.d.ts +17 -16
- package/build/input/pointerevent.d.ts.map +1 -0
- package/{dist/types → build}/lang/console.d.ts +1 -0
- package/build/lang/console.d.ts.map +1 -0
- package/build/lang/deprecated.d.ts +24 -0
- package/build/lang/deprecated.d.ts.map +1 -0
- package/{dist/types → build}/level/level.d.ts +7 -7
- package/build/level/level.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXGroup.d.ts +2 -2
- package/build/level/tiled/TMXGroup.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXLayer.d.ts +4 -4
- package/build/level/tiled/TMXLayer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXObject.d.ts +3 -3
- package/build/level/tiled/TMXObject.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTile.d.ts +4 -5
- package/build/level/tiled/TMXTile.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTileMap.d.ts +4 -4
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTileset.d.ts +2 -2
- package/build/level/tiled/TMXTileset.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTilesetGroup.d.ts +1 -1
- package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXUtils.d.ts +2 -1
- package/build/level/tiled/TMXUtils.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/constants.d.ts +1 -0
- package/build/level/tiled/constants.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXHexagonalRenderer.d.ts +3 -4
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -3
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +1 -2
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXRenderer.d.ts +7 -7
- package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXStaggeredRenderer.d.ts +1 -2
- package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/autodetect.d.ts +4 -3
- package/build/level/tiled/renderer/autodetect.d.ts.map +1 -0
- package/build/loader/cache.d.ts +10 -0
- package/build/loader/cache.d.ts.map +1 -0
- package/{dist/types → build}/loader/loader.d.ts +19 -13
- package/build/loader/loader.d.ts.map +1 -0
- package/{dist/types → build}/loader/loadingscreen.d.ts +1 -0
- package/build/loader/loadingscreen.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/binary.d.ts +2 -1
- package/build/loader/parsers/binary.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
- package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/fetchdata.d.ts +2 -1
- package/build/loader/parsers/fetchdata.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/fontface.d.ts +2 -1
- package/build/loader/parsers/fontface.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/image.d.ts +2 -1
- package/build/loader/parsers/image.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/json.d.ts +2 -1
- package/build/loader/parsers/json.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/script.d.ts +2 -1
- package/build/loader/parsers/script.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/tmx.d.ts +2 -1
- package/build/loader/parsers/tmx.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/video.d.ts +2 -1
- package/build/loader/parsers/video.d.ts.map +1 -0
- package/build/math/color.d.ts +192 -0
- package/build/math/color.d.ts.map +1 -0
- package/build/math/math.d.ts +128 -0
- package/build/math/math.d.ts.map +1 -0
- package/build/math/matrix2d.d.ts +163 -0
- package/build/math/matrix2d.d.ts.map +1 -0
- package/build/math/matrix3d.d.ts +188 -0
- package/build/math/matrix3d.d.ts.map +1 -0
- package/build/math/observableVector2d.d.ts +286 -0
- package/build/math/observableVector2d.d.ts.map +1 -0
- package/build/math/observableVector2d_old.d.ts +76 -0
- package/build/math/observableVector2d_old.d.ts.map +1 -0
- package/build/math/observableVector3d.d.ts +283 -0
- package/build/math/observableVector3d.d.ts.map +1 -0
- package/build/math/observableVector3d_old.d.ts +81 -0
- package/build/math/observableVector3d_old.d.ts.map +1 -0
- package/build/math/vector2d.d.ts +253 -0
- package/build/math/vector2d.d.ts.map +1 -0
- package/build/math/vector3d.d.ts +242 -0
- package/build/math/vector3d.d.ts.map +1 -0
- package/{dist/types → build}/particles/emitter.d.ts +7 -10
- package/build/particles/emitter.d.ts.map +1 -0
- package/build/particles/particle.d.ts +47 -0
- package/build/particles/particle.d.ts.map +1 -0
- package/{dist/types → build}/particles/settings.d.ts +1 -0
- package/build/particles/settings.d.ts.map +1 -0
- package/{dist/types → build}/physics/body.d.ts +27 -27
- package/build/physics/body.d.ts.map +1 -0
- package/build/physics/bounds.d.ts +192 -0
- package/build/physics/bounds.d.ts.map +1 -0
- package/{dist/types → build}/physics/collision.d.ts +5 -5
- package/build/physics/collision.d.ts.map +1 -0
- package/{dist/types → build}/physics/detector.d.ts +8 -6
- package/build/physics/detector.d.ts.map +1 -0
- package/{dist/types → build}/physics/quadtree.d.ts +5 -19
- package/build/physics/quadtree.d.ts.map +1 -0
- package/{dist/types → build}/physics/response.d.ts +46 -5
- package/build/physics/response.d.ts.map +1 -0
- package/{dist/types → build}/physics/sat.d.ts +3 -2
- package/build/physics/sat.d.ts.map +1 -0
- package/{dist/types → build}/physics/world.d.ts +5 -4
- package/build/physics/world.d.ts.map +1 -0
- package/{dist/types → build}/plugin/plugin.d.ts +8 -19
- package/build/plugin/plugin.d.ts.map +1 -0
- package/build/polyfill/console.d.ts +2 -0
- package/build/polyfill/console.d.ts.map +1 -0
- package/build/polyfill/index.d.ts +6 -0
- package/build/polyfill/index.d.ts.map +1 -0
- package/build/polyfill/roundrect.d.ts +2 -0
- package/build/polyfill/roundrect.d.ts.map +1 -0
- package/build/pool.d.ts +39 -0
- package/build/pool.d.ts.map +1 -0
- package/{dist/types → build}/renderable/collectable.d.ts +2 -2
- package/build/renderable/collectable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/colorlayer.d.ts +6 -10
- package/build/renderable/colorlayer.d.ts.map +1 -0
- package/{dist/types → build}/renderable/container.d.ts +14 -15
- package/build/renderable/container.d.ts.map +1 -0
- package/{dist/types → build}/renderable/draggable.d.ts +5 -13
- package/build/renderable/draggable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/dragndrop.d.ts +7 -21
- package/build/renderable/dragndrop.d.ts.map +1 -0
- package/{dist/types → build}/renderable/entity/entity.d.ts +12 -13
- package/build/renderable/entity/entity.d.ts.map +1 -0
- package/{dist/types → build}/renderable/imagelayer.d.ts +17 -9
- package/build/renderable/imagelayer.d.ts.map +1 -0
- package/build/renderable/light2d.d.ts +73 -0
- package/build/renderable/light2d.d.ts.map +1 -0
- package/{dist/types → build}/renderable/nineslicesprite.d.ts +3 -4
- package/build/renderable/nineslicesprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/renderable.d.ts +57 -60
- package/build/renderable/renderable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/sprite.d.ts +28 -14
- package/build/renderable/sprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/bitmaptext.d.ts +6 -7
- package/build/renderable/text/bitmaptext.d.ts.map +1 -0
- package/build/renderable/text/bitmaptextdata.d.ts +17 -0
- package/build/renderable/text/bitmaptextdata.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/glyph.d.ts +15 -3
- package/build/renderable/text/glyph.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/text.d.ts +7 -16
- package/build/renderable/text/text.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/textmetrics.d.ts +8 -9
- package/build/renderable/text/textmetrics.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/textstyle.d.ts +1 -0
- package/build/renderable/text/textstyle.d.ts.map +1 -0
- package/{dist/types → build}/renderable/trigger.d.ts +18 -7
- package/build/renderable/trigger.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uibaseelement.d.ts +7 -7
- package/build/renderable/ui/uibaseelement.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uispriteelement.d.ts +4 -6
- package/build/renderable/ui/uispriteelement.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uitextbutton.d.ts +17 -4
- package/build/renderable/ui/uitextbutton.d.ts.map +1 -0
- package/{dist/types → build}/state/stage.d.ts +3 -3
- package/build/state/stage.d.ts.map +1 -0
- package/{dist/types → build}/state/state.d.ts +10 -9
- package/build/state/state.d.ts.map +1 -0
- package/{dist/types → build}/system/device.d.ts +49 -80
- package/build/system/device.d.ts.map +1 -0
- package/build/system/dom.d.ts +2 -0
- package/build/system/dom.d.ts.map +1 -0
- package/{dist/types → build}/system/event.d.ts +124 -291
- package/build/system/event.d.ts.map +1 -0
- package/build/system/eventEmitter.d.ts +19 -0
- package/build/system/eventEmitter.d.ts.map +1 -0
- package/build/system/eventEmitter.spec.d.ts +2 -0
- package/build/system/eventEmitter.spec.d.ts.map +1 -0
- package/{dist/types/system/pooling.d.ts → build/system/legacy_pool.d.ts} +22 -7
- package/build/system/legacy_pool.d.ts.map +1 -0
- package/build/system/platform.d.ts +34 -0
- package/build/system/platform.d.ts.map +1 -0
- package/build/system/pool.d.ts +26 -0
- package/build/system/pool.d.ts.map +1 -0
- package/build/system/save.d.ts +3 -0
- package/build/system/save.d.ts.map +1 -0
- package/build/system/timer.d.ts +118 -0
- package/build/system/timer.d.ts.map +1 -0
- package/build/tweens/easing.d.ts +93 -0
- package/build/tweens/easing.d.ts.map +1 -0
- package/build/tweens/interpolation.d.ts +7 -0
- package/build/tweens/interpolation.d.ts.map +1 -0
- package/build/tweens/tween.d.ts +234 -0
- package/build/tweens/tween.d.ts.map +1 -0
- package/build/utils/agent.d.ts +16 -0
- package/build/utils/agent.d.ts.map +1 -0
- package/build/utils/array-multimap.d.ts +14 -0
- package/build/utils/array-multimap.d.ts.map +1 -0
- package/build/utils/array.d.ts +30 -0
- package/build/utils/array.d.ts.map +1 -0
- package/build/utils/file.d.ts +16 -0
- package/build/utils/file.d.ts.map +1 -0
- package/build/utils/function.d.ts +24 -0
- package/build/utils/function.d.ts.map +1 -0
- package/build/utils/semver.d.ts +2 -0
- package/build/utils/semver.d.ts.map +1 -0
- package/build/utils/string.d.ts +35 -0
- package/build/utils/string.d.ts.map +1 -0
- package/build/utils/types.d.ts +5 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/utils.d.ts +49 -0
- package/build/utils/utils.d.ts.map +1 -0
- package/build/version.d.ts +5 -0
- package/build/version.d.ts.map +1 -0
- package/{dist/types → build}/video/canvas/canvas_renderer.d.ts +40 -32
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/renderer.d.ts +36 -29
- package/build/video/renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +8 -26
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/atlas.d.ts +8 -8
- package/build/video/texture/atlas.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/cache.d.ts +4 -3
- package/build/video/texture/cache.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/aseprite.d.ts +1 -0
- package/build/video/texture/parser/aseprite.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/spritesheet.d.ts +1 -0
- package/build/video/texture/parser/spritesheet.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/texturepacker.d.ts +1 -0
- package/build/video/texture/parser/texturepacker.d.ts.map +1 -0
- package/build/video/utils/autodetect.d.ts +8 -0
- package/build/video/utils/autodetect.d.ts.map +1 -0
- package/{dist/types → build}/video/video.d.ts +4 -3
- package/build/video/video.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/buffer/vertex.d.ts +5 -6
- package/build/video/webgl/buffer/vertex.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/compositor.d.ts +4 -4
- package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +4 -5
- package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +4 -5
- package/build/video/webgl/compositors/quad_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/glshader.d.ts +2 -2
- package/build/video/webgl/glshader.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/attributes.d.ts +1 -0
- package/build/video/webgl/utils/attributes.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/precision.d.ts +1 -0
- package/build/video/webgl/utils/precision.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/program.d.ts +1 -0
- package/build/video/webgl/utils/program.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/string.d.ts +1 -0
- package/build/video/webgl/utils/string.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/uniforms.d.ts +1 -0
- package/build/video/webgl/utils/uniforms.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/webgl_renderer.d.ts +37 -29
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
- package/package.json +83 -104
- package/LICENSE.md +0 -21
- package/README.md +0 -223
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +0 -14
- package/dist/melonjs.mjs/_virtual/earcut.js +0 -10
- package/dist/melonjs.mjs/_virtual/howler.js +0 -10
- package/dist/melonjs.mjs/_virtual/index.js +0 -10
- package/dist/melonjs.mjs/_virtual/re.js +0 -10
- package/dist/melonjs.mjs/application/application.js +0 -443
- package/dist/melonjs.mjs/application/header.js +0 -40
- package/dist/melonjs.mjs/application/resize.js +0 -128
- package/dist/melonjs.mjs/application/settings.js +0 -70
- package/dist/melonjs.mjs/audio/audio.js +0 -623
- package/dist/melonjs.mjs/camera/camera2d.js +0 -737
- package/dist/melonjs.mjs/const.js +0 -32
- package/dist/melonjs.mjs/geometries/ellipse.js +0 -253
- package/dist/melonjs.mjs/geometries/line.js +0 -113
- package/dist/melonjs.mjs/geometries/path2d.js +0 -479
- package/dist/melonjs.mjs/geometries/point.js +0 -85
- package/dist/melonjs.mjs/geometries/poly.js +0 -441
- package/dist/melonjs.mjs/geometries/rectangle.js +0 -335
- package/dist/melonjs.mjs/geometries/roundrect.js +0 -165
- package/dist/melonjs.mjs/geometries/toarccanvas.js +0 -103
- package/dist/melonjs.mjs/index.js +0 -239
- package/dist/melonjs.mjs/input/gamepad.js +0 -495
- package/dist/melonjs.mjs/input/input.js +0 -26
- package/dist/melonjs.mjs/input/keyboard.js +0 -470
- package/dist/melonjs.mjs/input/pointer.js +0 -393
- package/dist/melonjs.mjs/input/pointerevent.js +0 -807
- package/dist/melonjs.mjs/lang/console.js +0 -44
- package/dist/melonjs.mjs/lang/deprecated.js +0 -200
- package/dist/melonjs.mjs/level/level.js +0 -298
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +0 -120
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +0 -432
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +0 -295
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +0 -177
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +0 -574
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +0 -292
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +0 -74
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +0 -417
- package/dist/melonjs.mjs/level/tiled/constants.js +0 -17
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +0 -503
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +0 -215
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -155
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +0 -113
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +0 -107
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +0 -38
- package/dist/melonjs.mjs/loader/cache.js +0 -30
- package/dist/melonjs.mjs/loader/loader.js +0 -729
- package/dist/melonjs.mjs/loader/loadingscreen.js +0 -118
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +0 -10
- package/dist/melonjs.mjs/loader/parsers/binary.js +0 -42
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +0 -58
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +0 -136
- package/dist/melonjs.mjs/loader/parsers/fetchdata.js +0 -62
- package/dist/melonjs.mjs/loader/parsers/fontface.js +0 -62
- package/dist/melonjs.mjs/loader/parsers/image.js +0 -129
- package/dist/melonjs.mjs/loader/parsers/json.js +0 -43
- package/dist/melonjs.mjs/loader/parsers/script.js +0 -46
- package/dist/melonjs.mjs/loader/parsers/tmx.js +0 -103
- package/dist/melonjs.mjs/loader/parsers/video.js +0 -99
- package/dist/melonjs.mjs/math/color.js +0 -635
- package/dist/melonjs.mjs/math/math.js +0 -221
- package/dist/melonjs.mjs/math/matrix2.js +0 -495
- package/dist/melonjs.mjs/math/matrix3.js +0 -628
- package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
- package/dist/melonjs.mjs/math/observable_vector3.js +0 -564
- package/dist/melonjs.mjs/math/vector2.js +0 -431
- package/dist/melonjs.mjs/math/vector3.js +0 -473
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +0 -45
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +0 -130
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +0 -694
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +0 -352
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +0 -12
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +0 -3246
- package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +0 -165
- package/dist/melonjs.mjs/node_modules/semver/classes/range.js +0 -565
- package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +0 -317
- package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +0 -68
- package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +0 -73
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +0 -16
- package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +0 -76
- package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +0 -30
- package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/major.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +0 -27
- package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +0 -21
- package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/index.js +0 -140
- package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +0 -44
- package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +0 -32
- package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +0 -49
- package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +0 -24
- package/dist/melonjs.mjs/node_modules/semver/internal/re.js +0 -234
- package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +0 -15
- package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +0 -15
- package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +0 -37
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +0 -36
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +0 -74
- package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +0 -98
- package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +0 -59
- package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +0 -261
- package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +0 -19
- package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +0 -22
- package/dist/melonjs.mjs/particles/emitter.js +0 -265
- package/dist/melonjs.mjs/particles/particle.js +0 -190
- package/dist/melonjs.mjs/particles/settings.js +0 -317
- package/dist/melonjs.mjs/physics/body.js +0 -717
- package/dist/melonjs.mjs/physics/bounds.js +0 -415
- package/dist/melonjs.mjs/physics/collision.js +0 -135
- package/dist/melonjs.mjs/physics/detector.js +0 -227
- package/dist/melonjs.mjs/physics/quadtree.js +0 -402
- package/dist/melonjs.mjs/physics/response.js +0 -57
- package/dist/melonjs.mjs/physics/sat.js +0 -492
- package/dist/melonjs.mjs/physics/world.js +0 -228
- package/dist/melonjs.mjs/plugin/plugin.js +0 -172
- package/dist/melonjs.mjs/renderable/collectable.js +0 -60
- package/dist/melonjs.mjs/renderable/colorlayer.js +0 -83
- package/dist/melonjs.mjs/renderable/container.js +0 -1016
- package/dist/melonjs.mjs/renderable/draggable.js +0 -121
- package/dist/melonjs.mjs/renderable/dragndrop.js +0 -119
- package/dist/melonjs.mjs/renderable/entity/entity.js +0 -263
- package/dist/melonjs.mjs/renderable/imagelayer.js +0 -293
- package/dist/melonjs.mjs/renderable/light2d.js +0 -172
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -248
- package/dist/melonjs.mjs/renderable/renderable.js +0 -878
- package/dist/melonjs.mjs/renderable/sprite.js +0 -700
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +0 -421
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +0 -195
- package/dist/melonjs.mjs/renderable/text/glyph.js +0 -65
- package/dist/melonjs.mjs/renderable/text/text.js +0 -424
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +0 -176
- package/dist/melonjs.mjs/renderable/text/textstyle.js +0 -21
- package/dist/melonjs.mjs/renderable/trigger.js +0 -163
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +0 -285
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +0 -231
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +0 -146
- package/dist/melonjs.mjs/state/stage.js +0 -235
- package/dist/melonjs.mjs/state/state.js +0 -548
- package/dist/melonjs.mjs/system/device.js +0 -872
- package/dist/melonjs.mjs/system/dom.js +0 -79
- package/dist/melonjs.mjs/system/event.js +0 -606
- package/dist/melonjs.mjs/system/platform.js +0 -43
- package/dist/melonjs.mjs/system/pooling.js +0 -182
- package/dist/melonjs.mjs/system/save.js +0 -157
- package/dist/melonjs.mjs/system/timer.js +0 -274
- package/dist/melonjs.mjs/tweens/easing.js +0 -334
- package/dist/melonjs.mjs/tweens/interpolation.js +0 -112
- package/dist/melonjs.mjs/tweens/tween.js +0 -479
- package/dist/melonjs.mjs/utils/agent.js +0 -77
- package/dist/melonjs.mjs/utils/array.js +0 -63
- package/dist/melonjs.mjs/utils/file.js +0 -54
- package/dist/melonjs.mjs/utils/function.js +0 -69
- package/dist/melonjs.mjs/utils/string.js +0 -82
- package/dist/melonjs.mjs/utils/utils.js +0 -139
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +0 -914
- package/dist/melonjs.mjs/video/renderer.js +0 -402
- package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -316
- package/dist/melonjs.mjs/video/texture/atlas.js +0 -465
- package/dist/melonjs.mjs/video/texture/cache.js +0 -186
- package/dist/melonjs.mjs/video/texture/parser/aseprite.js +0 -78
- package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +0 -77
- package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +0 -64
- package/dist/melonjs.mjs/video/utils/autodetect.js +0 -27
- package/dist/melonjs.mjs/video/video.js +0 -142
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +0 -146
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +0 -240
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -82
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -259
- package/dist/melonjs.mjs/video/webgl/glshader.js +0 -166
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +0 -10
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +0 -25
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +0 -38
- package/dist/melonjs.mjs/video/webgl/utils/program.js +0 -67
- package/dist/melonjs.mjs/video/webgl/utils/string.js +0 -25
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +0 -92
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +0 -1246
- package/dist/melonjs.module.js +0 -43200
- package/dist/types/application/settings.d.ts +0 -106
- package/dist/types/const.d.ts +0 -21
- package/dist/types/geometries/ellipse.d.ts +0 -138
- package/dist/types/geometries/line.d.ts +0 -15
- package/dist/types/geometries/point.d.ts +0 -50
- package/dist/types/geometries/poly.d.ts +0 -186
- package/dist/types/geometries/rectangle.d.ts +0 -135
- package/dist/types/geometries/roundrect.d.ts +0 -43
- package/dist/types/geometries/toarccanvas.d.ts +0 -10
- package/dist/types/input/keyboard.d.ts +0 -205
- package/dist/types/input/pointer.d.ts +0 -261
- package/dist/types/lang/deprecated.d.ts +0 -68
- package/dist/types/loader/cache.d.ts +0 -9
- package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +0 -1
- package/dist/types/math/color.d.ts +0 -179
- package/dist/types/math/math.d.ts +0 -149
- package/dist/types/math/matrix2.d.ts +0 -174
- package/dist/types/math/matrix3.d.ts +0 -186
- package/dist/types/math/observable_vector2.d.ts +0 -278
- package/dist/types/math/observable_vector3.d.ts +0 -300
- package/dist/types/math/vector2.d.ts +0 -255
- package/dist/types/math/vector3.d.ts +0 -271
- package/dist/types/particles/particle.d.ts +0 -36
- package/dist/types/physics/bounds.d.ts +0 -203
- package/dist/types/polyfill/console.d.ts +0 -1
- package/dist/types/polyfill/index.d.ts +0 -1
- package/dist/types/polyfill/roundrect.d.ts +0 -1
- package/dist/types/renderable/light2d.d.ts +0 -60
- package/dist/types/renderable/text/bitmaptextdata.d.ts +0 -35
- package/dist/types/system/dom.d.ts +0 -1
- package/dist/types/system/platform.d.ts +0 -33
- package/dist/types/system/save.d.ts +0 -25
- package/dist/types/system/timer.d.ts +0 -126
- package/dist/types/tweens/easing.d.ts +0 -46
- package/dist/types/tweens/interpolation.d.ts +0 -18
- package/dist/types/tweens/tween.d.ts +0 -195
- package/dist/types/utils/agent.d.ts +0 -21
- package/dist/types/utils/array.d.ts +0 -39
- package/dist/types/utils/file.d.ts +0 -27
- package/dist/types/utils/function.d.ts +0 -31
- package/dist/types/utils/string.d.ts +0 -50
- package/dist/types/utils/utils.d.ts +0 -54
- package/dist/types/video/utils/autodetect.d.ts +0 -5
- package/src/application/application.js +0 -435
- package/src/application/header.js +0 -31
- package/src/application/resize.js +0 -119
- package/src/application/settings.js +0 -61
- package/src/audio/audio.js +0 -622
- package/src/camera/camera2d.js +0 -731
- package/src/const.js +0 -23
- package/src/geometries/ellipse.js +0 -244
- package/src/geometries/line.js +0 -104
- package/src/geometries/path2d.js +0 -470
- package/src/geometries/point.js +0 -76
- package/src/geometries/poly.js +0 -432
- package/src/geometries/rectangle.js +0 -326
- package/src/geometries/roundrect.js +0 -156
- package/src/geometries/toarccanvas.js +0 -94
- package/src/index.js +0 -315
- package/src/input/gamepad.js +0 -487
- package/src/input/input.js +0 -17
- package/src/input/keyboard.js +0 -461
- package/src/input/pointer.js +0 -386
- package/src/input/pointerevent.js +0 -798
- package/src/lang/console.js +0 -36
- package/src/lang/deprecated.js +0 -192
- package/src/level/level.js +0 -290
- package/src/level/tiled/TMXGroup.js +0 -111
- package/src/level/tiled/TMXLayer.js +0 -424
- package/src/level/tiled/TMXObject.js +0 -286
- package/src/level/tiled/TMXTile.js +0 -168
- package/src/level/tiled/TMXTileMap.js +0 -569
- package/src/level/tiled/TMXTileset.js +0 -284
- package/src/level/tiled/TMXTilesetGroup.js +0 -66
- package/src/level/tiled/TMXUtils.js +0 -408
- package/src/level/tiled/constants.js +0 -8
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +0 -497
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -208
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -149
- package/src/level/tiled/renderer/TMXRenderer.js +0 -103
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +0 -100
- package/src/level/tiled/renderer/autodetect.js +0 -29
- package/src/loader/cache.js +0 -22
- package/src/loader/loader.js +0 -728
- package/src/loader/loadingscreen.js +0 -112
- package/src/loader/melonjs_logo.png +0 -0
- package/src/loader/parsers/binary.js +0 -33
- package/src/loader/parsers/compressed_textures/compressed_image.js +0 -49
- package/src/loader/parsers/compressed_textures/parseDDS.js +0 -5
- package/src/loader/parsers/compressed_textures/parseKTX.js +0 -5
- package/src/loader/parsers/compressed_textures/parseKTX2.js +0 -5
- package/src/loader/parsers/compressed_textures/parsePKM.js +0 -5
- package/src/loader/parsers/compressed_textures/parsePVR.js +0 -127
- package/src/loader/parsers/fetchdata.js +0 -53
- package/src/loader/parsers/fontface.js +0 -54
- package/src/loader/parsers/image.js +0 -120
- package/src/loader/parsers/json.js +0 -35
- package/src/loader/parsers/script.js +0 -37
- package/src/loader/parsers/tmx.js +0 -95
- package/src/loader/parsers/video.js +0 -90
- package/src/math/color.js +0 -627
- package/src/math/math.js +0 -212
- package/src/math/matrix2.js +0 -487
- package/src/math/matrix3.js +0 -620
- package/src/math/observable_vector2.js +0 -460
- package/src/math/observable_vector3.js +0 -556
- package/src/math/vector2.js +0 -423
- package/src/math/vector3.js +0 -465
- package/src/particles/emitter.js +0 -258
- package/src/particles/particle.js +0 -182
- package/src/particles/settings.js +0 -310
- package/src/physics/body.js +0 -709
- package/src/physics/bounds.js +0 -407
- package/src/physics/collision.js +0 -128
- package/src/physics/detector.js +0 -218
- package/src/physics/quadtree.js +0 -393
- package/src/physics/response.js +0 -48
- package/src/physics/sat.js +0 -483
- package/src/physics/world.js +0 -220
- package/src/plugin/plugin.js +0 -163
- package/src/polyfill/console.js +0 -11
- package/src/polyfill/index.js +0 -13
- package/src/polyfill/roundrect.js +0 -237
- package/src/renderable/collectable.js +0 -51
- package/src/renderable/colorlayer.js +0 -74
- package/src/renderable/container.js +0 -1008
- package/src/renderable/draggable.js +0 -114
- package/src/renderable/dragndrop.js +0 -110
- package/src/renderable/entity/entity.js +0 -254
- package/src/renderable/imagelayer.js +0 -284
- package/src/renderable/light2d.js +0 -163
- package/src/renderable/nineslicesprite.js +0 -239
- package/src/renderable/renderable.js +0 -869
- package/src/renderable/sprite.js +0 -691
- package/src/renderable/text/bitmaptext.js +0 -418
- package/src/renderable/text/bitmaptextdata.js +0 -186
- package/src/renderable/text/glyph.js +0 -57
- package/src/renderable/text/text.js +0 -415
- package/src/renderable/text/textmetrics.js +0 -167
- package/src/renderable/text/textstyle.js +0 -12
- package/src/renderable/trigger.js +0 -154
- package/src/renderable/ui/uibaseelement.js +0 -276
- package/src/renderable/ui/uispriteelement.js +0 -223
- package/src/renderable/ui/uitextbutton.js +0 -140
- package/src/state/stage.js +0 -226
- package/src/state/state.js +0 -541
- package/src/system/device.js +0 -863
- package/src/system/dom.js +0 -70
- package/src/system/event.js +0 -597
- package/src/system/platform.js +0 -34
- package/src/system/pooling.js +0 -190
- package/src/system/save.js +0 -148
- package/src/system/timer.js +0 -281
- package/src/tweens/easing.js +0 -325
- package/src/tweens/interpolation.js +0 -103
- package/src/tweens/tween.js +0 -470
- package/src/utils/agent.js +0 -68
- package/src/utils/array.js +0 -54
- package/src/utils/file.js +0 -46
- package/src/utils/function.js +0 -60
- package/src/utils/string.js +0 -73
- package/src/utils/utils.js +0 -127
- package/src/video/canvas/canvas_renderer.js +0 -905
- package/src/video/renderer.js +0 -393
- package/src/video/rendertarget/canvasrendertarget.js +0 -309
- package/src/video/texture/atlas.js +0 -456
- package/src/video/texture/cache.js +0 -178
- package/src/video/texture/parser/aseprite.js +0 -69
- package/src/video/texture/parser/spritesheet.js +0 -68
- package/src/video/texture/parser/texturepacker.js +0 -55
- package/src/video/utils/autodetect.js +0 -18
- package/src/video/video.js +0 -160
- package/src/video/webgl/buffer/vertex.js +0 -137
- package/src/video/webgl/compositors/compositor.js +0 -231
- package/src/video/webgl/compositors/primitive_compositor.js +0 -73
- package/src/video/webgl/compositors/quad_compositor.js +0 -250
- package/src/video/webgl/glshader.js +0 -158
- package/src/video/webgl/shaders/primitive.frag +0 -5
- package/src/video/webgl/shaders/primitive.vert +0 -15
- package/src/video/webgl/shaders/quad.frag +0 -7
- package/src/video/webgl/shaders/quad.vert +0 -18
- package/src/video/webgl/utils/attributes.js +0 -16
- package/src/video/webgl/utils/precision.js +0 -29
- package/src/video/webgl/utils/program.js +0 -58
- package/src/video/webgl/utils/string.js +0 -16
- package/src/video/webgl/utils/uniforms.js +0 -84
- package/src/video/webgl/webgl_renderer.js +0 -1237
|
@@ -1,623 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.4.0
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import '../node_modules/howler/dist/howler.js';
|
|
9
|
-
import { clamp } from '../math/math.js';
|
|
10
|
-
import { isDataUrl } from '../utils/string.js';
|
|
11
|
-
import { __exports as howler } from '../_virtual/howler.js';
|
|
12
|
-
|
|
13
|
-
// external import
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* additional import for TypeScript
|
|
17
|
-
* @import { Asset } from "./../loader/loader.js";
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @namespace audio
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* audio channel list
|
|
26
|
-
* @ignore
|
|
27
|
-
*/
|
|
28
|
-
let audioTracks = {};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* current active track
|
|
32
|
-
* @ignore
|
|
33
|
-
*/
|
|
34
|
-
let current_track_id = null;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* error retry counter
|
|
38
|
-
* @ignore
|
|
39
|
-
*/
|
|
40
|
-
let retry_counter = 0;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* list of active audio formats
|
|
44
|
-
* @ignore
|
|
45
|
-
*/
|
|
46
|
-
let audioExts = [];
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* event listener callback on load error
|
|
50
|
-
* @ignore
|
|
51
|
-
*/
|
|
52
|
-
let soundLoadError = function (sound_name, onerror_cb) {
|
|
53
|
-
// check the retry counter
|
|
54
|
-
if (retry_counter++ > 3) {
|
|
55
|
-
// something went wrong
|
|
56
|
-
let errmsg = "melonJS: failed loading " + sound_name;
|
|
57
|
-
{
|
|
58
|
-
// throw an exception and stop everything !
|
|
59
|
-
throw new Error(errmsg);
|
|
60
|
-
}
|
|
61
|
-
// else try loading again !
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
audioTracks[sound_name].load();
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Specify either to stop on audio loading error or not<br>
|
|
70
|
-
* if true, melonJS will throw an exception and stop loading<br>
|
|
71
|
-
* if false, melonJS will disable sounds and output a warning message
|
|
72
|
-
* in the console<br>
|
|
73
|
-
* @type {boolean}
|
|
74
|
-
* @default true
|
|
75
|
-
* @memberof audio
|
|
76
|
-
*/
|
|
77
|
-
let stopOnAudioError = true;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Initialize and configure the audio support.<br>
|
|
81
|
-
* For a maximum browser coverage the recommendation is to use at least two of them,
|
|
82
|
-
* typically default to webm and then fallback to mp3 for the best balance of small filesize and high quality,
|
|
83
|
-
* webm has nearly full browser coverage with a great combination of compression and quality, and mp3 will fallback gracefully for other browsers.
|
|
84
|
-
* It is important to remember that melonJS selects the first compatible sound based on the list of extensions and given order passed here.
|
|
85
|
-
* So if you want webm to be used before mp3, you need to put the audio format in that order.
|
|
86
|
-
* @memberof audio
|
|
87
|
-
* @param {string} [format="mp3"] - audio format to prioritize ("mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac")
|
|
88
|
-
* @returns {boolean} Indicates whether audio initialization was successful
|
|
89
|
-
* @example
|
|
90
|
-
* // initialize the "sound engine", giving "webm" as default desired audio format, and "mp3" as a fallback
|
|
91
|
-
* if (!me.audio.init("webm,mp3")) {
|
|
92
|
-
* alert("Sorry but your browser does not support html 5 audio !");
|
|
93
|
-
* return;
|
|
94
|
-
* }
|
|
95
|
-
*/
|
|
96
|
-
function init(format = "mp3") {
|
|
97
|
-
// convert it into an array
|
|
98
|
-
audioExts = format.split(",");
|
|
99
|
-
|
|
100
|
-
return !howler.Howler.noAudio;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* check if the given audio format is supported
|
|
105
|
-
* @memberof audio
|
|
106
|
-
* @param {"mp3"|"mpeg"|"opus"|"ogg"|"oga"|"wav"|"aac"|"caf"|"m4a"|"m4b"|"mp4"|"weba"|"webm"|"dolby"|"flac"} codec - the audio format to check for support
|
|
107
|
-
* @returns {boolean} return true if the given audio format is supported
|
|
108
|
-
*/
|
|
109
|
-
function hasFormat(codec) {
|
|
110
|
-
return hasAudio() && howler.Howler.codecs(codec);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* check if audio (HTML5 or WebAudio) is supported
|
|
115
|
-
* @memberof audio
|
|
116
|
-
* @returns {boolean} return true if audio (HTML5 or WebAudio) is supported
|
|
117
|
-
*/
|
|
118
|
-
function hasAudio() {
|
|
119
|
-
return !howler.Howler.noAudio;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* enable audio output <br>
|
|
124
|
-
* only useful if audio supported and previously disabled through
|
|
125
|
-
* @memberof audio
|
|
126
|
-
* @see audio.disable
|
|
127
|
-
*/
|
|
128
|
-
function enable() {
|
|
129
|
-
unmuteAll();
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* disable audio output
|
|
134
|
-
* @memberof audio
|
|
135
|
-
*/
|
|
136
|
-
function disable() {
|
|
137
|
-
muteAll();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Load an audio file
|
|
142
|
-
* @memberof audio
|
|
143
|
-
* @param {Asset} sound
|
|
144
|
-
* @param {Function} [onloadcb] - function to be called when the resource is loaded
|
|
145
|
-
* @param {Function} [onerrorcb] - function to be called in case of error
|
|
146
|
-
* @param {Object} [settings] - custom settings to apply to the request (@link https://developer.mozilla.org/en-US/docs/Web/API/fetch#options)
|
|
147
|
-
* @returns {number} the amount of asset loaded (always 1 if successfull)
|
|
148
|
-
*/
|
|
149
|
-
function load(sound, onloadcb, onerrorcb, settings = {}) {
|
|
150
|
-
let urls = [];
|
|
151
|
-
if (audioExts.length === 0) {
|
|
152
|
-
throw new Error("target audio extension(s) should be set through me.audio.init() before calling the preloader.");
|
|
153
|
-
}
|
|
154
|
-
if (isDataUrl(sound.src) === true) {
|
|
155
|
-
urls.push(sound.src);
|
|
156
|
-
} else {
|
|
157
|
-
for (let i = 0; i < audioExts.length; i++) {
|
|
158
|
-
urls.push(sound.src + sound.name + "." + audioExts[i] + settings.nocache);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
audioTracks[sound.name] = new howler.Howl({
|
|
163
|
-
src : urls,
|
|
164
|
-
volume : howler.Howler.volume(),
|
|
165
|
-
autoplay : sound.autoplay === true,
|
|
166
|
-
loop : sound.loop = true,
|
|
167
|
-
html5 : sound.stream === true || sound.html5 === true,
|
|
168
|
-
xhrWithCredentials : settings.withCredentials,
|
|
169
|
-
onloaderror() {
|
|
170
|
-
soundLoadError.call(this, sound.name, onerrorcb);
|
|
171
|
-
},
|
|
172
|
-
onload() {
|
|
173
|
-
retry_counter = 0;
|
|
174
|
-
if (typeof onloadcb === "function") {
|
|
175
|
-
onloadcb();
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
return 1;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* play the specified sound
|
|
185
|
-
* @memberof audio
|
|
186
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
187
|
-
* @param {boolean} [loop=false] - loop audio
|
|
188
|
-
* @param {Function} [onend] - Function to call when sound instance ends playing.
|
|
189
|
-
* @param {number} [volume=default] - Float specifying volume (0.0 - 1.0 values accepted).
|
|
190
|
-
* @returns {number} the sound instance ID.
|
|
191
|
-
* @example
|
|
192
|
-
* // play the "cling" audio clip
|
|
193
|
-
* me.audio.play("cling");
|
|
194
|
-
* // play & repeat the "engine" audio clip
|
|
195
|
-
* me.audio.play("engine", true);
|
|
196
|
-
* // play the "gameover_sfx" audio clip and call myFunc when finished
|
|
197
|
-
* me.audio.play("gameover_sfx", false, myFunc);
|
|
198
|
-
* // play the "gameover_sfx" audio clip with a lower volume level
|
|
199
|
-
* me.audio.play("gameover_sfx", false, null, 0.5);
|
|
200
|
-
*/
|
|
201
|
-
function play(sound_name, loop = false, onend, volume) {
|
|
202
|
-
let sound = audioTracks[sound_name];
|
|
203
|
-
if (sound && typeof sound !== "undefined") {
|
|
204
|
-
let id = sound.play();
|
|
205
|
-
if (typeof loop === "boolean") {
|
|
206
|
-
// arg[0] can take different types in howler 2.0
|
|
207
|
-
sound.loop(loop, id);
|
|
208
|
-
}
|
|
209
|
-
sound.volume(typeof(volume) === "number" ? clamp(volume, 0.0, 1.0) : howler.Howler.volume(), id);
|
|
210
|
-
if (typeof(onend) === "function") {
|
|
211
|
-
if (loop === true) {
|
|
212
|
-
sound.on("end", onend, id);
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
sound.once("end", onend, id);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
return id;
|
|
219
|
-
} else {
|
|
220
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Fade a currently playing sound between two volumee.
|
|
226
|
-
* @memberof audio
|
|
227
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
228
|
-
* @param {number} from - Volume to fade from (0.0 to 1.0).
|
|
229
|
-
* @param {number} to - Volume to fade to (0.0 to 1.0).
|
|
230
|
-
* @param {number} duration - Time in milliseconds to fade.
|
|
231
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will fade.
|
|
232
|
-
*/
|
|
233
|
-
function fade(sound_name, from, to, duration, id) {
|
|
234
|
-
let sound = audioTracks[sound_name];
|
|
235
|
-
if (sound && typeof sound !== "undefined") {
|
|
236
|
-
sound.fade(from, to, duration, id);
|
|
237
|
-
} else {
|
|
238
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* get/set the position of playback for a sound.
|
|
244
|
-
* @memberof audio
|
|
245
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
246
|
-
* @param {number} [seek] - the position to move current playback to (in seconds).
|
|
247
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will changed.
|
|
248
|
-
* @returns {number} return the current seek position (if no extra parameters were given)
|
|
249
|
-
* @example
|
|
250
|
-
* // return the current position of the background music
|
|
251
|
-
* let current_pos = me.audio.seek("dst-gameforest");
|
|
252
|
-
* // set back the position of the background music to the beginning
|
|
253
|
-
* me.audio.seek("dst-gameforest", 0);
|
|
254
|
-
*/
|
|
255
|
-
function seek(sound_name, ...args) {
|
|
256
|
-
let sound = audioTracks[sound_name];
|
|
257
|
-
if (sound && typeof sound !== "undefined") {
|
|
258
|
-
return sound.seek(...args);
|
|
259
|
-
} else {
|
|
260
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* get or set the rate of playback for a sound.
|
|
266
|
-
* @memberof audio
|
|
267
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
268
|
-
* @param {number} [rate] - playback rate : 0.5 to 4.0, with 1.0 being normal speed.
|
|
269
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed.
|
|
270
|
-
* @returns {number} return the current playback rate (if no extra parameters were given)
|
|
271
|
-
* @example
|
|
272
|
-
* // get the playback rate of the background music
|
|
273
|
-
* let rate = me.audio.rate("dst-gameforest");
|
|
274
|
-
* // speed up the playback of the background music
|
|
275
|
-
* me.audio.rate("dst-gameforest", 2.0);
|
|
276
|
-
*/
|
|
277
|
-
function rate(sound_name, ...args) {
|
|
278
|
-
let sound = audioTracks[sound_name];
|
|
279
|
-
if (sound && typeof sound !== "undefined") {
|
|
280
|
-
return sound.rate(...args);
|
|
281
|
-
} else {
|
|
282
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* get or set the stereo panning for the specified sound.
|
|
288
|
-
* @memberof audio
|
|
289
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
290
|
-
* @param {number} [pan] - the panning value - A value of -1.0 is all the way left and 1.0 is all the way right.
|
|
291
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed.
|
|
292
|
-
* @return {number} the current panning value
|
|
293
|
-
* @example
|
|
294
|
-
* me.audio.stereo("cling", -1);
|
|
295
|
-
*/
|
|
296
|
-
function stereo(sound_name, pan, id) {
|
|
297
|
-
let sound = audioTracks[sound_name];
|
|
298
|
-
if (sound && typeof sound !== "undefined") {
|
|
299
|
-
return sound.stereo(pan, id);
|
|
300
|
-
} else {
|
|
301
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* get or set the 3D spatial position for the specified sound.
|
|
307
|
-
* @memberof audio
|
|
308
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
309
|
-
* @param {Number} x - the x-position of the audio source.
|
|
310
|
-
* @param {Number} y - the y-position of the audio source.
|
|
311
|
-
* @param {Number} z - the z-position of the audio source.
|
|
312
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed.
|
|
313
|
-
* @return {Array} the current 3D spatial position: [x, y, z]
|
|
314
|
-
*/
|
|
315
|
-
function position(sound_name, x, y, z, id) {
|
|
316
|
-
let sound = audioTracks[sound_name];
|
|
317
|
-
if (sound && typeof sound !== "undefined") {
|
|
318
|
-
return sound.pos(x, y, z, id);
|
|
319
|
-
} else {
|
|
320
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* Get/set the direction the audio source is pointing in the 3D cartesian coordinate space.
|
|
326
|
-
* Depending on how direction the sound is, based on the `cone` attributes, a sound pointing away from the listener can be quiet or silent.
|
|
327
|
-
* @memberof audio
|
|
328
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
329
|
-
* @param {Number} x - the x-orientation of the audio source.
|
|
330
|
-
* @param {Number} y - the y-orientation of the audio source.
|
|
331
|
-
* @param {Number} z - the z-orientation of the audio source.
|
|
332
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed.
|
|
333
|
-
* @return {Array} the current 3D spatial orientation: [x, y, z]
|
|
334
|
-
*/
|
|
335
|
-
function orientation(sound_name, x, y, z, id) {
|
|
336
|
-
let sound = audioTracks[sound_name];
|
|
337
|
-
if (sound && typeof sound !== "undefined") {
|
|
338
|
-
return sound.orientation(x, y, z, id);
|
|
339
|
-
} else {
|
|
340
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
/**
|
|
345
|
-
* get or set the panner node's attributes for a sound or group of sounds.
|
|
346
|
-
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Web_audio_spatialization_basics#creating_a_panner_node}
|
|
347
|
-
* @memberof audio
|
|
348
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
349
|
-
* @param {object} [attribute] - the panner attributes to set
|
|
350
|
-
* @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.
|
|
351
|
-
* @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`.
|
|
352
|
-
* @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]`.
|
|
353
|
-
* @param {string} [settings.distanceModel="inverse"] - Determines algorithm used to reduce volume as audio moves away from listener. Can be `linear`, `inverse` or `exponential.
|
|
354
|
-
* @param {string} [settings.maxDistance=10000] - The maximum distance between source and listener, after which the volume will not be reduced any further.
|
|
355
|
-
* @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.
|
|
356
|
-
* @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`.
|
|
357
|
-
* @param {string} [settings.panningModel="HRTF"] - Determines which spatialization algorithm is used to position audio. Can be `HRTF` or `equalpower`.
|
|
358
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will be changed.
|
|
359
|
-
* @return {Object} current panner attributes.
|
|
360
|
-
* @example
|
|
361
|
-
* me.audio.panner("cling", {
|
|
362
|
-
* panningModel: 'HRTF',
|
|
363
|
-
* refDistance: 0.8,
|
|
364
|
-
* rolloffFactor: 2.5,
|
|
365
|
-
* distanceModel: 'exponential'
|
|
366
|
-
* });
|
|
367
|
-
*/
|
|
368
|
-
function panner(sound_name, attributes, id) {
|
|
369
|
-
let sound = audioTracks[sound_name];
|
|
370
|
-
if (sound && typeof sound !== "undefined") {
|
|
371
|
-
return sound.pannerAttr(attributes, id);
|
|
372
|
-
} else {
|
|
373
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
/**
|
|
378
|
-
* stop the specified sound on all channels
|
|
379
|
-
* @memberof audio
|
|
380
|
-
* @param {string} [sound_name] - audio clip name (case sensitive). If none is passed, all sounds are stopped.
|
|
381
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will stop.
|
|
382
|
-
* @example
|
|
383
|
-
* me.audio.stop("cling");
|
|
384
|
-
*/
|
|
385
|
-
function stop(sound_name, id) {
|
|
386
|
-
if (typeof sound_name !== "undefined") {
|
|
387
|
-
let sound = audioTracks[sound_name];
|
|
388
|
-
if (sound && typeof sound !== "undefined") {
|
|
389
|
-
sound.stop(id);
|
|
390
|
-
// remove the defined onend callback (if any defined)
|
|
391
|
-
sound.off("end", undefined, id);
|
|
392
|
-
} else {
|
|
393
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
394
|
-
}
|
|
395
|
-
} else {
|
|
396
|
-
howler.Howler.stop();
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
* pause the specified sound on all channels<br>
|
|
402
|
-
* this function does not reset the currentTime property
|
|
403
|
-
* @memberof audio
|
|
404
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
405
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will pause.
|
|
406
|
-
* @example
|
|
407
|
-
* me.audio.pause("cling");
|
|
408
|
-
*/
|
|
409
|
-
function pause(sound_name, id) {
|
|
410
|
-
let sound = audioTracks[sound_name];
|
|
411
|
-
if (sound && typeof sound !== "undefined") {
|
|
412
|
-
sound.pause(id);
|
|
413
|
-
} else {
|
|
414
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
/**
|
|
419
|
-
* resume the specified sound on all channels<br>
|
|
420
|
-
* @memberof audio
|
|
421
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
422
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will resume.
|
|
423
|
-
* @example
|
|
424
|
-
* // play a audio clip
|
|
425
|
-
* let id = me.audio.play("myClip");
|
|
426
|
-
* ...
|
|
427
|
-
* // pause it
|
|
428
|
-
* me.audio.pause("myClip", id);
|
|
429
|
-
* ...
|
|
430
|
-
* // resume
|
|
431
|
-
* me.audio.resume("myClip", id);
|
|
432
|
-
*/
|
|
433
|
-
function resume(sound_name, id) {
|
|
434
|
-
let sound = audioTracks[sound_name];
|
|
435
|
-
if (sound && typeof sound !== "undefined") {
|
|
436
|
-
sound.play(id);
|
|
437
|
-
} else {
|
|
438
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
/**
|
|
443
|
-
* play the specified audio track<br>
|
|
444
|
-
* this function automatically set the loop property to true<br>
|
|
445
|
-
* and keep track of the current sound being played.
|
|
446
|
-
* @memberof audio
|
|
447
|
-
* @param {string} sound_name - audio track name - case sensitive
|
|
448
|
-
* @param {number} [volume=default] - Float specifying volume (0.0 - 1.0 values accepted).
|
|
449
|
-
* @returns {number} the sound instance ID.
|
|
450
|
-
* @example
|
|
451
|
-
* me.audio.playTrack("awesome_music");
|
|
452
|
-
*/
|
|
453
|
-
function playTrack(sound_name, volume) {
|
|
454
|
-
current_track_id = sound_name;
|
|
455
|
-
return play(
|
|
456
|
-
current_track_id,
|
|
457
|
-
true,
|
|
458
|
-
null,
|
|
459
|
-
volume
|
|
460
|
-
);
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
/**
|
|
464
|
-
* stop the current audio track
|
|
465
|
-
* @memberof audio
|
|
466
|
-
* @see audio.playTrack
|
|
467
|
-
* @example
|
|
468
|
-
* // play a awesome music
|
|
469
|
-
* me.audio.playTrack("awesome_music");
|
|
470
|
-
* // stop the current music
|
|
471
|
-
* me.audio.stopTrack();
|
|
472
|
-
*/
|
|
473
|
-
function stopTrack() {
|
|
474
|
-
if (current_track_id !== null) {
|
|
475
|
-
audioTracks[current_track_id].stop();
|
|
476
|
-
current_track_id = null;
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
/**
|
|
481
|
-
* pause the current audio track
|
|
482
|
-
* @memberof audio
|
|
483
|
-
* @example
|
|
484
|
-
* me.audio.pauseTrack();
|
|
485
|
-
*/
|
|
486
|
-
function pauseTrack() {
|
|
487
|
-
if (current_track_id !== null) {
|
|
488
|
-
audioTracks[current_track_id].pause();
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
/**
|
|
493
|
-
* resume the previously paused audio track
|
|
494
|
-
* @memberof audio
|
|
495
|
-
* @example
|
|
496
|
-
* // play an awesome music
|
|
497
|
-
* me.audio.playTrack("awesome_music");
|
|
498
|
-
* // pause the audio track
|
|
499
|
-
* me.audio.pauseTrack();
|
|
500
|
-
* // resume the music
|
|
501
|
-
* me.audio.resumeTrack();
|
|
502
|
-
*/
|
|
503
|
-
function resumeTrack() {
|
|
504
|
-
if (current_track_id !== null) {
|
|
505
|
-
audioTracks[current_track_id].play();
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
/**
|
|
510
|
-
* returns the current track Id
|
|
511
|
-
* @memberof audio
|
|
512
|
-
* @returns {string} audio track name
|
|
513
|
-
*/
|
|
514
|
-
function getCurrentTrack() {
|
|
515
|
-
return current_track_id;
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
/**
|
|
519
|
-
* set the default global volume
|
|
520
|
-
* @memberof audio
|
|
521
|
-
* @param {number} volume - Float specifying volume (0.0 - 1.0 values accepted).
|
|
522
|
-
*/
|
|
523
|
-
function setVolume(volume) {
|
|
524
|
-
howler.Howler.volume(volume);
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
/**
|
|
528
|
-
* get the default global volume
|
|
529
|
-
* @memberof audio
|
|
530
|
-
* @returns {number} current volume value in Float [0.0 - 1.0] .
|
|
531
|
-
*/
|
|
532
|
-
function getVolume() {
|
|
533
|
-
return howler.Howler.volume();
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
/**
|
|
537
|
-
* mute or unmute the specified sound, but does not pause the playback.
|
|
538
|
-
* @memberof audio
|
|
539
|
-
* @param {string} sound_name - audio clip name - case sensitive
|
|
540
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will mute.
|
|
541
|
-
* @param {boolean} [mute=true] - True to mute and false to unmute
|
|
542
|
-
* @example
|
|
543
|
-
* // mute the background music
|
|
544
|
-
* me.audio.mute("awesome_music");
|
|
545
|
-
*/
|
|
546
|
-
function mute(sound_name, id, mute = true) {
|
|
547
|
-
let sound = audioTracks[sound_name];
|
|
548
|
-
if (sound && typeof(sound) !== "undefined") {
|
|
549
|
-
sound.mute(mute, id);
|
|
550
|
-
} else {
|
|
551
|
-
throw new Error("audio clip " + sound_name + " does not exist");
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
/**
|
|
556
|
-
* unmute the specified sound
|
|
557
|
-
* @memberof audio
|
|
558
|
-
* @param {string} sound_name - audio clip name
|
|
559
|
-
* @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will unmute.
|
|
560
|
-
*/
|
|
561
|
-
function unmute(sound_name, id) {
|
|
562
|
-
mute(sound_name, id, false);
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
/**
|
|
566
|
-
* mute all audio
|
|
567
|
-
* @memberof audio
|
|
568
|
-
*/
|
|
569
|
-
function muteAll() {
|
|
570
|
-
howler.Howler.mute(true);
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
/**
|
|
574
|
-
* unmute all audio
|
|
575
|
-
* @memberof audio
|
|
576
|
-
*/
|
|
577
|
-
function unmuteAll() {
|
|
578
|
-
howler.Howler.mute(false);
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
/**
|
|
582
|
-
* Returns true if audio is muted globally.
|
|
583
|
-
* @memberof audio
|
|
584
|
-
* @returns {boolean} true if audio is muted globally
|
|
585
|
-
*/
|
|
586
|
-
function muted() {
|
|
587
|
-
return howler.Howler._muted;
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
/**
|
|
591
|
-
* unload specified audio track to free memory
|
|
592
|
-
* @memberof audio
|
|
593
|
-
* @param {string} sound_name - audio track name - case sensitive
|
|
594
|
-
* @returns {boolean} true if unloaded
|
|
595
|
-
* @example
|
|
596
|
-
* me.audio.unload("awesome_music");
|
|
597
|
-
*/
|
|
598
|
-
function unload(sound_name) {
|
|
599
|
-
if (!(sound_name in audioTracks)) {
|
|
600
|
-
return false;
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
// destroy the Howl object
|
|
604
|
-
audioTracks[sound_name].unload();
|
|
605
|
-
delete audioTracks[sound_name];
|
|
606
|
-
return true;
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
/**
|
|
610
|
-
* unload all audio to free memory
|
|
611
|
-
* @memberof audio
|
|
612
|
-
* @example
|
|
613
|
-
* me.audio.unloadAll();
|
|
614
|
-
*/
|
|
615
|
-
function unloadAll() {
|
|
616
|
-
for (let sound_name in audioTracks) {
|
|
617
|
-
if (audioTracks.hasOwnProperty(sound_name)) {
|
|
618
|
-
unload(sound_name);
|
|
619
|
-
}
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
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 };
|