melonjs 15.1.5 → 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 +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 +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 +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 +1 -1
- 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 +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 +1 -1
- 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 +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 +14 -14
- 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 +1 -1
- 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 +1 -1
- 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 +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 +60 -55
- package/dist/types/camera/camera2d.d.ts +4 -4
- package/dist/types/index.d.ts +1 -1
- 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 +2 -2
- package/package.json +8 -8
- package/src/camera/camera2d.js +2 -2
- package/src/index.js +2 -1
- package/src/lang/deprecated.js +2 -1
- package/src/physics/body.js +2 -2
- package/src/physics/detector.js +3 -3
- package/src/physics/sat.js +8 -8
- package/src/renderable/container.js +13 -13
- 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
|
@@ -1,115 +1,6 @@
|
|
|
1
|
-
import Vector2d from "./../math/vector2.js";
|
|
2
|
-
import * as input from "./../input/input.js";
|
|
3
1
|
import * as event from "./../system/event.js";
|
|
4
2
|
import Renderable from "./../renderable/renderable.js";
|
|
5
3
|
|
|
6
|
-
/**
|
|
7
|
-
* @classdesc
|
|
8
|
-
* A Draggable base object
|
|
9
|
-
* @see DropTarget
|
|
10
|
-
* @augments Renderable
|
|
11
|
-
*/
|
|
12
|
-
export class Draggable extends Renderable {
|
|
13
|
-
/**
|
|
14
|
-
* @param {number} x - the x coordinates of the draggable object
|
|
15
|
-
* @param {number} y - the y coordinates of the draggable object
|
|
16
|
-
* @param {number} width - draggable object width
|
|
17
|
-
* @param {number} height - draggable object height
|
|
18
|
-
*/
|
|
19
|
-
constructor(x, y, width, height) {
|
|
20
|
-
super(x, y, width, height);
|
|
21
|
-
this.isKinematic = false;
|
|
22
|
-
this.dragging = false;
|
|
23
|
-
this.dragId = null;
|
|
24
|
-
this.grabOffset = new Vector2d(0, 0);
|
|
25
|
-
this.initEvents();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Initializes the events the modules needs to listen to
|
|
30
|
-
* It translates the pointer events to me.events
|
|
31
|
-
* in order to make them pass through the system and to make
|
|
32
|
-
* this module testable. Then we subscribe this module to the
|
|
33
|
-
* transformed events.
|
|
34
|
-
* @name initEvents
|
|
35
|
-
* @memberof Draggable
|
|
36
|
-
* @private
|
|
37
|
-
*/
|
|
38
|
-
initEvents() {
|
|
39
|
-
input.registerPointerEvent("pointerdown", this, (e) => event.emit(event.DRAGSTART, e, this));
|
|
40
|
-
input.registerPointerEvent("pointerup", this, (e) => event.emit(event.DRAGEND, e, this));
|
|
41
|
-
input.registerPointerEvent("pointercancel", this, (e) => event.emit(event.DRAGEND, e, this));
|
|
42
|
-
event.on(event.POINTERMOVE, (e) => this.dragMove(e));
|
|
43
|
-
event.on(event.DRAGSTART, (e, draggable) => {
|
|
44
|
-
if (draggable === this) {
|
|
45
|
-
this.dragStart(e);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
event.on(event.DRAGEND, (e, draggable) => {
|
|
49
|
-
if (draggable === this) {
|
|
50
|
-
this.dragEnd(e);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Gets called when the user starts dragging the entity
|
|
57
|
-
* @name dragStart
|
|
58
|
-
* @memberof Draggable
|
|
59
|
-
* @param {object} e - the pointer event
|
|
60
|
-
* @returns {boolean} false if the object is being dragged
|
|
61
|
-
*/
|
|
62
|
-
dragStart(e) {
|
|
63
|
-
if (this.dragging === false) {
|
|
64
|
-
this.dragging = true;
|
|
65
|
-
this.grabOffset.set(e.gameX, e.gameY);
|
|
66
|
-
this.grabOffset.sub(this.pos);
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Gets called when the user drags this entity around
|
|
73
|
-
* @name dragMove
|
|
74
|
-
* @memberof Draggable
|
|
75
|
-
* @param {object} e - the pointer event
|
|
76
|
-
*/
|
|
77
|
-
dragMove(e) {
|
|
78
|
-
if (this.dragging === true) {
|
|
79
|
-
this.pos.set(e.gameX, e.gameY, this.pos.z); //TODO : z ?
|
|
80
|
-
this.pos.sub(this.grabOffset);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Gets called when the user stops dragging the entity
|
|
86
|
-
* @name dragEnd
|
|
87
|
-
* @memberof Draggable
|
|
88
|
-
* @returns {boolean} false if the object stopped being dragged
|
|
89
|
-
*/
|
|
90
|
-
dragEnd() {
|
|
91
|
-
if (this.dragging === true) {
|
|
92
|
-
this.dragging = false;
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Destructor
|
|
99
|
-
* @name destroy
|
|
100
|
-
* @memberof Draggable
|
|
101
|
-
* @ignore
|
|
102
|
-
*/
|
|
103
|
-
destroy() {
|
|
104
|
-
event.off(event.POINTERMOVE, this.dragMove);
|
|
105
|
-
event.off(event.DRAGSTART, this.dragStart);
|
|
106
|
-
event.off(event.DRAGEND, this.dragEnd);
|
|
107
|
-
input.releasePointerEvent("pointerdown", this);
|
|
108
|
-
input.releasePointerEvent("pointerup", this);
|
|
109
|
-
input.releasePointerEvent("pointercancel", this);
|
|
110
|
-
super.destroy();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
4
|
|
|
114
5
|
/**
|
|
115
6
|
* @classdesc
|
|
@@ -725,7 +725,7 @@ import Color from "./../math/color.js";
|
|
|
725
725
|
* onCollision callback, triggered in case of collision,
|
|
726
726
|
* when this renderable body is colliding with another one
|
|
727
727
|
* @param {ResponseObject} response - the collision response object
|
|
728
|
-
* @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
728
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
729
729
|
* @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
|
|
730
730
|
* @example
|
|
731
731
|
* // colision handler
|
|
@@ -136,7 +136,7 @@ import pool from "./../system/pooling.js";
|
|
|
136
136
|
* @name onCollision
|
|
137
137
|
* @memberof Trigger
|
|
138
138
|
* @param {ResponseObject} response - the collision response object
|
|
139
|
-
* @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
139
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
140
140
|
* @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
|
|
141
141
|
*/
|
|
142
142
|
onCollision(response, other) { // eslint-disable-line no-unused-vars
|