melonjs 15.1.5 → 15.2.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/README.md +2 -2
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/application/application.js +3 -3
- package/dist/melonjs.mjs/application/header.js +1 -1
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +3 -3
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +1 -1
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +1 -1
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +12 -7
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +1 -1
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +3 -2
- package/dist/melonjs.mjs/level/level.js +5 -4
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +6 -8
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +1 -1
- package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parser.js +1 -1
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +1 -1
- package/dist/melonjs.mjs/math/matrix3.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
- package/dist/melonjs.mjs/math/vector2.js +1 -1
- package/dist/melonjs.mjs/math/vector3.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +1 -1
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +3 -3
- package/dist/melonjs.mjs/physics/bounds.js +1 -1
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +4 -4
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +9 -9
- package/dist/melonjs.mjs/physics/world.js +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +106 -108
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +20 -19
- package/dist/melonjs.mjs/renderable/draggable.js +121 -0
- package/dist/melonjs.mjs/renderable/dragndrop.js +3 -113
- package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +2 -2
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
- package/dist/melonjs.mjs/state/stage.js +1 -1
- package/dist/melonjs.mjs/state/state.js +1 -1
- package/dist/melonjs.mjs/system/device.js +1 -1
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +1 -1
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +1 -1
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +4 -4
- package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/text/glyph.js +1 -1
- package/dist/melonjs.mjs/text/text.js +1 -1
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +1 -1
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +105 -111
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
- package/dist/melonjs.mjs/video/renderer.js +1 -1
- package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +4 -4
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
- package/dist/melonjs.module.js +516 -500
- package/dist/types/camera/camera2d.d.ts +4 -4
- package/dist/types/index.d.ts +4 -4
- package/dist/types/physics/body.d.ts +4 -4
- package/dist/types/physics/detector.d.ts +5 -5
- package/dist/types/physics/sat.d.ts +12 -12
- package/dist/types/plugin/plugin.d.ts +60 -5
- package/dist/types/renderable/container.d.ts +25 -25
- package/dist/types/renderable/draggable.d.ts +53 -0
- package/dist/types/renderable/dragndrop.d.ts +0 -52
- package/dist/types/renderable/renderable.d.ts +2 -2
- package/dist/types/utils/utils.d.ts +56 -17
- package/package.json +8 -8
- package/src/application/application.js +2 -2
- package/src/camera/camera2d.js +2 -2
- package/src/index.js +5 -3
- package/src/lang/deprecated.js +2 -1
- package/src/level/level.js +4 -3
- package/src/level/tiled/TMXTileMap.js +2 -2
- package/src/level/tiled/TMXUtils.js +4 -3
- package/src/physics/body.js +2 -2
- package/src/physics/detector.js +3 -3
- package/src/physics/sat.js +8 -8
- package/src/plugin/plugin.js +103 -105
- package/src/renderable/container.js +19 -18
- package/src/renderable/draggable.js +114 -0
- package/src/renderable/dragndrop.js +0 -109
- package/src/renderable/renderable.js +1 -1
- package/src/renderable/trigger.js +1 -1
- package/src/system/timer.js +3 -3
- package/src/utils/utils.js +102 -111
- package/src/video/video.js +3 -3
|
@@ -236,18 +236,18 @@ export default class Camera2d extends Renderable {
|
|
|
236
236
|
* set the camera position around the specified object
|
|
237
237
|
* @name focusOn
|
|
238
238
|
* @memberof Camera2d
|
|
239
|
-
* @param {Renderable} target - the renderable to focus the camera on
|
|
239
|
+
* @param {Renderable|Entity|Sprite|NineSliceSprite} target - the renderable to focus the camera on
|
|
240
240
|
*/
|
|
241
|
-
focusOn(target: Renderable): void;
|
|
241
|
+
focusOn(target: Renderable | Entity | Sprite | NineSliceSprite): void;
|
|
242
242
|
/**
|
|
243
243
|
* check if the specified renderable is in the camera
|
|
244
244
|
* @name isVisible
|
|
245
245
|
* @memberof Camera2d
|
|
246
|
-
* @param {Renderable} obj - to be checked against
|
|
246
|
+
* @param {Renderable|Entity|Sprite|NineSliceSprite} obj - to be checked against
|
|
247
247
|
* @param {boolean} [floating = obj.floating] - if visibility check should be done against screen coordinates
|
|
248
248
|
* @returns {boolean}
|
|
249
249
|
*/
|
|
250
|
-
isVisible(obj: Renderable, floating?: boolean | undefined): boolean;
|
|
250
|
+
isVisible(obj: Renderable | Entity | Sprite | NineSliceSprite, floating?: boolean | undefined): boolean;
|
|
251
251
|
/**
|
|
252
252
|
* convert the given "local" (screen) coordinates into world coordinates
|
|
253
253
|
* @name localToWorld
|
package/dist/types/index.d.ts
CHANGED
|
@@ -40,9 +40,9 @@ import * as loader from "./loader/loader.js";
|
|
|
40
40
|
import level from "./level/level.js";
|
|
41
41
|
import * as input from "./input/input.js";
|
|
42
42
|
import * as Math from "./math/math.js";
|
|
43
|
-
import
|
|
44
|
-
import { plugins } from "./plugin/plugin.js";
|
|
45
|
-
import utils from "./utils/utils.js";
|
|
43
|
+
import * as plugin from "./plugin/plugin.js";
|
|
44
|
+
import { cache as plugins } from "./plugin/plugin.js";
|
|
45
|
+
import * as utils from "./utils/utils.js";
|
|
46
46
|
import save from "./system/save.js";
|
|
47
47
|
import timer from "./system/timer.js";
|
|
48
48
|
import pool from "./system/pooling.js";
|
|
@@ -88,7 +88,7 @@ import UISpriteElement from "./renderable/ui/uispriteelement.js";
|
|
|
88
88
|
import Collectable from "./renderable/collectable.js";
|
|
89
89
|
import Trigger from "./renderable/trigger.js";
|
|
90
90
|
import Light2d from "./renderable/light2d.js";
|
|
91
|
-
import { Draggable } from "./renderable/
|
|
91
|
+
import { Draggable } from "./renderable/draggable.js";
|
|
92
92
|
import { DropTarget } from "./renderable/dragndrop.js";
|
|
93
93
|
import TMXRenderer from "./level/tiled/renderer/TMXRenderer.js";
|
|
94
94
|
import TMXOrthogonalRenderer from "./level/tiled/renderer/TMXOrthogonalRenderer.js";
|
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export default class Body {
|
|
7
7
|
/**
|
|
8
|
-
* @param {Renderable} ancestor - the parent object this body is attached to
|
|
8
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} ancestor - the parent object this body is attached to
|
|
9
9
|
* @param {Rect|Rect[]|Polygon|Polygon[]|Line|Line[]|Ellipse|Ellipse[]|Point|Point[]|Bounds|Bounds[]|object} [shapes] - a initial shape, list of shapes, or JSON object defining the body
|
|
10
10
|
* @param {Function} [onBodyUpdate] - callback for when the body is updated (e.g. add/remove shapes)
|
|
11
11
|
*/
|
|
12
|
-
constructor(ancestor: Renderable, shapes?: Rect | Rect[] | Polygon | Polygon[] | Line | Line[] | Ellipse | Ellipse[] | Point | Point[] | Bounds | Bounds[] | object, onBodyUpdate?: Function | undefined);
|
|
12
|
+
constructor(ancestor: Renderable | Container | Entity | Sprite | NineSliceSprite, shapes?: Rect | Rect[] | Polygon | Polygon[] | Line | Line[] | Ellipse | Ellipse[] | Point | Point[] | Bounds | Bounds[] | object, onBodyUpdate?: Function | undefined);
|
|
13
13
|
/**
|
|
14
14
|
* a reference to the parent object that contains this body,
|
|
15
15
|
* or undefined if it has not been added to one.
|
|
16
16
|
* @public
|
|
17
|
-
* @type {Renderable}
|
|
17
|
+
* @type {Renderable|Container|Entity|Sprite|NineSliceSprite}
|
|
18
18
|
* @default undefined
|
|
19
19
|
*/
|
|
20
|
-
public ancestor: Renderable;
|
|
20
|
+
public ancestor: Renderable | Container | Entity | Sprite | NineSliceSprite;
|
|
21
21
|
/**
|
|
22
22
|
* The AABB bounds box reprensenting this body
|
|
23
23
|
* @public
|
|
@@ -16,11 +16,11 @@ export default class Detector {
|
|
|
16
16
|
/**
|
|
17
17
|
* determine if two objects should collide (based on both respective objects body collision mask and type).<br>
|
|
18
18
|
* you can redefine this function if you need any specific rules over what should collide with what.
|
|
19
|
-
* @param {Renderable} a - a reference to the object A.
|
|
20
|
-
* @param {Renderable} b - a reference to the object B.
|
|
19
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
|
|
20
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
|
|
21
21
|
* @returns {boolean} true if they should collide, false otherwise
|
|
22
22
|
*/
|
|
23
|
-
shouldCollide(a: Renderable, b: Renderable): boolean;
|
|
23
|
+
shouldCollide(a: Renderable | Container | Entity | Sprite | NineSliceSprite, b: Renderable | Container | Entity | Sprite | NineSliceSprite): boolean;
|
|
24
24
|
/**
|
|
25
25
|
* detect collision between two bodies.
|
|
26
26
|
* @param {Body} bodyA - a reference to body A.
|
|
@@ -31,10 +31,10 @@ export default class Detector {
|
|
|
31
31
|
/**
|
|
32
32
|
* find all the collisions for the specified object using a broadphase algorithm
|
|
33
33
|
* @ignore
|
|
34
|
-
* @param {Renderable} objA - object to be tested for collision
|
|
34
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} objA - object to be tested for collision
|
|
35
35
|
* @returns {boolean} in case of collision, false otherwise
|
|
36
36
|
*/
|
|
37
|
-
collisions(objA: Renderable): boolean;
|
|
37
|
+
collisions(objA: Renderable | Container | Entity | Sprite | NineSliceSprite): boolean;
|
|
38
38
|
/**
|
|
39
39
|
* Checks for object colliding with the given line
|
|
40
40
|
* @ignore
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Checks whether polygons collide.
|
|
3
3
|
* @ignore
|
|
4
|
-
* @param {Renderable} a - a reference to the object A.
|
|
4
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
|
|
5
5
|
* @param {Polygon} polyA - a reference to the object A Polygon to be tested
|
|
6
|
-
* @param {Renderable} b - a reference to the object B.
|
|
6
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
|
|
7
7
|
* @param {Polygon} polyB - a reference to the object B Polygon to be tested
|
|
8
8
|
* @param {Response=} response - Response object (optional) that will be populated if they intersect.
|
|
9
9
|
* @returns {boolean} true if they intersect, false if they don't.
|
|
10
10
|
*/
|
|
11
|
-
export function testPolygonPolygon(a: Renderable, polyA: Polygon, b: Renderable, polyB: Polygon, response?: Response | undefined): boolean;
|
|
11
|
+
export function testPolygonPolygon(a: Renderable | Container | Entity | Sprite | NineSliceSprite, polyA: Polygon, b: Renderable | Container | Entity | Sprite | NineSliceSprite, polyB: Polygon, response?: Response | undefined): boolean;
|
|
12
12
|
/**
|
|
13
13
|
* Check if two Ellipse collide.
|
|
14
14
|
* @ignore
|
|
15
|
-
* @param {Renderable} a - a reference to the object A.
|
|
15
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
|
|
16
16
|
* @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
|
|
17
|
-
* @param {Renderable} b - a reference to the object B.
|
|
17
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
|
|
18
18
|
* @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
|
|
19
19
|
* @param {Response=} response - Response object (optional) that will be populated if
|
|
20
20
|
* the circles intersect.
|
|
21
21
|
* @returns {boolean} true if the circles intersect, false if they don't.
|
|
22
22
|
*/
|
|
23
|
-
export function testEllipseEllipse(a: Renderable, ellipseA: Ellipse, b: Renderable, ellipseB: Ellipse, response?: Response | undefined): boolean;
|
|
23
|
+
export function testEllipseEllipse(a: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseA: Ellipse, b: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseB: Ellipse, response?: Response | undefined): boolean;
|
|
24
24
|
/**
|
|
25
25
|
* Check if a polygon and an ellipse collide.
|
|
26
26
|
* @ignore
|
|
27
|
-
* @param {Renderable} a - a reference to the object A.
|
|
27
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
|
|
28
28
|
* @param {Polygon} polyA - a reference to the object A Polygon to be tested
|
|
29
|
-
* @param {Renderable} b - a reference to the object B.
|
|
29
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
|
|
30
30
|
* @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
|
|
31
31
|
* @param {Response=} response - Response object (optional) that will be populated if they intersect.
|
|
32
32
|
* @returns {boolean} true if they intersect, false if they don't.
|
|
33
33
|
*/
|
|
34
|
-
export function testPolygonEllipse(a: Renderable, polyA: Polygon, b: Renderable, ellipseB: Ellipse, response?: Response | undefined): boolean;
|
|
34
|
+
export function testPolygonEllipse(a: Renderable | Container | Entity | Sprite | NineSliceSprite, polyA: Polygon, b: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseB: Ellipse, response?: Response | undefined): boolean;
|
|
35
35
|
/**
|
|
36
36
|
* Check if an ellipse and a polygon collide. <br>
|
|
37
37
|
* **NOTE:** This is slightly less efficient than testPolygonEllipse as it just
|
|
38
38
|
* runs testPolygonEllipse and reverses the response at the end.
|
|
39
39
|
* @ignore
|
|
40
|
-
* @param {Renderable} a - a reference to the object A.
|
|
40
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
|
|
41
41
|
* @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
|
|
42
|
-
* @param {Renderable} b - a reference to the object B.
|
|
42
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
|
|
43
43
|
* @param {Polygon} polyB - a reference to the object B Polygon to be tested
|
|
44
44
|
* @param {Response=} response - Response object (optional) that will be populated if
|
|
45
45
|
* they intersect.
|
|
46
46
|
* @returns {boolean} true if they intersect, false if they don't.
|
|
47
47
|
*/
|
|
48
|
-
export function testEllipsePolygon(a: Renderable, ellipseA: Ellipse, b: Renderable, polyB: Polygon, response?: Response | undefined): boolean;
|
|
48
|
+
export function testEllipsePolygon(a: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseA: Ellipse, b: Renderable | Container | Entity | Sprite | NineSliceSprite, polyB: Polygon, response?: Response | undefined): boolean;
|
|
@@ -1,10 +1,65 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @
|
|
4
|
-
* @
|
|
2
|
+
* patch a melonJS function
|
|
3
|
+
* @name patch
|
|
4
|
+
* @memberof plugin
|
|
5
|
+
* @param {object} proto - target object
|
|
6
|
+
* @param {string} name - target function
|
|
7
|
+
* @param {Function} fn - replacement function
|
|
8
|
+
* @example
|
|
9
|
+
* // redefine the me.game.update function with a new one
|
|
10
|
+
* me.plugin.patch(me.game, "update", function () {
|
|
11
|
+
* // display something in the console
|
|
12
|
+
* console.log("duh");
|
|
13
|
+
* // call the original me.game.update function
|
|
14
|
+
* this._patched();
|
|
15
|
+
* });
|
|
5
16
|
*/
|
|
6
|
-
export
|
|
17
|
+
export function patch(proto: object, name: string, fn: Function): void;
|
|
18
|
+
/**
|
|
19
|
+
* Register a plugin.
|
|
20
|
+
* @name register
|
|
21
|
+
* @memberof plugin
|
|
22
|
+
* @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register
|
|
23
|
+
* @param {string} [name=plugin.constructor.name] - a unique name for this plugin
|
|
24
|
+
* @param {object} [...arguments] - all extra parameters will be passed to the plugin constructor
|
|
25
|
+
* @example
|
|
26
|
+
* // register a new plugin
|
|
27
|
+
* me.plugin.register(TestPlugin, "testPlugin");
|
|
28
|
+
* // the plugin then also become available
|
|
29
|
+
* // under then me.plugins namespace
|
|
30
|
+
* me.plugins.testPlugin.myfunction ();
|
|
31
|
+
*/
|
|
32
|
+
export function register(plugin: plugin.BasePlugin, name?: string | undefined, ...args: any[]): void;
|
|
33
|
+
/**
|
|
34
|
+
* Contains all registered plugins.
|
|
35
|
+
* @name cache
|
|
36
|
+
* @memberof plugin
|
|
37
|
+
*/
|
|
38
|
+
export let cache: {};
|
|
7
39
|
/**
|
|
8
40
|
* @namespace plugin
|
|
9
41
|
*/
|
|
10
|
-
|
|
42
|
+
/**
|
|
43
|
+
* a base Object class for plugin
|
|
44
|
+
* (plugin must be installed using the register function)
|
|
45
|
+
* @class
|
|
46
|
+
* @name BasePlugin
|
|
47
|
+
* @memberof plugin
|
|
48
|
+
*/
|
|
49
|
+
export class BasePlugin {
|
|
50
|
+
/**
|
|
51
|
+
* define the minimum required version of melonJS<br>
|
|
52
|
+
* this can be overridden by the plugin
|
|
53
|
+
* @type {string}
|
|
54
|
+
* @default "__VERSION__"
|
|
55
|
+
*/
|
|
56
|
+
version: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @class
|
|
60
|
+
* @name Base
|
|
61
|
+
* @memberof plugin
|
|
62
|
+
* @deprecated since 15.1.6, see {@link plugin.BasePlugin}
|
|
63
|
+
*/
|
|
64
|
+
export class Base extends BasePlugin {
|
|
65
|
+
}
|
|
@@ -93,19 +93,19 @@ export default class Container extends Renderable {
|
|
|
93
93
|
* will not be in any container. <br>
|
|
94
94
|
* if the given child implements a onActivateEvent method, that method will be called
|
|
95
95
|
* once the child is added to this container.
|
|
96
|
-
* @param {Renderable} child
|
|
96
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
97
97
|
* @param {number} [z] - forces the z index of the child to the specified value
|
|
98
98
|
* @returns {Renderable} the added child
|
|
99
99
|
*/
|
|
100
|
-
addChild(child: Renderable, z?: number | undefined): Renderable;
|
|
100
|
+
addChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, z?: number | undefined): Renderable;
|
|
101
101
|
/**
|
|
102
102
|
* Add a child to the container at the specified index<br>
|
|
103
103
|
* (the list won't be sorted after insertion)
|
|
104
|
-
* @param {Renderable} child
|
|
104
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
105
105
|
* @param {number} index
|
|
106
106
|
* @returns {Renderable} the added child
|
|
107
107
|
*/
|
|
108
|
-
addChildAt(child: Renderable, index: number): Renderable;
|
|
108
|
+
addChildAt(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, index: number): Renderable;
|
|
109
109
|
/**
|
|
110
110
|
* The forEach() method executes a provided function once per child element. <br>
|
|
111
111
|
* the callback function is invoked with three arguments: <br>
|
|
@@ -127,10 +127,10 @@ export default class Container extends Renderable {
|
|
|
127
127
|
forEach(callback: Function, thisArg?: object | undefined, ...args: any[]): void;
|
|
128
128
|
/**
|
|
129
129
|
* Swaps the position (z-index) of 2 children
|
|
130
|
-
* @param {Renderable} child
|
|
131
|
-
* @param {Renderable} child2
|
|
130
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
131
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child2
|
|
132
132
|
*/
|
|
133
|
-
swapChildren(child: Renderable, child2: Renderable): void;
|
|
133
|
+
swapChildren(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, child2: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
|
|
134
134
|
/**
|
|
135
135
|
* Returns the Child at the specified index
|
|
136
136
|
* @param {number} index
|
|
@@ -139,22 +139,22 @@ export default class Container extends Renderable {
|
|
|
139
139
|
getChildAt(index: number): Renderable;
|
|
140
140
|
/**
|
|
141
141
|
* Returns the index of the given Child
|
|
142
|
-
* @param {Renderable} child
|
|
142
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
143
143
|
* @returns {number} index
|
|
144
144
|
*/
|
|
145
|
-
getChildIndex(child: Renderable): number;
|
|
145
|
+
getChildIndex(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): number;
|
|
146
146
|
/**
|
|
147
147
|
* Returns the next child within the container or undefined if none
|
|
148
|
-
* @param {Renderable} child
|
|
148
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
149
149
|
* @returns {Renderable} child
|
|
150
150
|
*/
|
|
151
|
-
getNextChild(child: Renderable): Renderable;
|
|
151
|
+
getNextChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): Renderable;
|
|
152
152
|
/**
|
|
153
153
|
* Returns true if contains the specified Child
|
|
154
|
-
* @param {Renderable} child
|
|
154
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
155
155
|
* @returns {boolean}
|
|
156
156
|
*/
|
|
157
|
-
hasChild(child: Renderable): boolean;
|
|
157
|
+
hasChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): boolean;
|
|
158
158
|
/**
|
|
159
159
|
* return the child corresponding to the given property and value.<br>
|
|
160
160
|
* note : avoid calling this function every frame since
|
|
@@ -223,18 +223,18 @@ export default class Container extends Renderable {
|
|
|
223
223
|
/**
|
|
224
224
|
* Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
|
|
225
225
|
* if the given child implements a onDeactivateEvent() method, that method will be called once the child is removed from this container.
|
|
226
|
-
* @param {
|
|
226
|
+
* @param {RendRenderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapTexterable} child
|
|
227
227
|
* @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
|
|
228
228
|
*/
|
|
229
|
-
removeChild(child:
|
|
229
|
+
removeChild(child: RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable, keepalive?: boolean | undefined): void;
|
|
230
230
|
/**
|
|
231
231
|
* Removes (and optionally destroys) a child from the container.<br>
|
|
232
232
|
* (removal is immediate and unconditional)<br>
|
|
233
233
|
* Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
|
|
234
|
-
* @param {Renderable} child
|
|
234
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
235
235
|
* @param {boolean} [keepalive=False] - True to prevent calling child.destroy()
|
|
236
236
|
*/
|
|
237
|
-
removeChildNow(child: Renderable, keepalive?: boolean | undefined): void;
|
|
237
|
+
removeChildNow(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, keepalive?: boolean | undefined): void;
|
|
238
238
|
/**
|
|
239
239
|
* Automatically set the specified property of all childs to the given value
|
|
240
240
|
* @param {string} prop - property name
|
|
@@ -244,24 +244,24 @@ export default class Container extends Renderable {
|
|
|
244
244
|
setChildsProperty(prop: string, value: object, recursive?: boolean | undefined): void;
|
|
245
245
|
/**
|
|
246
246
|
* Move the child in the group one step forward (z depth).
|
|
247
|
-
* @param {Renderable} child
|
|
247
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
248
248
|
*/
|
|
249
|
-
moveUp(child: Renderable): void;
|
|
249
|
+
moveUp(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
|
|
250
250
|
/**
|
|
251
251
|
* Move the child in the group one step backward (z depth).
|
|
252
|
-
* @param {Renderable} child
|
|
252
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
253
253
|
*/
|
|
254
|
-
moveDown(child: Renderable): void;
|
|
254
|
+
moveDown(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
|
|
255
255
|
/**
|
|
256
256
|
* Move the specified child to the top(z depth).
|
|
257
|
-
* @param {Renderable} child
|
|
257
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
258
258
|
*/
|
|
259
|
-
moveToTop(child: Renderable): void;
|
|
259
|
+
moveToTop(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
|
|
260
260
|
/**
|
|
261
261
|
* Move the specified child the bottom (z depth).
|
|
262
|
-
* @param {Renderable} child
|
|
262
|
+
* @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
|
|
263
263
|
*/
|
|
264
|
-
moveToBottom(child: Renderable): void;
|
|
264
|
+
moveToBottom(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
|
|
265
265
|
/**
|
|
266
266
|
* Manually trigger the sort of all the childs in the container</p>
|
|
267
267
|
* @param {boolean} [recursive=false] - recursively sort all containers if true
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* A Draggable base object
|
|
4
|
+
* @see DropTarget
|
|
5
|
+
* @augments Renderable
|
|
6
|
+
*/
|
|
7
|
+
export class Draggable extends Renderable {
|
|
8
|
+
dragging: boolean;
|
|
9
|
+
dragId: any;
|
|
10
|
+
grabOffset: Vector2d;
|
|
11
|
+
/**
|
|
12
|
+
* Initializes the events the modules needs to listen to
|
|
13
|
+
* It translates the pointer events to me.events
|
|
14
|
+
* in order to make them pass through the system and to make
|
|
15
|
+
* this module testable. Then we subscribe this module to the
|
|
16
|
+
* transformed events.
|
|
17
|
+
* @name initEvents
|
|
18
|
+
* @memberof Draggable
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
private initEvents;
|
|
22
|
+
/**
|
|
23
|
+
* Gets called when the user starts dragging the entity
|
|
24
|
+
* @name dragStart
|
|
25
|
+
* @memberof Draggable
|
|
26
|
+
* @param {object} e - the pointer event
|
|
27
|
+
* @returns {boolean} false if the object is being dragged
|
|
28
|
+
*/
|
|
29
|
+
dragStart(e: object): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Gets called when the user drags this entity around
|
|
32
|
+
* @name dragMove
|
|
33
|
+
* @memberof Draggable
|
|
34
|
+
* @param {object} e - the pointer event
|
|
35
|
+
*/
|
|
36
|
+
dragMove(e: object): void;
|
|
37
|
+
/**
|
|
38
|
+
* Gets called when the user stops dragging the entity
|
|
39
|
+
* @name dragEnd
|
|
40
|
+
* @memberof Draggable
|
|
41
|
+
* @returns {boolean} false if the object stopped being dragged
|
|
42
|
+
*/
|
|
43
|
+
dragEnd(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Destructor
|
|
46
|
+
* @name destroy
|
|
47
|
+
* @memberof Draggable
|
|
48
|
+
* @ignore
|
|
49
|
+
*/
|
|
50
|
+
destroy(): void;
|
|
51
|
+
}
|
|
52
|
+
import Renderable from "./../renderable/renderable.js";
|
|
53
|
+
import Vector2d from "./../math/vector2.js";
|
|
@@ -1,54 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @classdesc
|
|
3
|
-
* A Draggable base object
|
|
4
|
-
* @see DropTarget
|
|
5
|
-
* @augments Renderable
|
|
6
|
-
*/
|
|
7
|
-
export class Draggable extends Renderable {
|
|
8
|
-
dragging: boolean;
|
|
9
|
-
dragId: any;
|
|
10
|
-
grabOffset: Vector2d;
|
|
11
|
-
/**
|
|
12
|
-
* Initializes the events the modules needs to listen to
|
|
13
|
-
* It translates the pointer events to me.events
|
|
14
|
-
* in order to make them pass through the system and to make
|
|
15
|
-
* this module testable. Then we subscribe this module to the
|
|
16
|
-
* transformed events.
|
|
17
|
-
* @name initEvents
|
|
18
|
-
* @memberof Draggable
|
|
19
|
-
* @private
|
|
20
|
-
*/
|
|
21
|
-
private initEvents;
|
|
22
|
-
/**
|
|
23
|
-
* Gets called when the user starts dragging the entity
|
|
24
|
-
* @name dragStart
|
|
25
|
-
* @memberof Draggable
|
|
26
|
-
* @param {object} e - the pointer event
|
|
27
|
-
* @returns {boolean} false if the object is being dragged
|
|
28
|
-
*/
|
|
29
|
-
dragStart(e: object): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Gets called when the user drags this entity around
|
|
32
|
-
* @name dragMove
|
|
33
|
-
* @memberof Draggable
|
|
34
|
-
* @param {object} e - the pointer event
|
|
35
|
-
*/
|
|
36
|
-
dragMove(e: object): void;
|
|
37
|
-
/**
|
|
38
|
-
* Gets called when the user stops dragging the entity
|
|
39
|
-
* @name dragEnd
|
|
40
|
-
* @memberof Draggable
|
|
41
|
-
* @returns {boolean} false if the object stopped being dragged
|
|
42
|
-
*/
|
|
43
|
-
dragEnd(): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Destructor
|
|
46
|
-
* @name destroy
|
|
47
|
-
* @memberof Draggable
|
|
48
|
-
* @ignore
|
|
49
|
-
*/
|
|
50
|
-
destroy(): void;
|
|
51
|
-
}
|
|
52
1
|
/**
|
|
53
2
|
* @classdesc
|
|
54
3
|
* a base drop target object
|
|
@@ -115,4 +64,3 @@ export class DropTarget extends Renderable {
|
|
|
115
64
|
destroy(): void;
|
|
116
65
|
}
|
|
117
66
|
import Renderable from "./../renderable/renderable.js";
|
|
118
|
-
import Vector2d from "./../math/vector2.js";
|
|
@@ -380,7 +380,7 @@ export default class Renderable extends Rect {
|
|
|
380
380
|
* onCollision callback, triggered in case of collision,
|
|
381
381
|
* when this renderable body is colliding with another one
|
|
382
382
|
* @param {ResponseObject} response - the collision response object
|
|
383
|
-
* @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
383
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
384
384
|
* @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
|
|
385
385
|
* @example
|
|
386
386
|
* // colision handler
|
|
@@ -396,7 +396,7 @@ export default class Renderable extends Rect {
|
|
|
396
396
|
* return true;
|
|
397
397
|
* },
|
|
398
398
|
*/
|
|
399
|
-
onCollision(response: ResponseObject, other: Renderable): boolean;
|
|
399
|
+
onCollision(response: ResponseObject, other: Renderable | Container | Entity | Sprite | NineSliceSprite): boolean;
|
|
400
400
|
/**
|
|
401
401
|
* Destroy function<br>
|
|
402
402
|
* @ignore
|
|
@@ -1,17 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Compare two version strings
|
|
3
|
+
* @public
|
|
4
|
+
* @memberof utils
|
|
5
|
+
* @name checkVersion
|
|
6
|
+
* @param {string} first - First version string to compare
|
|
7
|
+
* @param {string} second - second version string to compare
|
|
8
|
+
* @returns {number} comparison result <br>< 0 : first < second<br>
|
|
9
|
+
* 0 : first == second<br>
|
|
10
|
+
* > 0 : first > second
|
|
11
|
+
* @example
|
|
12
|
+
* if (me.utils.checkVersion("7.0.0") > 0) {
|
|
13
|
+
* console.error(
|
|
14
|
+
* "melonJS is too old. Expected: 7.0.0, Got: 6.3.0"
|
|
15
|
+
* );
|
|
16
|
+
* }
|
|
17
|
+
*/
|
|
18
|
+
export function checkVersion(first: string, second: string): number;
|
|
19
|
+
/**
|
|
20
|
+
* parse the fragment (hash) from a URL and returns them into
|
|
21
|
+
* @public
|
|
22
|
+
* @memberof utils
|
|
23
|
+
* @name getUriFragment
|
|
24
|
+
* @param {string} [url=document.location] - an optional params string or URL containing fragment (hash) params to be parsed
|
|
25
|
+
* @returns {object} an object representing the deserialized params string.
|
|
26
|
+
* @property {boolean} [hitbox=false] draw the hitbox in the debug panel (if enabled)
|
|
27
|
+
* @property {boolean} [velocity=false] draw the entities velocity in the debug panel (if enabled)
|
|
28
|
+
* @property {boolean} [quadtree=false] draw the quadtree in the debug panel (if enabled)
|
|
29
|
+
* @property {boolean} [webgl=false] force the renderer to WebGL
|
|
30
|
+
* @property {boolean} [debug=false] display the debug panel (if preloaded)
|
|
31
|
+
* @property {string} [debugToggleKey="s"] show/hide the debug panel (if preloaded)
|
|
32
|
+
* @example
|
|
33
|
+
* // http://www.example.com/index.html#debug&hitbox=true&mytag=value
|
|
34
|
+
* let UriFragment = me.utils.getUriFragment();
|
|
35
|
+
* console.log(UriFragment["mytag"]); //> "value"
|
|
36
|
+
*/
|
|
37
|
+
export function getUriFragment(url?: string | undefined): object;
|
|
38
|
+
/**
|
|
39
|
+
* reset the GUID Base Name
|
|
40
|
+
* the idea here being to have a unique ID
|
|
41
|
+
* per level / object
|
|
42
|
+
* @ignore
|
|
43
|
+
*/
|
|
44
|
+
export function resetGUID(base: any, index?: number): void;
|
|
45
|
+
/**
|
|
46
|
+
* create and return a very simple GUID
|
|
47
|
+
* Game Unique ID
|
|
48
|
+
* @ignore
|
|
49
|
+
*/
|
|
50
|
+
export function createGUID(index?: number): string;
|
|
51
|
+
export * as agent from "./agent.js";
|
|
52
|
+
export * as array from "./array.js";
|
|
53
|
+
export * as file from "./file.js";
|
|
54
|
+
export * as string from "./string.js";
|
|
55
|
+
export * as _function from "./function.js";
|
|
56
|
+
export { _function as function };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "melonjs",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.2.0",
|
|
4
4
|
"description": "melonJS Game Engine",
|
|
5
5
|
"homepage": "http://www.melonjs.org/",
|
|
6
6
|
"type": "module",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@teppeis/multimaps": "^3.0.0",
|
|
56
|
-
"core-js": "^3.30.
|
|
56
|
+
"core-js": "^3.30.2",
|
|
57
57
|
"earcut": "2.2.4",
|
|
58
58
|
"eventemitter3": "^5.0.1",
|
|
59
59
|
"howler": "2.2.3"
|
|
@@ -68,21 +68,21 @@
|
|
|
68
68
|
"@rollup/plugin-node-resolve": "^15.0.2",
|
|
69
69
|
"@rollup/plugin-replace": "^5.0.2",
|
|
70
70
|
"@webdoc/cli": "^2.2.0",
|
|
71
|
-
"chromedriver": "^
|
|
71
|
+
"chromedriver": "^113.0.0",
|
|
72
72
|
"cross-env": "^7.0.3",
|
|
73
73
|
"del-cli": "^5.0.0",
|
|
74
|
-
"eslint": "^8.
|
|
75
|
-
"eslint-plugin-jsdoc": "^
|
|
74
|
+
"eslint": "^8.40.0",
|
|
75
|
+
"eslint-plugin-jsdoc": "^44.2.3",
|
|
76
76
|
"expect": "^29.5.0",
|
|
77
77
|
"expect-mocha-image-snapshot": "^3.0.13",
|
|
78
78
|
"fastify": "^4.17.0",
|
|
79
79
|
"mocha": "^10.2.0",
|
|
80
80
|
"npm-self-link": "^1.1.7",
|
|
81
|
-
"puppeteer": "^20.
|
|
82
|
-
"rollup": "^3.21.
|
|
81
|
+
"puppeteer": "^20.2.0",
|
|
82
|
+
"rollup": "^3.21.6",
|
|
83
83
|
"rollup-plugin-bundle-size": "^1.0.3",
|
|
84
84
|
"rollup-plugin-string": "^3.0.0",
|
|
85
|
-
"terser": "^5.17.
|
|
85
|
+
"terser": "^5.17.3",
|
|
86
86
|
"typescript": "^5.0.4"
|
|
87
87
|
},
|
|
88
88
|
"scripts": {
|
|
@@ -2,7 +2,7 @@ import { autoDetectRenderer } from "../video/utils/autodetect.js";
|
|
|
2
2
|
import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
|
|
3
3
|
import * as device from "./../system/device.js";
|
|
4
4
|
import * as event from "./../system/event.js";
|
|
5
|
-
import
|
|
5
|
+
import { getUriFragment } from "./../utils/utils.js";
|
|
6
6
|
import timer from "./../system/timer.js";
|
|
7
7
|
import state from "./../state/state.js";
|
|
8
8
|
import World from "./../physics/world.js";
|
|
@@ -149,7 +149,7 @@ import { CANVAS, WEBGL, AUTO } from "../const.js";
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
// override renderer settings if &webgl or &canvas is defined in the URL
|
|
152
|
-
let uriFragment =
|
|
152
|
+
let uriFragment = getUriFragment();
|
|
153
153
|
if (uriFragment.webgl === true || uriFragment.webgl1 === true || uriFragment.webgl2 === true) {
|
|
154
154
|
this.settings.renderer = WEBGL;
|
|
155
155
|
if (uriFragment.webgl1 === true) {
|
package/src/camera/camera2d.js
CHANGED
|
@@ -574,7 +574,7 @@ let targetV = new Vector2d();
|
|
|
574
574
|
* set the camera position around the specified object
|
|
575
575
|
* @name focusOn
|
|
576
576
|
* @memberof Camera2d
|
|
577
|
-
* @param {Renderable} target - the renderable to focus the camera on
|
|
577
|
+
* @param {Renderable|Entity|Sprite|NineSliceSprite} target - the renderable to focus the camera on
|
|
578
578
|
*/
|
|
579
579
|
focusOn(target) {
|
|
580
580
|
let bounds = target.getBounds();
|
|
@@ -588,7 +588,7 @@ let targetV = new Vector2d();
|
|
|
588
588
|
* check if the specified renderable is in the camera
|
|
589
589
|
* @name isVisible
|
|
590
590
|
* @memberof Camera2d
|
|
591
|
-
* @param {Renderable} obj - to be checked against
|
|
591
|
+
* @param {Renderable|Entity|Sprite|NineSliceSprite} obj - to be checked against
|
|
592
592
|
* @param {boolean} [floating = obj.floating] - if visibility check should be done against screen coordinates
|
|
593
593
|
* @returns {boolean}
|
|
594
594
|
*/
|