melonjs 15.1.4 → 15.1.6
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 +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 +1 -1
- 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 +3 -6
- 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 +5 -5
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +3 -3
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +4 -3
- 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 +10 -10
- 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 +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +4 -4
- 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 +1 -1
- 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 +4 -4
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
- 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 +2 -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 +4 -3
- 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 +2 -2
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +5 -5
- package/dist/melonjs.mjs/physics/quadtree.js +2 -2
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +13 -12
- package/dist/melonjs.mjs/physics/world.js +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- 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 +48 -38
- 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 +7 -10
- 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 +7 -4
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +8 -2
- 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 +1 -1
- package/dist/melonjs.mjs/text/bitmaptext.js +3 -3
- 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 +2 -2
- 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 +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -6
- 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 +2 -2
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +1 -1
- 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 +153 -135
- package/dist/types/camera/camera2d.d.ts +4 -4
- package/dist/types/index.d.ts +1 -1
- package/dist/types/loader/loader.d.ts +9 -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/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 +3 -3
- package/package.json +11 -11
- package/src/camera/camera2d.js +2 -2
- package/src/entity/entity.js +2 -5
- package/src/geometries/path2d.js +4 -4
- package/src/geometries/poly.js +2 -2
- package/src/index.js +2 -1
- package/src/input/pointerevent.js +9 -9
- package/src/lang/deprecated.js +2 -1
- package/src/level/tiled/TMXLayer.js +3 -3
- package/src/level/tiled/TMXUtils.js +3 -3
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/src/loader/loader.js +3 -2
- package/src/physics/body.js +2 -2
- package/src/physics/bounds.js +1 -1
- package/src/physics/detector.js +4 -4
- package/src/physics/quadtree.js +1 -1
- package/src/physics/sat.js +11 -11
- package/src/renderable/container.js +47 -37
- package/src/renderable/draggable.js +114 -0
- package/src/renderable/dragndrop.js +0 -109
- package/src/renderable/renderable.js +6 -9
- package/src/renderable/trigger.js +1 -1
- package/src/renderable/ui/uibaseelement.js +6 -3
- package/src/renderable/ui/uispriteelement.js +7 -1
- package/src/text/bitmaptext.js +2 -2
- package/src/text/text.js +1 -1
- package/src/video/canvas/canvas_renderer.js +2 -5
- package/src/video/texture/canvas_texture.js +1 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
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 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
import Vector2d from '../math/vector2.js';
|
|
9
|
+
import { emit, DRAGSTART, DRAGEND, on, POINTERMOVE, off } from '../system/event.js';
|
|
10
|
+
import Renderable from './renderable.js';
|
|
11
|
+
import { registerPointerEvent, releasePointerEvent } from '../input/pointerevent.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @classdesc
|
|
15
|
+
* A Draggable base object
|
|
16
|
+
* @see DropTarget
|
|
17
|
+
* @augments Renderable
|
|
18
|
+
*/
|
|
19
|
+
class Draggable extends Renderable {
|
|
20
|
+
/**
|
|
21
|
+
* @param {number} x - the x coordinates of the draggable object
|
|
22
|
+
* @param {number} y - the y coordinates of the draggable object
|
|
23
|
+
* @param {number} width - draggable object width
|
|
24
|
+
* @param {number} height - draggable object height
|
|
25
|
+
*/
|
|
26
|
+
constructor(x, y, width, height) {
|
|
27
|
+
super(x, y, width, height);
|
|
28
|
+
this.isKinematic = false;
|
|
29
|
+
this.dragging = false;
|
|
30
|
+
this.dragId = null;
|
|
31
|
+
this.grabOffset = new Vector2d(0, 0);
|
|
32
|
+
this.initEvents();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Initializes the events the modules needs to listen to
|
|
37
|
+
* It translates the pointer events to me.events
|
|
38
|
+
* in order to make them pass through the system and to make
|
|
39
|
+
* this module testable. Then we subscribe this module to the
|
|
40
|
+
* transformed events.
|
|
41
|
+
* @name initEvents
|
|
42
|
+
* @memberof Draggable
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
initEvents() {
|
|
46
|
+
registerPointerEvent("pointerdown", this, (e) => emit(DRAGSTART, e, this));
|
|
47
|
+
registerPointerEvent("pointerup", this, (e) => emit(DRAGEND, e, this));
|
|
48
|
+
registerPointerEvent("pointercancel", this, (e) => emit(DRAGEND, e, this));
|
|
49
|
+
on(POINTERMOVE, (e) => this.dragMove(e));
|
|
50
|
+
on(DRAGSTART, (e, draggable) => {
|
|
51
|
+
if (draggable === this) {
|
|
52
|
+
this.dragStart(e);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
on(DRAGEND, (e, draggable) => {
|
|
56
|
+
if (draggable === this) {
|
|
57
|
+
this.dragEnd(e);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Gets called when the user starts dragging the entity
|
|
64
|
+
* @name dragStart
|
|
65
|
+
* @memberof Draggable
|
|
66
|
+
* @param {object} e - the pointer event
|
|
67
|
+
* @returns {boolean} false if the object is being dragged
|
|
68
|
+
*/
|
|
69
|
+
dragStart(e) {
|
|
70
|
+
if (this.dragging === false) {
|
|
71
|
+
this.dragging = true;
|
|
72
|
+
this.grabOffset.set(e.gameX, e.gameY);
|
|
73
|
+
this.grabOffset.sub(this.pos);
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Gets called when the user drags this entity around
|
|
80
|
+
* @name dragMove
|
|
81
|
+
* @memberof Draggable
|
|
82
|
+
* @param {object} e - the pointer event
|
|
83
|
+
*/
|
|
84
|
+
dragMove(e) {
|
|
85
|
+
if (this.dragging === true) {
|
|
86
|
+
this.pos.set(e.gameX, e.gameY, this.pos.z); //TODO : z ?
|
|
87
|
+
this.pos.sub(this.grabOffset);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Gets called when the user stops dragging the entity
|
|
93
|
+
* @name dragEnd
|
|
94
|
+
* @memberof Draggable
|
|
95
|
+
* @returns {boolean} false if the object stopped being dragged
|
|
96
|
+
*/
|
|
97
|
+
dragEnd() {
|
|
98
|
+
if (this.dragging === true) {
|
|
99
|
+
this.dragging = false;
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Destructor
|
|
106
|
+
* @name destroy
|
|
107
|
+
* @memberof Draggable
|
|
108
|
+
* @ignore
|
|
109
|
+
*/
|
|
110
|
+
destroy() {
|
|
111
|
+
off(POINTERMOVE, this.dragMove);
|
|
112
|
+
off(DRAGSTART, this.dragStart);
|
|
113
|
+
off(DRAGEND, this.dragEnd);
|
|
114
|
+
releasePointerEvent("pointerdown", this);
|
|
115
|
+
releasePointerEvent("pointerup", this);
|
|
116
|
+
releasePointerEvent("pointercancel", this);
|
|
117
|
+
super.destroy();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export { Draggable };
|
|
@@ -1,122 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
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
6
|
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
9
|
-
import { emit, DRAGSTART, DRAGEND, on, POINTERMOVE, off } from '../system/event.js';
|
|
8
|
+
import { on, DRAGEND, off } from '../system/event.js';
|
|
10
9
|
import Renderable from './renderable.js';
|
|
11
|
-
import { registerPointerEvent, releasePointerEvent } from '../input/pointerevent.js';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @classdesc
|
|
15
|
-
* A Draggable base object
|
|
16
|
-
* @see DropTarget
|
|
17
|
-
* @augments Renderable
|
|
18
|
-
*/
|
|
19
|
-
class Draggable extends Renderable {
|
|
20
|
-
/**
|
|
21
|
-
* @param {number} x - the x coordinates of the draggable object
|
|
22
|
-
* @param {number} y - the y coordinates of the draggable object
|
|
23
|
-
* @param {number} width - draggable object width
|
|
24
|
-
* @param {number} height - draggable object height
|
|
25
|
-
*/
|
|
26
|
-
constructor(x, y, width, height) {
|
|
27
|
-
super(x, y, width, height);
|
|
28
|
-
this.isKinematic = false;
|
|
29
|
-
this.dragging = false;
|
|
30
|
-
this.dragId = null;
|
|
31
|
-
this.grabOffset = new Vector2d(0, 0);
|
|
32
|
-
this.initEvents();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Initializes the events the modules needs to listen to
|
|
37
|
-
* It translates the pointer events to me.events
|
|
38
|
-
* in order to make them pass through the system and to make
|
|
39
|
-
* this module testable. Then we subscribe this module to the
|
|
40
|
-
* transformed events.
|
|
41
|
-
* @name initEvents
|
|
42
|
-
* @memberof Draggable
|
|
43
|
-
* @private
|
|
44
|
-
*/
|
|
45
|
-
initEvents() {
|
|
46
|
-
registerPointerEvent("pointerdown", this, (e) => emit(DRAGSTART, e, this));
|
|
47
|
-
registerPointerEvent("pointerup", this, (e) => emit(DRAGEND, e, this));
|
|
48
|
-
registerPointerEvent("pointercancel", this, (e) => emit(DRAGEND, e, this));
|
|
49
|
-
on(POINTERMOVE, (e) => this.dragMove(e));
|
|
50
|
-
on(DRAGSTART, (e, draggable) => {
|
|
51
|
-
if (draggable === this) {
|
|
52
|
-
this.dragStart(e);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
on(DRAGEND, (e, draggable) => {
|
|
56
|
-
if (draggable === this) {
|
|
57
|
-
this.dragEnd(e);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Gets called when the user starts dragging the entity
|
|
64
|
-
* @name dragStart
|
|
65
|
-
* @memberof Draggable
|
|
66
|
-
* @param {object} e - the pointer event
|
|
67
|
-
* @returns {boolean} false if the object is being dragged
|
|
68
|
-
*/
|
|
69
|
-
dragStart(e) {
|
|
70
|
-
if (this.dragging === false) {
|
|
71
|
-
this.dragging = true;
|
|
72
|
-
this.grabOffset.set(e.gameX, e.gameY);
|
|
73
|
-
this.grabOffset.sub(this.pos);
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Gets called when the user drags this entity around
|
|
80
|
-
* @name dragMove
|
|
81
|
-
* @memberof Draggable
|
|
82
|
-
* @param {object} e - the pointer event
|
|
83
|
-
*/
|
|
84
|
-
dragMove(e) {
|
|
85
|
-
if (this.dragging === true) {
|
|
86
|
-
this.pos.set(e.gameX, e.gameY, this.pos.z); //TODO : z ?
|
|
87
|
-
this.pos.sub(this.grabOffset);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Gets called when the user stops dragging the entity
|
|
93
|
-
* @name dragEnd
|
|
94
|
-
* @memberof Draggable
|
|
95
|
-
* @returns {boolean} false if the object stopped being dragged
|
|
96
|
-
*/
|
|
97
|
-
dragEnd() {
|
|
98
|
-
if (this.dragging === true) {
|
|
99
|
-
this.dragging = false;
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Destructor
|
|
106
|
-
* @name destroy
|
|
107
|
-
* @memberof Draggable
|
|
108
|
-
* @ignore
|
|
109
|
-
*/
|
|
110
|
-
destroy() {
|
|
111
|
-
off(POINTERMOVE, this.dragMove);
|
|
112
|
-
off(DRAGSTART, this.dragStart);
|
|
113
|
-
off(DRAGEND, this.dragEnd);
|
|
114
|
-
releasePointerEvent("pointerdown", this);
|
|
115
|
-
releasePointerEvent("pointerup", this);
|
|
116
|
-
releasePointerEvent("pointercancel", this);
|
|
117
|
-
super.destroy();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
10
|
|
|
121
11
|
/**
|
|
122
12
|
* @classdesc
|
|
@@ -221,4 +111,4 @@ class DropTarget extends Renderable {
|
|
|
221
111
|
}
|
|
222
112
|
}
|
|
223
113
|
|
|
224
|
-
export {
|
|
114
|
+
export { DropTarget };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -270,12 +270,12 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
|
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
/**
|
|
273
|
-
* Whether the renderable object is floating, or contained in a floating container
|
|
273
|
+
* Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
|
|
274
274
|
* @see Renderable#floating
|
|
275
275
|
* @type {boolean}
|
|
276
276
|
*/
|
|
277
277
|
get isFloating() {
|
|
278
|
-
return this.floating === true || (typeof this.ancestor !== "undefined" && this.ancestor.
|
|
278
|
+
return this.floating === true || (typeof this.ancestor !== "undefined" && this.ancestor.isFloating === true);
|
|
279
279
|
}
|
|
280
280
|
|
|
281
281
|
/**
|
|
@@ -584,11 +584,8 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
|
|
|
584
584
|
}
|
|
585
585
|
|
|
586
586
|
if (absolute === true) {
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
bounds.translate(this.ancestor.getAbsolutePosition());
|
|
590
|
-
}
|
|
591
|
-
|
|
587
|
+
var absPos = this.getAbsolutePosition();
|
|
588
|
+
bounds.centerOn(absPos.x + bounds.x + bounds.width / 2, absPos.y + bounds.y + bounds.height / 2);
|
|
592
589
|
}
|
|
593
590
|
return bounds;
|
|
594
591
|
|
|
@@ -617,7 +614,7 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
|
|
|
617
614
|
}
|
|
618
615
|
// XXX Cache me or something
|
|
619
616
|
this._absPos.set(this.pos.x, this.pos.y);
|
|
620
|
-
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.
|
|
617
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getAbsolutePosition === "function" && this.floating !== true) {
|
|
621
618
|
this._absPos.add(this.ancestor.getAbsolutePosition());
|
|
622
619
|
}
|
|
623
620
|
return this._absPos;
|
|
@@ -735,7 +732,7 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
|
|
|
735
732
|
* onCollision callback, triggered in case of collision,
|
|
736
733
|
* when this renderable body is colliding with another one
|
|
737
734
|
* @param {ResponseObject} response - the collision response object
|
|
738
|
-
* @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
735
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
739
736
|
* @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
|
|
740
737
|
* @example
|
|
741
738
|
* // colision handler
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -143,7 +143,7 @@ import pool from '../system/pooling.js';
|
|
|
143
143
|
* @name onCollision
|
|
144
144
|
* @memberof Trigger
|
|
145
145
|
* @param {ResponseObject} response - the collision response object
|
|
146
|
-
* @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
146
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
147
147
|
* @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
|
|
148
148
|
*/
|
|
149
149
|
onCollision(response, other) { // eslint-disable-line no-unused-vars
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -71,7 +71,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
73
|
* UI base elements use screen coordinates by default
|
|
74
|
-
* (Note: any child elements added to a UIBaseElement should
|
|
74
|
+
* (Note: any child elements added to a UIBaseElement should have their floating property to false)
|
|
75
75
|
* @see Renderable.floating
|
|
76
76
|
* @type {boolean}
|
|
77
77
|
* @default true
|
|
@@ -83,6 +83,9 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
83
83
|
|
|
84
84
|
// enable event detection
|
|
85
85
|
this.isKinematic = false;
|
|
86
|
+
|
|
87
|
+
// update container and children bounds automatically
|
|
88
|
+
this.enableChildBoundsUpdate = true;
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
/**
|
|
@@ -117,7 +120,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
117
120
|
* @returns {boolean} return false if we need to stop propagating the event
|
|
118
121
|
*/
|
|
119
122
|
onClick(event) { // eslint-disable-line no-unused-vars
|
|
120
|
-
return
|
|
123
|
+
return true;
|
|
121
124
|
}
|
|
122
125
|
|
|
123
126
|
/**
|
|
@@ -210,7 +213,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
210
213
|
* @returns {boolean} return false if we need to stop propagating the event
|
|
211
214
|
*/
|
|
212
215
|
onRelease() {
|
|
213
|
-
return
|
|
216
|
+
return true;
|
|
214
217
|
}
|
|
215
218
|
|
|
216
219
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -80,7 +80,13 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
80
80
|
this.holdTimeout = -1;
|
|
81
81
|
this.released = true;
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
/**
|
|
84
|
+
* if this UISpriteElement should use screen coordinates or local coordinates
|
|
85
|
+
* (Note: any UISpriteElement elements added to a floating parent container should have their floating property to false)
|
|
86
|
+
* @see Renderable.floating
|
|
87
|
+
* @type {boolean}
|
|
88
|
+
* @default true
|
|
89
|
+
*/
|
|
84
90
|
this.floating = true;
|
|
85
91
|
|
|
86
92
|
// enable event detection
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -239,7 +239,7 @@ import TextMetrics from './textmetrics.js';
|
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
if (absolute === true) {
|
|
242
|
-
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.
|
|
242
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getAbsolutePosition === "function" && this.floating !== true) {
|
|
243
243
|
bounds.translate(this.ancestor.getAbsolutePosition());
|
|
244
244
|
}
|
|
245
245
|
}
|
|
@@ -318,7 +318,7 @@ import TextMetrics from './textmetrics.js';
|
|
|
318
318
|
|
|
319
319
|
for (let i = 0; i < this._text.length; i++) {
|
|
320
320
|
x = lX;
|
|
321
|
-
|
|
321
|
+
const string = this._text[i].trimEnd();
|
|
322
322
|
// adjust x pos based on alignment value
|
|
323
323
|
let stringWidth = this.metrics.lineWidth(string);
|
|
324
324
|
switch (this.textAlign) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
2
|
+
* melonJS Game Engine - v15.1.6
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -382,7 +382,7 @@ const toPX = [12, 24, 0.75, 1];
|
|
|
382
382
|
setContextStyle(context, this);
|
|
383
383
|
|
|
384
384
|
for (let i = 0; i < text.length; i++) {
|
|
385
|
-
|
|
385
|
+
const string = text[i].trimEnd();
|
|
386
386
|
// draw the string
|
|
387
387
|
if (this.fillStyle.alpha > 0) {
|
|
388
388
|
context.fillText(string, x, y);
|