melonjs 15.15.0 → 16.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/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
- package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
- package/dist/melonjs.mjs/_virtual/howler.js +2 -2
- package/dist/melonjs.mjs/_virtual/index.js +2 -2
- package/dist/melonjs.mjs/application/application.js +2 -2
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +2 -2
- package/dist/melonjs.mjs/application/settings.js +5 -3
- package/dist/melonjs.mjs/audio/audio.js +2 -2
- package/dist/melonjs.mjs/camera/camera2d.js +2 -2
- package/dist/melonjs.mjs/const.js +2 -2
- package/dist/melonjs.mjs/geometries/ellipse.js +6 -8
- package/dist/melonjs.mjs/geometries/line.js +2 -2
- package/dist/melonjs.mjs/geometries/path2d.js +131 -5
- package/dist/melonjs.mjs/geometries/point.js +7 -9
- package/dist/melonjs.mjs/geometries/poly.js +4 -14
- package/dist/melonjs.mjs/geometries/rectangle.js +2 -2
- package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
- package/dist/melonjs.mjs/geometries/toarccanvas.js +103 -0
- package/dist/melonjs.mjs/index.js +3 -3
- package/dist/melonjs.mjs/input/gamepad.js +2 -2
- package/dist/melonjs.mjs/input/input.js +2 -2
- package/dist/melonjs.mjs/input/keyboard.js +2 -2
- package/dist/melonjs.mjs/input/pointer.js +2 -2
- package/dist/melonjs.mjs/input/pointerevent.js +2 -2
- package/dist/melonjs.mjs/lang/console.js +2 -2
- package/dist/melonjs.mjs/lang/deprecated.js +2 -2
- package/dist/melonjs.mjs/level/level.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +2 -2
- package/dist/melonjs.mjs/level/tiled/constants.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +2 -2
- package/dist/melonjs.mjs/loader/cache.js +2 -2
- package/dist/melonjs.mjs/loader/loader.js +2 -2
- package/dist/melonjs.mjs/loader/loadingscreen.js +4 -4
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +3 -4
- package/dist/melonjs.mjs/loader/parsers/binary.js +15 -22
- package/dist/melonjs.mjs/loader/parsers/fetchdata.js +62 -0
- package/dist/melonjs.mjs/loader/parsers/fontface.js +2 -2
- package/dist/melonjs.mjs/loader/parsers/image.js +47 -11
- package/dist/melonjs.mjs/loader/parsers/json.js +14 -31
- package/dist/melonjs.mjs/loader/parsers/script.js +2 -2
- package/dist/melonjs.mjs/loader/parsers/tmx.js +48 -74
- package/dist/melonjs.mjs/loader/settings.js +2 -2
- package/dist/melonjs.mjs/math/color.js +2 -2
- package/dist/melonjs.mjs/math/math.js +13 -3
- package/dist/melonjs.mjs/math/matrix2.js +2 -2
- package/dist/melonjs.mjs/math/matrix3.js +2 -2
- package/dist/melonjs.mjs/math/observable_vector2.js +2 -2
- package/dist/melonjs.mjs/math/observable_vector3.js +2 -2
- package/dist/melonjs.mjs/math/vector2.js +7 -9
- package/dist/melonjs.mjs/math/vector3.js +6 -10
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
- package/dist/melonjs.mjs/particles/emitter.js +2 -2
- package/dist/melonjs.mjs/particles/particle.js +2 -2
- package/dist/melonjs.mjs/particles/settings.js +3 -5
- package/dist/melonjs.mjs/physics/body.js +6 -8
- package/dist/melonjs.mjs/physics/bounds.js +2 -2
- package/dist/melonjs.mjs/physics/collision.js +3 -5
- package/dist/melonjs.mjs/physics/detector.js +2 -2
- package/dist/melonjs.mjs/physics/quadtree.js +2 -2
- package/dist/melonjs.mjs/physics/response.js +2 -2
- package/dist/melonjs.mjs/physics/sat.js +2 -2
- package/dist/melonjs.mjs/physics/world.js +2 -2
- package/dist/melonjs.mjs/plugin/plugin.js +5 -5
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
- package/dist/melonjs.mjs/renderable/container.js +2 -2
- package/dist/melonjs.mjs/renderable/draggable.js +2 -2
- package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
- package/dist/melonjs.mjs/renderable/entity/entity.js +2 -2
- package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
- package/dist/melonjs.mjs/renderable/light2d.js +2 -2
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
- package/dist/melonjs.mjs/renderable/renderable.js +2 -2
- package/dist/melonjs.mjs/renderable/sprite.js +2 -2
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +2 -2
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +2 -2
- package/dist/melonjs.mjs/renderable/text/glyph.js +2 -2
- package/dist/melonjs.mjs/renderable/text/text.js +2 -2
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +2 -2
- package/dist/melonjs.mjs/renderable/text/textstyle.js +2 -2
- package/dist/melonjs.mjs/renderable/trigger.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
- package/dist/melonjs.mjs/state/stage.js +2 -2
- package/dist/melonjs.mjs/state/state.js +3 -4
- package/dist/melonjs.mjs/system/device.js +2 -2
- package/dist/melonjs.mjs/system/dom.js +2 -2
- package/dist/melonjs.mjs/system/event.js +2 -2
- package/dist/melonjs.mjs/system/platform.js +2 -2
- package/dist/melonjs.mjs/system/pooling.js +3 -20
- package/dist/melonjs.mjs/system/save.js +2 -2
- package/dist/melonjs.mjs/system/timer.js +3 -19
- package/dist/melonjs.mjs/tweens/easing.js +2 -2
- package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
- package/dist/melonjs.mjs/tweens/tween.js +2 -2
- package/dist/melonjs.mjs/utils/agent.js +2 -2
- package/dist/melonjs.mjs/utils/array.js +2 -2
- package/dist/melonjs.mjs/utils/file.js +2 -2
- package/dist/melonjs.mjs/utils/function.js +2 -2
- package/dist/melonjs.mjs/utils/string.js +2 -2
- package/dist/melonjs.mjs/utils/utils.js +2 -2
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
- package/dist/melonjs.mjs/video/renderer.js +14 -17
- package/dist/melonjs.mjs/video/texture/atlas.js +28 -14
- package/dist/melonjs.mjs/video/texture/cache.js +3 -4
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +16 -19
- package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
- package/dist/melonjs.mjs/video/video.js +2 -2
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +2 -2
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +2 -2
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +5 -3
- package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +2 -2
- package/dist/melonjs.module.js +1157 -315
- package/dist/types/application/application.d.ts +1 -1
- package/dist/types/application/settings.d.ts +5 -0
- package/dist/types/geometries/path2d.d.ts +24 -0
- package/dist/types/geometries/rectangle.d.ts +4 -4
- package/dist/types/geometries/roundrect.d.ts +1 -1
- package/dist/types/geometries/toarccanvas.d.ts +10 -0
- package/dist/types/loader/parsers/binary.d.ts +0 -8
- package/dist/types/loader/parsers/fetchdata.d.ts +15 -0
- package/dist/types/loader/parsers/tmx.d.ts +1 -0
- package/dist/types/math/color.d.ts +4 -4
- package/dist/types/math/math.d.ts +6 -0
- package/dist/types/math/observable_vector2.d.ts +2 -2
- package/dist/types/math/observable_vector3.d.ts +3 -3
- package/dist/types/physics/bounds.d.ts +4 -4
- package/dist/types/renderable/entity/entity.d.ts +1 -1
- package/dist/types/renderable/imagelayer.d.ts +1 -1
- package/dist/types/renderable/renderable.d.ts +3 -3
- package/dist/types/renderable/text/bitmaptext.d.ts +1 -1
- package/dist/types/video/renderer.d.ts +11 -23
- package/dist/types/video/texture/canvas_texture.d.ts +11 -23
- package/package.json +16 -15
- package/src/application/settings.js +3 -1
- package/src/geometries/ellipse.js +4 -6
- package/src/geometries/path2d.js +129 -4
- package/src/geometries/point.js +5 -7
- package/src/geometries/poly.js +2 -12
- package/src/geometries/toarccanvas.js +94 -0
- package/src/loader/parsers/binary.js +13 -56
- package/src/loader/parsers/fetchdata.js +53 -0
- package/src/loader/parsers/image.js +45 -12
- package/src/loader/parsers/json.js +12 -30
- package/src/loader/parsers/tmx.js +46 -72
- package/src/math/math.js +10 -0
- package/src/math/vector2.js +5 -7
- package/src/math/vector3.js +4 -8
- package/src/physics/body.js +4 -6
- package/src/plugin/plugin.js +1 -1
- package/src/polyfill/index.js +3 -0
- package/src/video/renderer.js +12 -15
- package/src/video/texture/atlas.js +26 -12
- package/src/video/texture/canvas_texture.js +14 -17
- package/src/video/webgl/compositors/quad_compositor.js +3 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
var earcut = {exports: {}};
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
var howler = {};
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
var eventemitter3 = {exports: {}};
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { autoDetectRenderer } from '../video/utils/autodetect.js';
|
|
9
9
|
import CanvasRenderer from '../video/canvas/canvas_renderer.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { devicePixelRatio, platform, getScreenOrientation, language, hasWebAudio } from '../system/device.js';
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { getElementBounds, getParentBounds, devicePixelRatio } from '../system/device.js';
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
// default settings
|
|
9
9
|
const defaultSettings = {
|
|
@@ -24,13 +24,15 @@ const defaultSettings = {
|
|
|
24
24
|
powerPreference : "default",
|
|
25
25
|
verbose : false,
|
|
26
26
|
consoleHeader : true,
|
|
27
|
-
legacy : false
|
|
27
|
+
legacy : false,
|
|
28
|
+
canvas : undefined
|
|
28
29
|
};
|
|
29
30
|
|
|
30
31
|
/**
|
|
31
32
|
* Application & Renderer Settings definition.
|
|
32
33
|
* @typedef {object} Settings
|
|
33
34
|
* @property {string|HTMLElement} [parent=document.body] - the DOM parent element to hold the canvas in the HTML file
|
|
35
|
+
* @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)
|
|
34
36
|
* @property {number|Renderer} [renderer=AUTO] - renderer to use (CANVAS, WEBGL, AUTO), or a custom renderer class
|
|
35
37
|
* @property {number|string} [scale=1.0] - enable scaling of the canvas ('auto' for automatic scaling)
|
|
36
38
|
* @property {"fit"|"fill-min"|"fill-max"|"flex"|"flex-width"|"flex-height"|"stretch"} [scaleMethod="fit"] - screen scaling modes : <br>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import '../node_modules/howler/dist/howler.js';
|
|
9
9
|
import { clamp } from '../math/math.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Vector2d from '../math/vector2.js';
|
|
9
9
|
import Vector3d from '../math/vector3.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* constant to select the HTML5 Canvas renderer
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import pool from '../system/pooling.js';
|
|
9
9
|
|
|
@@ -196,17 +196,15 @@ class Ellipse {
|
|
|
196
196
|
* // do something
|
|
197
197
|
* }
|
|
198
198
|
*/
|
|
199
|
-
contains() {
|
|
199
|
+
contains(...args) {
|
|
200
200
|
let _x, _y;
|
|
201
201
|
|
|
202
|
-
if (
|
|
202
|
+
if (args.length === 2) {
|
|
203
203
|
// x, y
|
|
204
|
-
_x =
|
|
205
|
-
_y = arguments[1];
|
|
204
|
+
[_x, _y] = args;
|
|
206
205
|
} else {
|
|
207
206
|
// vector
|
|
208
|
-
_x =
|
|
209
|
-
_y = arguments[0].y;
|
|
207
|
+
[_x, _y] = [args[0].x, args[0].y];
|
|
210
208
|
}
|
|
211
209
|
|
|
212
210
|
// Make position relative to object center point.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import pool from '../system/pooling.js';
|
|
9
9
|
import Polygon from './poly.js';
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import pool from '../system/pooling.js';
|
|
9
9
|
import { TAU } from '../math/math.js';
|
|
10
10
|
import earcut from '../node_modules/earcut/src/earcut.js';
|
|
11
|
+
import { endpointToCenterParameterization } from './toarccanvas.js';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* @classdesc
|
|
14
15
|
* a simplified path2d implementation, supporting only one path
|
|
15
16
|
*/
|
|
16
17
|
class Path2D {
|
|
17
|
-
constructor() {
|
|
18
|
+
constructor(svgPath) {
|
|
18
19
|
/**
|
|
19
20
|
* the points defining the current path
|
|
20
21
|
* @type {Point[]}
|
|
@@ -36,8 +37,75 @@ class Path2D {
|
|
|
36
37
|
|
|
37
38
|
/* @ignore */
|
|
38
39
|
this.isDirty = false;
|
|
40
|
+
|
|
41
|
+
if (typeof svgPath === "string") {
|
|
42
|
+
this.parseSVGPath(svgPath);
|
|
43
|
+
}
|
|
39
44
|
}
|
|
40
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Parses an SVG path string and adds the points to the current path.
|
|
48
|
+
* @param {string} svgPath - The SVG path string to parse.
|
|
49
|
+
*/
|
|
50
|
+
parseSVGPath(svgPath) {
|
|
51
|
+
// Split path into commands and coordinates
|
|
52
|
+
const pathCommands = svgPath.match(/([a-df-z])[^a-df-z]*/gi);
|
|
53
|
+
const points = this.points;
|
|
54
|
+
const startPoint = this.startPoint;
|
|
55
|
+
let lastPoint = startPoint;
|
|
56
|
+
|
|
57
|
+
this.beginPath();
|
|
58
|
+
|
|
59
|
+
// Process each command and corresponding coordinates
|
|
60
|
+
for (let i = 0; i < pathCommands.length; i++) {
|
|
61
|
+
const pathCommand = pathCommands[i];
|
|
62
|
+
const command = pathCommand[0].toUpperCase();
|
|
63
|
+
const coordinates = pathCommand.slice(1).trim().split(/[\s,]+/).map(parseFloat);
|
|
64
|
+
|
|
65
|
+
switch (command) {
|
|
66
|
+
case "A": {
|
|
67
|
+
// A command takes 5 coordinates
|
|
68
|
+
const p = endpointToCenterParameterization(...coordinates);
|
|
69
|
+
this.arc(p.x, p.y, p.radiusX, p.radiusY, p.rotation, p.startAngle, p.endAngle, p.applyanticlockwise);
|
|
70
|
+
}
|
|
71
|
+
break;
|
|
72
|
+
case "H":
|
|
73
|
+
// H take 1 coordinate
|
|
74
|
+
lastPoint = points.length === 0 ? startPoint : points[points.length-1];
|
|
75
|
+
this.lineTo(lastPoint.x + coordinates[0], lastPoint.y);
|
|
76
|
+
break;
|
|
77
|
+
case "V":
|
|
78
|
+
// V take 1 coordinate
|
|
79
|
+
lastPoint = points.length === 0 ? startPoint : points[points.length-1];
|
|
80
|
+
this.lineTo(lastPoint.x, lastPoint.y + coordinates[0]);
|
|
81
|
+
break;
|
|
82
|
+
case "M":
|
|
83
|
+
// M takes 2 coordinates
|
|
84
|
+
this.moveTo(...coordinates);
|
|
85
|
+
break;
|
|
86
|
+
case "L":
|
|
87
|
+
// L takes 2 coordinates
|
|
88
|
+
this.lineTo(...coordinates);
|
|
89
|
+
break;
|
|
90
|
+
case "Q":
|
|
91
|
+
// Q takes 4 coordinates
|
|
92
|
+
this.quadraticCurveTo(...coordinates);
|
|
93
|
+
break;
|
|
94
|
+
case "C":
|
|
95
|
+
// C takes 6 coordinates
|
|
96
|
+
this.bezierCurveTo(...coordinates);
|
|
97
|
+
break;
|
|
98
|
+
case "Z":
|
|
99
|
+
this.closePath();
|
|
100
|
+
break;
|
|
101
|
+
default:
|
|
102
|
+
console.warn("Unsupported command:", command);
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
|
|
41
109
|
/**
|
|
42
110
|
* begin a new path
|
|
43
111
|
*/
|
|
@@ -197,9 +265,11 @@ class Path2D {
|
|
|
197
265
|
*/
|
|
198
266
|
arcTo(x1, y1, x2, y2, radius) {
|
|
199
267
|
let points = this.points;
|
|
200
|
-
|
|
201
|
-
let
|
|
268
|
+
let startPoint = this.startPoint;
|
|
269
|
+
let lastPoint = points.length === 0 ? startPoint : points[points.length-1];
|
|
202
270
|
|
|
271
|
+
// based on from https://github.com/karellodewijk/canvas-webgl/blob/master/canvas-webgl.js
|
|
272
|
+
let x0 = lastPoint.x, y0 = lastPoint.y;
|
|
203
273
|
//a = -incoming vector, b = outgoing vector to x1, y1
|
|
204
274
|
let a0 = x0 - x1, a1 = y0 - y1;
|
|
205
275
|
let b0 = x2 - x1, b1 = y2 - y1;
|
|
@@ -293,6 +363,62 @@ class Path2D {
|
|
|
293
363
|
this.isDirty = true;
|
|
294
364
|
}
|
|
295
365
|
|
|
366
|
+
/**
|
|
367
|
+
* Adds a quadratic Bézier curve to the path.
|
|
368
|
+
* @param {number} cpX - The x-coordinate of the control point.
|
|
369
|
+
* @param {number} cpY - The y-coordinate of the control point.
|
|
370
|
+
* @param {number} x - The x-coordinate of the end point of the curve.
|
|
371
|
+
* @param {number} y - The y-coordinate of the end point of the curve.
|
|
372
|
+
*/
|
|
373
|
+
quadraticCurveTo(cpX, cpY, x, y) {
|
|
374
|
+
const points = this.points;
|
|
375
|
+
const startPoint = this.startPoint;
|
|
376
|
+
const lastPoint = points.length === 0 ? startPoint : points[points.length-1];
|
|
377
|
+
const endPoint = pool.pull("Point").set(x, y);
|
|
378
|
+
const controlPoint = pool.pull("Point").set(cpX, cpY);
|
|
379
|
+
const resolution = this.arcResolution;
|
|
380
|
+
|
|
381
|
+
const t = 1 / resolution;
|
|
382
|
+
for (let i = 1; i <= resolution; i++) {
|
|
383
|
+
this.lineTo(
|
|
384
|
+
lastPoint.x * Math.pow(1 - t * i, 2) + controlPoint.x * 2 * (1 - t * i) * t * i + endPoint.x * Math.pow(t * i, 2),
|
|
385
|
+
lastPoint.y * Math.pow(1 - t * i, 2) + controlPoint.y * 2 * (1 - t * i) * t * i + endPoint.y * Math.pow(t * i, 2)
|
|
386
|
+
);
|
|
387
|
+
}
|
|
388
|
+
pool.push(endPoint, controlPoint);
|
|
389
|
+
this.isDirty = true;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Adds a cubic Bézier curve to the path.
|
|
394
|
+
* @param {number} cp1X - The x-coordinate of the first control point.
|
|
395
|
+
* @param {number} cp1Y - The y-coordinate of the first control point.
|
|
396
|
+
* @param {number} cp2X - The x-coordinate of the second control point.
|
|
397
|
+
* @param {number} cp2Y - The y-coordinate of the second control point.
|
|
398
|
+
* @param {number} x - The x-coordinate of the end point of the curve.
|
|
399
|
+
* @param {number} y - The y-coordinate of the end point of the curve.
|
|
400
|
+
*/
|
|
401
|
+
bezierCurveTo(cp1X, cp1Y, cp2X, cp2Y, x, y) {
|
|
402
|
+
const points = this.points;
|
|
403
|
+
const startPoint = this.startPoint;
|
|
404
|
+
const lastPoint = points.length === 0 ? startPoint : points[points.length-1];
|
|
405
|
+
const endPoint = pool.pull("Point").set(x, y);
|
|
406
|
+
const controlPoint1 = pool.pull("Point").set(cp1X, cp1Y);
|
|
407
|
+
const controlPoint2 = pool.pull("Point").set(cp2X, cp2Y);
|
|
408
|
+
const resolution = this.arcResolution;
|
|
409
|
+
|
|
410
|
+
const t = 1 / resolution;
|
|
411
|
+
for (let i = 1; i <= resolution; i++) {
|
|
412
|
+
this.lineTo(
|
|
413
|
+
lastPoint.x * Math.pow(1 - t * i, 3) + controlPoint1.x * 3 * Math.pow(1 - t * i, 2) * t * i + controlPoint2.x * 3 * (1 - t * i) * Math.pow(t * i, 2) + endPoint.x * Math.pow(t * i, 3),
|
|
414
|
+
lastPoint.y * Math.pow(1 - t * i, 3) + controlPoint1.y * 3 * Math.pow(1 - t * i, 2) * t * i + controlPoint2.y * 3 * (1 - t * i) * Math.pow(t * i, 2) + endPoint.y * Math.pow(t * i, 3)
|
|
415
|
+
);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
pool.push(endPoint, controlPoint1, controlPoint2);
|
|
419
|
+
this.isDirty = true;
|
|
420
|
+
}
|
|
421
|
+
|
|
296
422
|
/**
|
|
297
423
|
* creates a path for a rectangle at position (x, y) with a size that is determined by width and height.
|
|
298
424
|
* @param {number} x - the x-axis coordinate of the rectangle's starting point.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* @classdesc
|
|
@@ -56,18 +56,16 @@ class Point {
|
|
|
56
56
|
* @param {number} [y]
|
|
57
57
|
* @returns {boolean}
|
|
58
58
|
*/
|
|
59
|
-
equals() {
|
|
59
|
+
equals(...args) {
|
|
60
60
|
let _x, _y;
|
|
61
|
-
if (
|
|
61
|
+
if (args.length === 2) {
|
|
62
62
|
// x, y
|
|
63
|
-
_x =
|
|
64
|
-
_y = arguments[1];
|
|
63
|
+
[_x, _y] = args;
|
|
65
64
|
} else {
|
|
66
65
|
// point
|
|
67
|
-
_x =
|
|
68
|
-
_y = arguments[0].y;
|
|
66
|
+
[_x, _y] = [args[0].x, args[0].y];
|
|
69
67
|
}
|
|
70
|
-
return
|
|
68
|
+
return this.x === _x && this.y === _y;
|
|
71
69
|
}
|
|
72
70
|
|
|
73
71
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import earcut from '../node_modules/earcut/src/earcut.js';
|
|
9
9
|
import pool from '../system/pooling.js';
|
|
@@ -374,18 +374,8 @@ class Polygon {
|
|
|
374
374
|
* // do something
|
|
375
375
|
* }
|
|
376
376
|
*/
|
|
377
|
-
contains() {
|
|
378
|
-
let _x, _y;
|
|
379
|
-
|
|
380
|
-
if (arguments.length === 2) {
|
|
381
|
-
// x, y
|
|
382
|
-
_x = arguments[0];
|
|
383
|
-
_y = arguments[1];
|
|
384
|
-
} else {
|
|
385
|
-
// vector
|
|
386
|
-
_x = arguments[0].x;
|
|
387
|
-
_y = arguments[0].y;
|
|
388
|
-
}
|
|
377
|
+
contains(...args) {
|
|
378
|
+
let [_x, _y] = args.length === 2 ? args : [args[0].x, args[0].y];
|
|
389
379
|
|
|
390
380
|
let intersects = false;
|
|
391
381
|
let posx = this.pos.x, posy = this.pos.y;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import pool from '../system/pooling.js';
|
|
9
9
|
import Polygon from './poly.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Rect from './rectangle.js';
|
|
9
9
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v16.0.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 { degToRad, pow } from '../math/math.js';
|
|
9
|
+
|
|
10
|
+
function correctRadii(signedRx, signedRy, x1p, y1p) {
|
|
11
|
+
const prx = Math.abs(signedRx);
|
|
12
|
+
const pry = Math.abs(signedRy);
|
|
13
|
+
|
|
14
|
+
const A = pow(x1p) / pow(prx) + pow(y1p) / pow(pry);
|
|
15
|
+
|
|
16
|
+
const rx = A > 1 ? Math.sqrt(A) * prx : prx;
|
|
17
|
+
const ry = A > 1 ? Math.sqrt(A) * pry : pry;
|
|
18
|
+
|
|
19
|
+
return [rx, ry];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function mat2DotVec2([m00, m01, m10, m11], [vx, vy]) {
|
|
23
|
+
return [m00 * vx + m01 * vy, m10 * vx + m11 * vy];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function vec2Add([ux, uy], [vx, vy]) {
|
|
27
|
+
return [ux + vx, uy + vy];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function vec2Scale([a0, a1], scalar) {
|
|
31
|
+
return [a0 * scalar, a1 * scalar];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function vec2Dot([ux, uy], [vx, vy]) {
|
|
35
|
+
return ux * vx + uy * vy;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function vec2Mag([ux, uy]) {
|
|
39
|
+
return Math.sqrt(ux ** 2 + uy ** 2);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function vec2Angle(u, v) {
|
|
43
|
+
const [ux, uy] = u;
|
|
44
|
+
const [vx, vy] = v;
|
|
45
|
+
const sign = ux * vy - uy * vx >= 0 ? 1 : -1;
|
|
46
|
+
return sign * Math.acos(vec2Dot(u, v) / (vec2Mag(u) * vec2Mag(v)));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// From https://svgwg.org/svg2-draft/implnote.html#ArcConversionEndpointToCenter
|
|
50
|
+
function endpointToCenterParameterization(x1, y1, x2, y2, largeArcFlag, sweepFlag, srx, sry, xAxisRotationDeg) {
|
|
51
|
+
const xAxisRotation = degToRad(xAxisRotationDeg);
|
|
52
|
+
|
|
53
|
+
const cosphi = Math.cos(xAxisRotation);
|
|
54
|
+
const sinphi = Math.sin(xAxisRotation);
|
|
55
|
+
|
|
56
|
+
const [x1p, y1p] = mat2DotVec2(
|
|
57
|
+
[cosphi, sinphi, -sinphi, cosphi],
|
|
58
|
+
[(x1 - x2) / 2, (y1 - y2) / 2]
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
const [rx, ry] = correctRadii(srx, sry, x1p, y1p);
|
|
62
|
+
|
|
63
|
+
const sign = largeArcFlag !== sweepFlag ? 1 : -1;
|
|
64
|
+
const n = pow(rx) * pow(ry) - pow(rx) * pow(y1p) - pow(ry) * pow(x1p);
|
|
65
|
+
const d = pow(rx) * pow(y1p) + pow(ry) * pow(x1p);
|
|
66
|
+
|
|
67
|
+
const [cxp, cyp] = vec2Scale(
|
|
68
|
+
[(rx * y1p) / ry, (-ry * x1p) / rx],
|
|
69
|
+
sign * Math.sqrt(Math.abs(n / d))
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const [cx, cy] = vec2Add(
|
|
73
|
+
mat2DotVec2([cosphi, -sinphi, sinphi, cosphi], [cxp, cyp]),
|
|
74
|
+
[(x1 + x2) / 2, (y1 + y2) / 2]
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
const a = [(x1p - cxp) / rx, (y1p - cyp) / ry];
|
|
78
|
+
const b = [(-x1p - cxp) / rx, (-y1p - cyp) / ry];
|
|
79
|
+
const startAngle = vec2Angle([1, 0], a);
|
|
80
|
+
const deltaAngle0 = vec2Angle(a, b) % (2 * Math.PI);
|
|
81
|
+
|
|
82
|
+
const deltaAngle =
|
|
83
|
+
!sweepFlag && deltaAngle0 > 0
|
|
84
|
+
? deltaAngle0 - 2 * Math.PI
|
|
85
|
+
: sweepFlag && deltaAngle0 < 0
|
|
86
|
+
? deltaAngle0 + 2 * Math.PI
|
|
87
|
+
: deltaAngle0;
|
|
88
|
+
|
|
89
|
+
const endAngle = startAngle + deltaAngle;
|
|
90
|
+
|
|
91
|
+
return {
|
|
92
|
+
cx,
|
|
93
|
+
cy,
|
|
94
|
+
rx,
|
|
95
|
+
ry,
|
|
96
|
+
startAngle,
|
|
97
|
+
endAngle,
|
|
98
|
+
xAxisRotation,
|
|
99
|
+
anticlockwise: deltaAngle < 0
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { endpointToCenterParameterization };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Color from './math/color.js';
|
|
9
9
|
import Vector2d from './math/vector2.js';
|
|
@@ -112,7 +112,7 @@ import { initKeyboardEvent } from './input/keyboard.js';
|
|
|
112
112
|
* @name version
|
|
113
113
|
* @type {string}
|
|
114
114
|
*/
|
|
115
|
-
const version = "
|
|
115
|
+
const version = "16.0.0";
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
118
|
* a flag indicating that melonJS is fully initialized
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { getBindingKey, triggerKeyEvent } from './keyboard.js';
|
|
9
9
|
import { emit, GAMEPAD_CONNECTED, GAMEPAD_DISCONNECTED, on, GAME_BEFORE_UPDATE, GAMEPAD_UPDATE } from '../system/event.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
export { bindPointer, exitPointerLock, globalToLocal, hasActiveEvents, hasRegisteredEvents, locked, pointer, pointerEventTarget, registerPointerEvent, releaseAllPointerEvents, releasePointerEvent, requestPointerLock, setTouchAction, throttlingInterval, unbindPointer } from './pointerevent.js';
|
|
9
9
|
export { KEY, bindKey, getBindingKey, initKeyboardEvent, isKeyPressed, keyBoardEventTarget, keyStatus, triggerKeyEvent, unbindKey, unlockKey } from './keyboard.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { preventDefault } from './input.js';
|
|
9
9
|
import { emit, KEYDOWN, KEYUP } from '../system/event.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine -
|
|
2
|
+
* melonJS Game Engine - v16.0.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Vector2d from '../math/vector2.js';
|
|
9
9
|
import Bounds from '../physics/bounds.js';
|