melonjs 17.3.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 +16 -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/build/application/header.d.ts +11 -0
- package/build/application/header.d.ts.map +1 -0
- package/{dist/types → build}/application/resize.d.ts +2 -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 +37 -59
- package/build/audio/audio.d.ts.map +1 -0
- package/{dist/types → build}/camera/camera2d.d.ts +42 -75
- 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 +11 -5
- 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 -15
- 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 +3 -3
- 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 +29 -53
- 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 +16 -40
- 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 +39 -21
- 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 +6 -4
- package/build/physics/collision.d.ts.map +1 -0
- package/{dist/types → build}/physics/detector.d.ts +13 -5
- package/build/physics/detector.d.ts.map +1 -0
- package/{dist/types → build}/physics/quadtree.d.ts +7 -18
- 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 +8 -0
- package/build/physics/sat.d.ts.map +1 -0
- package/{dist/types → build}/physics/world.d.ts +9 -4
- package/build/physics/world.d.ts.map +1 -0
- package/{dist/types → build}/plugin/plugin.d.ts +11 -18
- 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/build/renderable/colorlayer.d.ts +41 -0
- package/build/renderable/colorlayer.d.ts.map +1 -0
- package/{dist/types → build}/renderable/container.d.ts +50 -19
- 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 +12 -21
- package/build/renderable/dragndrop.d.ts.map +1 -0
- package/{dist/types → build}/renderable/entity/entity.d.ts +17 -11
- package/build/renderable/entity/entity.d.ts.map +1 -0
- package/{dist/types → build}/renderable/imagelayer.d.ts +28 -8
- 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 +9 -3
- package/build/renderable/nineslicesprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/renderable.d.ts +71 -50
- package/build/renderable/renderable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/sprite.d.ts +34 -13
- package/build/renderable/sprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/bitmaptext.d.ts +7 -8
- 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 +22 -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 +58 -22
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/renderer.d.ts +38 -17
- package/build/video/renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +20 -10
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/atlas.d.ts +14 -9
- 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 +9 -2
- package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +7 -3
- package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +5 -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 +55 -43
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
- package/package.json +83 -105
- 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 -437
- package/dist/melonjs.mjs/application/header.js +0 -35
- package/dist/melonjs.mjs/application/resize.js +0 -123
- package/dist/melonjs.mjs/application/settings.js +0 -65
- package/dist/melonjs.mjs/audio/audio.js +0 -618
- package/dist/melonjs.mjs/camera/camera2d.js +0 -729
- package/dist/melonjs.mjs/const.js +0 -32
- package/dist/melonjs.mjs/geometries/ellipse.js +0 -245
- package/dist/melonjs.mjs/geometries/line.js +0 -108
- package/dist/melonjs.mjs/geometries/path2d.js +0 -474
- package/dist/melonjs.mjs/geometries/point.js +0 -80
- package/dist/melonjs.mjs/geometries/poly.js +0 -433
- package/dist/melonjs.mjs/geometries/rectangle.js +0 -330
- 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 -803
- 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 -728
- 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 -487
- package/dist/melonjs.mjs/math/matrix3.js +0 -621
- package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
- package/dist/melonjs.mjs/math/observable_vector3.js +0 -558
- package/dist/melonjs.mjs/math/vector2.js +0 -431
- package/dist/melonjs.mjs/math/vector3.js +0 -468
- 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 -186
- package/dist/melonjs.mjs/particles/settings.js +0 -317
- package/dist/melonjs.mjs/physics/body.js +0 -706
- package/dist/melonjs.mjs/physics/bounds.js +0 -409
- package/dist/melonjs.mjs/physics/collision.js +0 -130
- package/dist/melonjs.mjs/physics/detector.js +0 -218
- package/dist/melonjs.mjs/physics/quadtree.js +0 -396
- package/dist/melonjs.mjs/physics/response.js +0 -57
- package/dist/melonjs.mjs/physics/sat.js +0 -483
- package/dist/melonjs.mjs/physics/world.js +0 -224
- package/dist/melonjs.mjs/plugin/plugin.js +0 -168
- package/dist/melonjs.mjs/renderable/collectable.js +0 -60
- package/dist/melonjs.mjs/renderable/colorlayer.js +0 -78
- package/dist/melonjs.mjs/renderable/container.js +0 -994
- package/dist/melonjs.mjs/renderable/draggable.js +0 -121
- package/dist/melonjs.mjs/renderable/dragndrop.js +0 -114
- package/dist/melonjs.mjs/renderable/entity/entity.js +0 -254
- package/dist/melonjs.mjs/renderable/imagelayer.js +0 -288
- package/dist/melonjs.mjs/renderable/light2d.js +0 -164
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -242
- package/dist/melonjs.mjs/renderable/renderable.js +0 -860
- package/dist/melonjs.mjs/renderable/sprite.js +0 -694
- 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 -158
- 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 -883
- package/dist/melonjs.mjs/video/renderer.js +0 -393
- package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -310
- package/dist/melonjs.mjs/video/texture/atlas.js +0 -460
- 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 -234
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -77
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -254
- 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 -1199
- package/dist/melonjs.module.js +0 -42838
- package/dist/types/application/header.d.ts +0 -5
- package/dist/types/application/settings.d.ts +0 -105
- package/dist/types/const.d.ts +0 -21
- package/dist/types/geometries/ellipse.d.ts +0 -127
- package/dist/types/geometries/line.d.ts +0 -11
- package/dist/types/geometries/point.d.ts +0 -46
- package/dist/types/geometries/poly.d.ts +0 -175
- package/dist/types/geometries/rectangle.d.ts +0 -130
- 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 -165
- package/dist/types/math/matrix3.d.ts +0 -177
- package/dist/types/math/observable_vector2.d.ts +0 -278
- package/dist/types/math/observable_vector3.d.ts +0 -277
- package/dist/types/math/vector2.d.ts +0 -255
- package/dist/types/math/vector3.d.ts +0 -266
- package/dist/types/particles/particle.d.ts +0 -32
- package/dist/types/physics/bounds.d.ts +0 -195
- 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/colorlayer.d.ts +0 -28
- package/dist/types/renderable/light2d.d.ts +0 -58
- 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 -429
- package/src/application/header.js +0 -26
- package/src/application/resize.js +0 -114
- package/src/application/settings.js +0 -56
- package/src/audio/audio.js +0 -617
- package/src/camera/camera2d.js +0 -724
- package/src/const.js +0 -23
- package/src/geometries/ellipse.js +0 -236
- package/src/geometries/line.js +0 -99
- package/src/geometries/path2d.js +0 -464
- package/src/geometries/point.js +0 -71
- package/src/geometries/poly.js +0 -424
- package/src/geometries/rectangle.js +0 -321
- 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 -794
- 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 -727
- 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 -479
- package/src/math/matrix3.js +0 -613
- package/src/math/observable_vector2.js +0 -460
- package/src/math/observable_vector3.js +0 -550
- package/src/math/vector2.js +0 -423
- package/src/math/vector3.js +0 -460
- package/src/particles/emitter.js +0 -258
- package/src/particles/particle.js +0 -178
- package/src/particles/settings.js +0 -310
- package/src/physics/body.js +0 -698
- package/src/physics/bounds.js +0 -401
- package/src/physics/collision.js +0 -123
- package/src/physics/detector.js +0 -209
- package/src/physics/quadtree.js +0 -387
- package/src/physics/response.js +0 -48
- package/src/physics/sat.js +0 -473
- package/src/physics/world.js +0 -216
- package/src/plugin/plugin.js +0 -159
- 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 -70
- package/src/renderable/container.js +0 -985
- package/src/renderable/draggable.js +0 -114
- package/src/renderable/dragndrop.js +0 -106
- package/src/renderable/entity/entity.js +0 -246
- package/src/renderable/imagelayer.js +0 -280
- package/src/renderable/light2d.js +0 -155
- package/src/renderable/nineslicesprite.js +0 -233
- package/src/renderable/renderable.js +0 -852
- package/src/renderable/sprite.js +0 -685
- 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 -149
- 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 -874
- package/src/video/renderer.js +0 -384
- package/src/video/rendertarget/canvasrendertarget.js +0 -303
- package/src/video/texture/atlas.js +0 -451
- 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 -225
- package/src/video/webgl/compositors/primitive_compositor.js +0 -68
- package/src/video/webgl/compositors/quad_compositor.js +0 -245
- 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 -1190
|
@@ -1,437 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.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 { autoDetectRenderer } from '../video/utils/autodetect.js';
|
|
9
|
-
import CanvasRenderer from '../video/canvas/canvas_renderer.js';
|
|
10
|
-
import { getElement, platform, enableSwipe } from '../system/device.js';
|
|
11
|
-
import { on, emit, STATE_CHANGE, STATE_RESTART, STATE_RESUME, STAGE_RESET, GAME_AFTER_UPDATE, GAME_BEFORE_DRAW, GAME_AFTER_DRAW, WINDOW_ONRESIZE, WINDOW_ONORIENTATION_CHANGE, GAME_INIT, TICK, BLUR, FOCUS, GAME_RESET, GAME_BEFORE_UPDATE, GAME_UPDATE } from '../system/event.js';
|
|
12
|
-
import { getUriFragment } from '../utils/utils.js';
|
|
13
|
-
import timer from '../system/timer.js';
|
|
14
|
-
import state from '../state/state.js';
|
|
15
|
-
import World from '../physics/world.js';
|
|
16
|
-
import { onresize } from './resize.js';
|
|
17
|
-
import { ApplicationSettings } from './settings.js';
|
|
18
|
-
import { consoleHeader } from './header.js';
|
|
19
|
-
import { WEBGL, CANVAS, AUTO } from '../const.js';
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @classdesc
|
|
23
|
-
* An Application represents a single melonJS game, and is responsible for updating (each frame) all the related object status and draw them.
|
|
24
|
-
* @see game
|
|
25
|
-
*/
|
|
26
|
-
class Application {
|
|
27
|
-
/**
|
|
28
|
-
* @param {number} width - The width of the canvas viewport
|
|
29
|
-
* @param {number} height - The height of the canvas viewport
|
|
30
|
-
* @param {ApplicationSettings} [options] - The optional parameters for the application and default renderer
|
|
31
|
-
* @throws Will throw an exception if it fails to instantiate a renderer
|
|
32
|
-
*/
|
|
33
|
-
constructor(width, height, options) {
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* the parent HTML element holding the main canvas of this application
|
|
37
|
-
* @type {HTMLElement}
|
|
38
|
-
*/
|
|
39
|
-
this.parentElement = undefined;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* a reference to the active Canvas or WebGL active renderer renderer
|
|
43
|
-
* @type {CanvasRenderer|WebGLRenderer}
|
|
44
|
-
*/
|
|
45
|
-
this.renderer = undefined;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* the active stage "default" camera
|
|
49
|
-
* @type {Camera2d}
|
|
50
|
-
*/
|
|
51
|
-
this.viewport = undefined;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* a reference to the game world, <br>
|
|
55
|
-
* a world is a virtual environment containing all the game objects
|
|
56
|
-
* @type {World}
|
|
57
|
-
*/
|
|
58
|
-
this.world = undefined;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* when true, all objects will be added under the root world container.<br>
|
|
62
|
-
* When false, a `me.Container` object will be created for each corresponding groups
|
|
63
|
-
* @type {boolean}
|
|
64
|
-
* @default true
|
|
65
|
-
*/
|
|
66
|
-
this.mergeGroup = true;
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Last time the game update loop was executed. <br>
|
|
70
|
-
* Use this value to implement frame prediction in drawing events,
|
|
71
|
-
* for creating smooth motion while running game update logic at
|
|
72
|
-
* a lower fps.
|
|
73
|
-
* @type {DOMHighResTimeStamp}
|
|
74
|
-
*/
|
|
75
|
-
this.lastUpdate = 0;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* true when this app instance has been initialized
|
|
79
|
-
* @type {boolean}
|
|
80
|
-
* @default false
|
|
81
|
-
*/
|
|
82
|
-
this.isInitialized = false;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* the given settings used when creating this application
|
|
86
|
-
* @type {ApplicationSettings}
|
|
87
|
-
*/
|
|
88
|
-
this.settings = undefined;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Specify whether to pause this app when losing focus
|
|
92
|
-
* @type {boolean}
|
|
93
|
-
* @default true
|
|
94
|
-
* @example
|
|
95
|
-
* // keep the default game instance running even when loosing focus
|
|
96
|
-
* me.game.pauseOnBlur = false;
|
|
97
|
-
*/
|
|
98
|
-
this.pauseOnBlur = true;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Specify whether to unpause this app when gaining back focus
|
|
102
|
-
* @type {boolean}
|
|
103
|
-
* @default true
|
|
104
|
-
*/
|
|
105
|
-
this.resumeOnFocus = true;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Specify whether to stop this app when losing focus
|
|
109
|
-
* @type {boolean}
|
|
110
|
-
* @default false
|
|
111
|
-
*/
|
|
112
|
-
this.stopOnBlur = false;
|
|
113
|
-
|
|
114
|
-
// to know when we have to refresh the display
|
|
115
|
-
this.isDirty = true;
|
|
116
|
-
|
|
117
|
-
// always refresh the display when updatesPerSecond are lower than fps
|
|
118
|
-
this.isAlwaysDirty = false;
|
|
119
|
-
|
|
120
|
-
// frame counter for frameSkipping
|
|
121
|
-
// reset the frame counter
|
|
122
|
-
this.frameCounter = 0;
|
|
123
|
-
this.frameRate = 1;
|
|
124
|
-
|
|
125
|
-
// time accumulation for multiple update calls
|
|
126
|
-
this.accumulator = 0.0;
|
|
127
|
-
this.accumulatorMax = 0.0;
|
|
128
|
-
this.accumulatorUpdateDelta = 0;
|
|
129
|
-
|
|
130
|
-
// min update step size
|
|
131
|
-
this.stepSize = 1000 / 60;
|
|
132
|
-
this.updateDelta = 0;
|
|
133
|
-
this.lastUpdateStart = null;
|
|
134
|
-
this.updateAverageDelta = 0;
|
|
135
|
-
|
|
136
|
-
// when using the default game application, legacy is set to true
|
|
137
|
-
// and init is called through the legacy video.init() call
|
|
138
|
-
if (options.legacy !== true) {
|
|
139
|
-
this.init(width, height, options);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* init the game instance (create a physic world, update starting time, etc..)
|
|
145
|
-
* @param {number} width - The width of the canvas viewport
|
|
146
|
-
* @param {number} height - The height of the canvas viewport
|
|
147
|
-
* @param {ApplicationSettings} [options] - The optional parameters for the application and default renderer
|
|
148
|
-
*/
|
|
149
|
-
init(width, height, options) {
|
|
150
|
-
|
|
151
|
-
this.settings = Object.assign(ApplicationSettings, options || {});
|
|
152
|
-
|
|
153
|
-
// sanitize potential given parameters
|
|
154
|
-
this.settings.width = width;
|
|
155
|
-
this.settings.height = height;
|
|
156
|
-
this.settings.transparent = !!(this.settings.transparent);
|
|
157
|
-
this.settings.antiAlias = !!(this.settings.antiAlias);
|
|
158
|
-
this.settings.failIfMajorPerformanceCaveat = !!(this.settings.failIfMajorPerformanceCaveat);
|
|
159
|
-
this.settings.depthTest = this.settings.depthTest === "z-buffer" ? "z-buffer" : "sorting";
|
|
160
|
-
this.settings.subPixel = !!(this.settings.subPixel);
|
|
161
|
-
this.settings.verbose = !!(this.settings.verbose);
|
|
162
|
-
if (this.settings.scaleMethod.search(/^(fill-(min|max)|fit|flex(-(width|height))?|stretch)$/) !== -1) {
|
|
163
|
-
this.settings.autoScale = (this.settings.scale === "auto") || true;
|
|
164
|
-
} else {
|
|
165
|
-
// default scaling method
|
|
166
|
-
this.settings.scaleMethod = "fit";
|
|
167
|
-
this.settings.autoScale = (this.settings.scale === "auto") || false;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
// override renderer settings if &webgl or &canvas is defined in the URL
|
|
171
|
-
let uriFragment = getUriFragment();
|
|
172
|
-
if (uriFragment.webgl === true || uriFragment.webgl1 === true || uriFragment.webgl2 === true) {
|
|
173
|
-
this.settings.renderer = WEBGL;
|
|
174
|
-
if (uriFragment.webgl1 === true) {
|
|
175
|
-
this.settings.preferWebGL1 = true;
|
|
176
|
-
}
|
|
177
|
-
} else if (uriFragment.canvas === true) {
|
|
178
|
-
this.settings.renderer = CANVAS;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// normalize scale
|
|
182
|
-
this.settings.scale = (this.settings.autoScale) ? 1.0 : (+this.settings.scale || 1.0);
|
|
183
|
-
|
|
184
|
-
// default scaled size value
|
|
185
|
-
this.settings.zoomX = width * this.settings.scale;
|
|
186
|
-
this.settings.zoomY = height * this.settings.scale;
|
|
187
|
-
|
|
188
|
-
// identify parent element and/or the html target for resizing
|
|
189
|
-
this.parentElement = getElement(this.settings.parent);
|
|
190
|
-
if (typeof this.settings.scaleTarget !== "undefined") {
|
|
191
|
-
this.settings.scaleTarget = getElement(this.settings.scaleTarget);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (typeof this.settings.renderer === "number") {
|
|
195
|
-
switch (this.settings.renderer) {
|
|
196
|
-
case AUTO:
|
|
197
|
-
case WEBGL:
|
|
198
|
-
this.renderer = autoDetectRenderer(this.settings);
|
|
199
|
-
break;
|
|
200
|
-
default:
|
|
201
|
-
this.renderer = new CanvasRenderer(this.settings);
|
|
202
|
-
break;
|
|
203
|
-
}
|
|
204
|
-
} else {
|
|
205
|
-
let CustomRenderer = this.settings.renderer;
|
|
206
|
-
// a renderer class
|
|
207
|
-
this.renderer = new CustomRenderer(this.settings);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
// register to the channel
|
|
211
|
-
on(WINDOW_ONRESIZE, () => onresize(this), this);
|
|
212
|
-
on(WINDOW_ONORIENTATION_CHANGE, () => onresize(this), this);
|
|
213
|
-
|
|
214
|
-
// add our canvas (default to document.body if settings.parent is undefined)
|
|
215
|
-
this.parentElement.appendChild(this.renderer.getCanvas());
|
|
216
|
-
|
|
217
|
-
// Mobile browser hacks
|
|
218
|
-
if (platform.isMobile) {
|
|
219
|
-
// Prevent the webview from moving on a swipe
|
|
220
|
-
enableSwipe(false);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
// trigger an initial resize();
|
|
224
|
-
onresize(this);
|
|
225
|
-
|
|
226
|
-
// add an observer to detect when the dom tree is modified
|
|
227
|
-
if ("MutationObserver" in globalThis) {
|
|
228
|
-
// Create an observer instance linked to the callback function
|
|
229
|
-
let observer = new MutationObserver(() => onresize(this));
|
|
230
|
-
|
|
231
|
-
// Start observing the target node for configured mutations
|
|
232
|
-
observer.observe(this.parentElement, {
|
|
233
|
-
attributes: false, childList: true, subtree: true
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
if (this.settings.consoleHeader !== false) {
|
|
238
|
-
consoleHeader(this);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
// create a new physic world
|
|
242
|
-
this.world = new World(0, 0, this.settings.width, this.settings.height);
|
|
243
|
-
|
|
244
|
-
// set the reference to this application instance
|
|
245
|
-
this.world.app = this;
|
|
246
|
-
// set the reference to this application instance
|
|
247
|
-
this.world.physic = this.settings.physic;
|
|
248
|
-
|
|
249
|
-
// app starting time
|
|
250
|
-
this.lastUpdate = globalThis.performance.now();
|
|
251
|
-
// manually sort child if depthTest setting is "sorting"
|
|
252
|
-
this.world.autoSort = !(this.renderer.type === "WEBGL" && this.settings.depthTest === "z-buffer");
|
|
253
|
-
|
|
254
|
-
this.isInitialized = true;
|
|
255
|
-
|
|
256
|
-
emit(GAME_INIT, this);
|
|
257
|
-
on(STATE_CHANGE, this.repaint, this);
|
|
258
|
-
on(STATE_RESTART, this.repaint, this);
|
|
259
|
-
on(STATE_RESUME, this.repaint, this);
|
|
260
|
-
on(STAGE_RESET, this.reset, this);
|
|
261
|
-
on(TICK, (time) => {
|
|
262
|
-
// update all game objects
|
|
263
|
-
this.update(time);
|
|
264
|
-
// render all game objects
|
|
265
|
-
this.draw();
|
|
266
|
-
}, this);
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
// on blur event, pause the current
|
|
270
|
-
on(BLUR, () => {
|
|
271
|
-
if (this.stopOnBlur === true) {
|
|
272
|
-
state.stop(true);
|
|
273
|
-
}
|
|
274
|
-
if (this.pauseOnBlur === true) {
|
|
275
|
-
state.pause(true);
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
|
|
279
|
-
// on focus event, restart or resume the current
|
|
280
|
-
on(FOCUS, () => {
|
|
281
|
-
if (this.stopOnBlur === true) {
|
|
282
|
-
state.restart(true);
|
|
283
|
-
}
|
|
284
|
-
if (this.resumeOnFocus === true) {
|
|
285
|
-
state.resume(true);
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* reset the game Object manager
|
|
292
|
-
* destroy all current objects
|
|
293
|
-
*/
|
|
294
|
-
reset() {
|
|
295
|
-
// point to the current active stage "default" camera
|
|
296
|
-
let current = state.get();
|
|
297
|
-
if (typeof current !== "undefined") {
|
|
298
|
-
this.viewport = current.cameras.get("default");
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// publish reset notification
|
|
302
|
-
emit(GAME_RESET);
|
|
303
|
-
|
|
304
|
-
// Refresh internal variables for framerate limiting
|
|
305
|
-
this.updateFrameRate();
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* Specify the property to be used when sorting renderables for this application game world.
|
|
310
|
-
* Accepted values : "x", "y", "z", "depth"
|
|
311
|
-
* @type {string}
|
|
312
|
-
* @see World.sortOn
|
|
313
|
-
*/
|
|
314
|
-
get sortOn() {
|
|
315
|
-
return this.world.sortOn;
|
|
316
|
-
}
|
|
317
|
-
set sortOn(value) {
|
|
318
|
-
this.world.sortOn = value;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Fired when a level is fully loaded and all renderable instantiated. <br>
|
|
323
|
-
* Additionnaly the level id will also be passed to the called function.
|
|
324
|
-
* @example
|
|
325
|
-
* // call myFunction () everytime a level is loaded
|
|
326
|
-
* me.game.onLevelLoaded = this.myFunction.bind(this);
|
|
327
|
-
*/
|
|
328
|
-
onLevelLoaded() {}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Update the renderer framerate using the system config variables.
|
|
332
|
-
* @see timer.maxfps
|
|
333
|
-
* @see World.fps
|
|
334
|
-
*/
|
|
335
|
-
updateFrameRate() {
|
|
336
|
-
// reset the frame counter
|
|
337
|
-
this.frameCounter = 0;
|
|
338
|
-
this.frameRate = ~~(0.5 + 60 / timer.maxfps);
|
|
339
|
-
|
|
340
|
-
// set step size based on the updatesPerSecond
|
|
341
|
-
this.stepSize = (1000 / this.world.fps);
|
|
342
|
-
this.accumulator = 0.0;
|
|
343
|
-
this.accumulatorMax = this.stepSize * 10;
|
|
344
|
-
|
|
345
|
-
// display should always re-draw when update speed doesn't match fps
|
|
346
|
-
// this means the user intends to write position prediction drawing logic
|
|
347
|
-
this.isAlwaysDirty = (timer.maxfps > this.world.fps);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* Returns the parent HTML Element holding the main canvas of this application
|
|
352
|
-
* @returns {HTMLElement} the parent HTML element
|
|
353
|
-
*/
|
|
354
|
-
getParentElement() {
|
|
355
|
-
return this.parentElement;
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
/**
|
|
359
|
-
* force the redraw (not update) of all objects
|
|
360
|
-
*/
|
|
361
|
-
repaint() {
|
|
362
|
-
this.isDirty = true;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* update all objects related to this game active scene/stage
|
|
367
|
-
* @param {number} time - current timestamp as provided by the RAF callback
|
|
368
|
-
*/
|
|
369
|
-
update(time) {
|
|
370
|
-
// handle frame skipping if required
|
|
371
|
-
if ((++this.frameCounter % this.frameRate) === 0) {
|
|
372
|
-
// reset the frame counter
|
|
373
|
-
this.frameCounter = 0;
|
|
374
|
-
|
|
375
|
-
// publish notification
|
|
376
|
-
emit(GAME_BEFORE_UPDATE, time);
|
|
377
|
-
|
|
378
|
-
this.accumulator += timer.getDelta();
|
|
379
|
-
this.accumulator = Math.min(this.accumulator, this.accumulatorMax);
|
|
380
|
-
|
|
381
|
-
this.updateDelta = (timer.interpolation) ? timer.getDelta() : this.stepSize;
|
|
382
|
-
this.accumulatorUpdateDelta = (timer.interpolation) ? this.updateDelta : Math.max(this.updateDelta, this.updateAverageDelta);
|
|
383
|
-
|
|
384
|
-
while (this.accumulator >= this.accumulatorUpdateDelta || timer.interpolation) {
|
|
385
|
-
this.lastUpdateStart = globalThis.performance.now();
|
|
386
|
-
|
|
387
|
-
// game update event
|
|
388
|
-
if (state.isPaused() !== true) {
|
|
389
|
-
emit(GAME_UPDATE, time);
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
// update all objects (and pass the elapsed time since last frame)
|
|
393
|
-
this.isDirty = this.world.update(this.updateDelta);
|
|
394
|
-
this.isDirty = state.current().update(this.updateDelta) || this.isDirty;
|
|
395
|
-
|
|
396
|
-
this.lastUpdate = globalThis.performance.now();
|
|
397
|
-
this.updateAverageDelta = this.lastUpdate - this.lastUpdateStart;
|
|
398
|
-
|
|
399
|
-
this.accumulator -= this.accumulatorUpdateDelta;
|
|
400
|
-
if (timer.interpolation) {
|
|
401
|
-
this.accumulator = 0;
|
|
402
|
-
break;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
// publish notification
|
|
407
|
-
emit(GAME_AFTER_UPDATE, this.lastUpdate);
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
/**
|
|
412
|
-
* draw the active scene/stage associated to this game
|
|
413
|
-
*/
|
|
414
|
-
draw() {
|
|
415
|
-
if (this.renderer.isContextValid === true && (this.isDirty || this.isAlwaysDirty)) {
|
|
416
|
-
// publish notification
|
|
417
|
-
emit(GAME_BEFORE_DRAW, globalThis.performance.now());
|
|
418
|
-
|
|
419
|
-
// prepare renderer to draw a new frame
|
|
420
|
-
this.renderer.clear();
|
|
421
|
-
|
|
422
|
-
// render the stage
|
|
423
|
-
state.current().draw(this.renderer, this.world);
|
|
424
|
-
|
|
425
|
-
// set back to flag
|
|
426
|
-
this.isDirty = false;
|
|
427
|
-
|
|
428
|
-
// flush/render our frame
|
|
429
|
-
this.renderer.flush();
|
|
430
|
-
|
|
431
|
-
// publish notification
|
|
432
|
-
emit(GAME_AFTER_DRAW, globalThis.performance.now());
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
export { Application as default };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.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 { devicePixelRatio, platform, getScreenOrientation, language, hasWebAudio } from '../system/device.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* display information
|
|
12
|
-
* @param {Application} app - the game application instance calling this function
|
|
13
|
-
*/
|
|
14
|
-
function consoleHeader(app) {
|
|
15
|
-
let renderType = app.renderer.type;
|
|
16
|
-
let gpu_renderer = (typeof app.renderer.GPURenderer === "string") ? " (" + app.renderer.GPURenderer + ")" : "";
|
|
17
|
-
let depthTesting = renderType.includes("WebGL") && app.renderer.depthTest === "z-buffer" ? "Depth Test | " : "";
|
|
18
|
-
let audioType = hasWebAudio ? "Web Audio" : "HTML5 Audio";
|
|
19
|
-
|
|
20
|
-
// output video information in the console
|
|
21
|
-
console.log(
|
|
22
|
-
renderType + " renderer" + gpu_renderer + " | " + depthTesting +
|
|
23
|
-
audioType + " | " +
|
|
24
|
-
"pixel ratio " + devicePixelRatio + " | " +
|
|
25
|
-
(platform.nodeJS ? "node.js" : platform.isMobile ? "mobile" : "desktop") + " | " +
|
|
26
|
-
getScreenOrientation() + " | " +
|
|
27
|
-
language
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
console.log("resolution: " + "requested " + app.settings.width + "x" + app.settings.height +
|
|
31
|
-
", got " + app.renderer.width + "x" + app.renderer.height
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { consoleHeader };
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.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 { getElementBounds, getParentBounds, devicePixelRatio } from '../system/device.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* scale the "displayed" canvas by the given scalar.
|
|
12
|
-
* this will modify the size of canvas element directly.
|
|
13
|
-
* Only use this if you are not using the automatic scaling feature.
|
|
14
|
-
* @private
|
|
15
|
-
* @param {Application} game - the game application instance triggering the resize
|
|
16
|
-
* @param {number} x - x scaling multiplier
|
|
17
|
-
* @param {number} y - y scaling multiplier
|
|
18
|
-
*/
|
|
19
|
-
function scale(game, x, y) {
|
|
20
|
-
let renderer = game.renderer;
|
|
21
|
-
let canvas = renderer.getCanvas();
|
|
22
|
-
let context = renderer.getContext();
|
|
23
|
-
let settings = renderer.settings;
|
|
24
|
-
let pixelRatio = devicePixelRatio;
|
|
25
|
-
|
|
26
|
-
let w = settings.zoomX = canvas.width * x * pixelRatio;
|
|
27
|
-
let h = settings.zoomY = canvas.height * y * pixelRatio;
|
|
28
|
-
|
|
29
|
-
// update the global scale variable
|
|
30
|
-
renderer.scaleRatio.set(x * pixelRatio, y * pixelRatio);
|
|
31
|
-
|
|
32
|
-
// adjust CSS style based on device pixel ratio
|
|
33
|
-
canvas.style.width = (w / pixelRatio) + "px";
|
|
34
|
-
canvas.style.height = (h / pixelRatio) + "px";
|
|
35
|
-
|
|
36
|
-
// if anti-alias and blend mode were resetted (e.g. Canvas mode)
|
|
37
|
-
renderer.setAntiAlias(context, settings.antiAlias);
|
|
38
|
-
renderer.setBlendMode(settings.blendMode, context);
|
|
39
|
-
|
|
40
|
-
// force repaint
|
|
41
|
-
game.repaint();
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* callback for window resize event
|
|
46
|
-
* @private
|
|
47
|
-
* @param {Application} game - the game application instance triggering the resize
|
|
48
|
-
*/
|
|
49
|
-
function onresize(game) {
|
|
50
|
-
let renderer = game.renderer;
|
|
51
|
-
let settings = renderer.settings;
|
|
52
|
-
let scaleX = settings.scale, scaleY = settings.scale;
|
|
53
|
-
let nodeBounds;
|
|
54
|
-
|
|
55
|
-
if (settings.autoScale) {
|
|
56
|
-
|
|
57
|
-
// set max the canvas max size if CSS values are defined
|
|
58
|
-
let canvasMaxWidth = Infinity;
|
|
59
|
-
let canvasMaxHeight = Infinity;
|
|
60
|
-
|
|
61
|
-
if (globalThis.getComputedStyle) {
|
|
62
|
-
let style = globalThis.getComputedStyle(renderer.getCanvas(), null);
|
|
63
|
-
canvasMaxWidth = parseInt(style.maxWidth, 10) || Infinity;
|
|
64
|
-
canvasMaxHeight = parseInt(style.maxHeight, 10) || Infinity;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (typeof game.settings.scaleTarget !== "undefined") {
|
|
68
|
-
// get the bounds of the given scale target
|
|
69
|
-
nodeBounds = getElementBounds(game.settings.scaleTarget);
|
|
70
|
-
} else {
|
|
71
|
-
// get the maximum canvas size within the parent div containing the canvas container
|
|
72
|
-
nodeBounds = getParentBounds(game.getParentElement());
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
let _max_width = Math.min(canvasMaxWidth, nodeBounds.width);
|
|
76
|
-
let _max_height = Math.min(canvasMaxHeight, nodeBounds.height);
|
|
77
|
-
|
|
78
|
-
// calculate final canvas width & height
|
|
79
|
-
let screenRatio = _max_width / _max_height;
|
|
80
|
-
|
|
81
|
-
if ((settings.scaleMethod === "fill-min" && screenRatio > renderer.designRatio) ||
|
|
82
|
-
(settings.scaleMethod === "fill-max" && screenRatio < renderer.designRatio) ||
|
|
83
|
-
(settings.scaleMethod === "flex-width")
|
|
84
|
-
) {
|
|
85
|
-
// resize the display canvas to fill the parent container
|
|
86
|
-
let sWidth = Math.min(canvasMaxWidth, settings.height * screenRatio);
|
|
87
|
-
scaleX = scaleY = _max_width / sWidth;
|
|
88
|
-
renderer.resize(Math.floor(sWidth), settings.height);
|
|
89
|
-
}
|
|
90
|
-
else if ((settings.scaleMethod === "fill-min" && screenRatio < renderer.designRatio) ||
|
|
91
|
-
(settings.scaleMethod === "fill-max" && screenRatio > renderer.designRatio) ||
|
|
92
|
-
(settings.scaleMethod === "flex-height")
|
|
93
|
-
) {
|
|
94
|
-
// resize the display canvas to fill the parent container
|
|
95
|
-
let sHeight = Math.min(canvasMaxHeight, settings.width * (_max_height / _max_width));
|
|
96
|
-
scaleX = scaleY = _max_height / sHeight;
|
|
97
|
-
renderer.resize(settings.width, Math.floor(sHeight));
|
|
98
|
-
}
|
|
99
|
-
else if (settings.scaleMethod === "flex") {
|
|
100
|
-
// resize the display canvas to fill the parent container
|
|
101
|
-
renderer.resize(Math.floor(_max_width), Math.floor(_max_height));
|
|
102
|
-
}
|
|
103
|
-
else if (settings.scaleMethod === "stretch") {
|
|
104
|
-
// scale the display canvas to fit with the parent container
|
|
105
|
-
scaleX = _max_width / settings.width;
|
|
106
|
-
scaleY = _max_height / settings.height;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
// scale the display canvas to fit the parent container
|
|
110
|
-
// make sure we maintain the original aspect ratio
|
|
111
|
-
if (screenRatio < renderer.designRatio) {
|
|
112
|
-
scaleX = scaleY = _max_width / settings.width;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
scaleX = scaleY = _max_height / settings.height;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
// adjust scaling ratio
|
|
120
|
-
scale(game, scaleX, scaleY);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export { onresize };
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.3.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
|
-
/**
|
|
9
|
-
* Application & Renderer Settings definition.
|
|
10
|
-
* @typedef {Object} ApplicationSettings
|
|
11
|
-
* @property {string|HTMLElement} [parent=document.body] - the DOM parent element to hold the canvas in the HTML file
|
|
12
|
-
* @property {HTMLCanvasElement} [canvas] - an existing canvas element to use as the renderer target (by default melonJS will create its own canvas based on given parameters)
|
|
13
|
-
* @property {number|Renderer} [renderer=AUTO] - renderer to use (CANVAS, WEBGL, AUTO), or a custom renderer class
|
|
14
|
-
* @property {number|string} [scale=1.0] - enable scaling of the canvas ('auto' for automatic scaling)
|
|
15
|
-
* @property {"fit"|"fill-min"|"fill-max"|"flex"|"flex-width"|"flex-height"|"stretch"} [scaleMethod="fit"] - screen scaling modes : <br>
|
|
16
|
-
* - <i><b>`fit`</b></i> : Letterboxed; content is scaled to design aspect ratio <br>
|
|
17
|
-
* <center><img src="images/scale-fit.png"/></center><br>
|
|
18
|
-
* - <i><b>`fill-min`</b></i> : Canvas is resized to fit minimum design resolution; content is scaled to design aspect ratio <br>
|
|
19
|
-
* <center><img src="images/scale-fill-min.png"/></center><br>
|
|
20
|
-
* - <i><b>`fill-max`</b></i> : Canvas is resized to fit maximum design resolution; content is scaled to design aspect ratio <br>
|
|
21
|
-
* <center><img src="images/scale-fill-max.png"/></center><br>
|
|
22
|
-
* - <i><b>`flex`</b><</i> : Canvas width & height is resized to fit; content is scaled to design aspect ratio <br>
|
|
23
|
-
* <center><img src="images/scale-flex.png"/></center><br>
|
|
24
|
-
* - <i><b>`flex-width`</b></i> : Canvas width is resized to fit; content is scaled to design aspect ratio <br>
|
|
25
|
-
* <center><img src="images/scale-flex-width.png"/></center><br>
|
|
26
|
-
* - <i><b>`flex-height`</b></i> : Canvas height is resized to fit; content is scaled to design aspect ratio <br>
|
|
27
|
-
* <center><img src="images/scale-flex-height.png"/></center><br>
|
|
28
|
-
* - <i><b>`stretch`</b></i> : Canvas is resized to fit; content is scaled to screen aspect ratio <br>
|
|
29
|
-
* <center><img src="images/scale-stretch.png"/></center>
|
|
30
|
-
* @property {string|HTMLElement} [scaleTarget] - the HTML Element to be used as the reference target when using automatic scaling (by default melonJS will use the parent container of the div element containing the canvas)
|
|
31
|
-
* @property {boolean} [preferWebGL1=false] - if true the renderer will only use WebGL 1
|
|
32
|
-
* @property {"sorting"|"z-buffer"} [depthTest="sorting"] - ~Experimental~ the default method to sort object on the z axis in WebGL
|
|
33
|
-
* @property {("default"|"high-performance"|"low-power")} [powerPreference="default"] - a hint to the user agent indicating what configuration of GPU is suitable for the WebGL context. To be noted that Safari and Chrome (since version 80) both default to "low-power" to save battery life and improve the user experience on these dual-GPU machines.
|
|
34
|
-
* @property {boolean} [transparent=false] - whether to allow transparent pixels in the front buffer (screen).
|
|
35
|
-
* @property {boolean} [antiAlias=false] - whether to enable or not video scaling interpolation
|
|
36
|
-
* @property {boolean} [consoleHeader=true] - whether to display melonJS version and basic device information in the console
|
|
37
|
-
* @property {number} [zoomX=width] - The actual width of the canvas with scaling applied
|
|
38
|
-
* @property {number} [zoomY=height] - The actual height of the canvas with scaling applied
|
|
39
|
-
* @property {Compositor} [compositor] - a custom compositor class (WebGL only)
|
|
40
|
-
* @property {string} [physic="builtin"] - the physic system to use (default: "builtin", or "none" to disable builtin physic)
|
|
41
|
-
*/
|
|
42
|
-
const ApplicationSettings = {
|
|
43
|
-
parent : undefined,
|
|
44
|
-
canvas : undefined,
|
|
45
|
-
renderer : 2, // AUTO
|
|
46
|
-
autoScale : false,
|
|
47
|
-
scale : 1.0,
|
|
48
|
-
scaleMethod : "manual",
|
|
49
|
-
scaleTarget : undefined,
|
|
50
|
-
preferWebGL1 : false,
|
|
51
|
-
depthTest: "sorting",
|
|
52
|
-
powerPreference : "default",
|
|
53
|
-
transparent : false,
|
|
54
|
-
antiAlias : false,
|
|
55
|
-
consoleHeader : true,
|
|
56
|
-
premultipliedAlpha: true,
|
|
57
|
-
blendMode : "normal",
|
|
58
|
-
physic : "builtin",
|
|
59
|
-
failIfMajorPerformanceCaveat : true,
|
|
60
|
-
subPixel : false,
|
|
61
|
-
verbose : false,
|
|
62
|
-
legacy : false
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export { ApplicationSettings };
|