melonjs 10.1.1 → 10.2.3

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.
Files changed (92) hide show
  1. package/README.md +6 -10
  2. package/dist/melonjs.js +3114 -2866
  3. package/dist/melonjs.min.js +3 -3
  4. package/dist/melonjs.module.d.ts +2588 -2498
  5. package/dist/melonjs.module.js +2694 -2479
  6. package/package.json +10 -11
  7. package/src/audio/audio.js +43 -43
  8. package/src/camera/camera2d.js +52 -74
  9. package/src/entity/draggable.js +18 -17
  10. package/src/entity/droptarget.js +19 -18
  11. package/src/entity/entity.js +22 -26
  12. package/src/game.js +3 -3
  13. package/src/index.js +15 -11
  14. package/src/input/gamepad.js +13 -13
  15. package/src/input/input.js +1 -1
  16. package/src/input/keyboard.js +14 -16
  17. package/src/input/pointer.js +42 -35
  18. package/src/input/pointerevent.js +25 -33
  19. package/src/lang/deprecated.js +3 -3
  20. package/src/level/level.js +24 -16
  21. package/src/level/tiled/TMXGroup.js +6 -6
  22. package/src/level/tiled/TMXLayer.js +31 -31
  23. package/src/level/tiled/TMXObject.js +19 -19
  24. package/src/level/tiled/TMXTile.js +11 -12
  25. package/src/level/tiled/TMXTileMap.js +23 -21
  26. package/src/level/tiled/TMXTileset.js +13 -13
  27. package/src/level/tiled/TMXTilesetGroup.js +4 -4
  28. package/src/level/tiled/TMXUtils.js +13 -11
  29. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  30. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  31. package/src/level/tiled/renderer/TMXRenderer.js +17 -17
  32. package/src/loader/loader.js +31 -27
  33. package/src/loader/loadingscreen.js +44 -75
  34. package/src/math/color.js +45 -64
  35. package/src/math/math.js +17 -17
  36. package/src/math/matrix2.js +46 -46
  37. package/src/math/matrix3.js +64 -64
  38. package/src/math/observable_vector2.js +45 -57
  39. package/src/math/observable_vector3.js +56 -70
  40. package/src/math/vector2.js +60 -59
  41. package/src/math/vector3.js +65 -64
  42. package/src/particles/emitter.js +53 -55
  43. package/src/particles/particle.js +1 -1
  44. package/src/physics/body.js +45 -51
  45. package/src/physics/bounds.js +36 -36
  46. package/src/physics/collision.js +15 -16
  47. package/src/physics/detector.js +10 -11
  48. package/src/physics/quadtree.js +18 -16
  49. package/src/physics/sat.js +17 -17
  50. package/src/physics/world.js +12 -10
  51. package/src/plugin/plugin.js +6 -6
  52. package/src/renderable/GUI.js +13 -18
  53. package/src/renderable/collectable.js +3 -3
  54. package/src/renderable/colorlayer.js +4 -4
  55. package/src/renderable/container.js +64 -46
  56. package/src/renderable/imagelayer.js +30 -31
  57. package/src/renderable/nineslicesprite.js +158 -69
  58. package/src/renderable/renderable.js +68 -67
  59. package/src/renderable/sprite.js +57 -43
  60. package/src/renderable/trigger.js +14 -15
  61. package/src/shapes/ellipse.js +27 -26
  62. package/src/shapes/line.js +8 -7
  63. package/src/shapes/poly.js +33 -31
  64. package/src/shapes/rectangle.js +50 -96
  65. package/src/state/stage.js +8 -8
  66. package/src/state/state.js +56 -56
  67. package/src/system/device.js +97 -84
  68. package/src/system/event.js +72 -72
  69. package/src/system/pooling.js +14 -14
  70. package/src/system/save.js +6 -3
  71. package/src/system/timer.js +20 -20
  72. package/src/text/bitmaptext.js +27 -33
  73. package/src/text/bitmaptextdata.js +9 -9
  74. package/src/text/text.js +118 -59
  75. package/src/tweens/easing.js +4 -4
  76. package/src/tweens/interpolation.js +4 -4
  77. package/src/tweens/tween.js +37 -27
  78. package/src/utils/agent.js +9 -8
  79. package/src/utils/array.js +4 -4
  80. package/src/utils/file.js +4 -4
  81. package/src/utils/function.js +5 -5
  82. package/src/utils/string.js +12 -12
  83. package/src/utils/utils.js +19 -19
  84. package/src/video/canvas/canvas_renderer.js +90 -90
  85. package/src/video/renderer.js +40 -39
  86. package/src/video/texture.js +85 -76
  87. package/src/video/texture_cache.js +11 -0
  88. package/src/video/video.js +31 -31
  89. package/src/video/webgl/buffer/vertex.js +9 -1
  90. package/src/video/webgl/glshader.js +20 -20
  91. package/src/video/webgl/webgl_compositor.js +47 -46
  92. package/src/video/webgl/webgl_renderer.js +104 -104
@@ -9,12 +9,12 @@ import pool from "./../system/pooling.js";
9
9
  * @extends me.Vector3d
10
10
  * @memberOf me
11
11
  * @constructor
12
- * @param {Number} [x=0] x value of the vector
13
- * @param {Number} [y=0] y value of the vector
14
- * @param {Number} [z=0] z value of the vector
15
- * @param {Object} settings additional required parameters
12
+ * @param {number} [x=0] x value of the vector
13
+ * @param {number} [y=0] y value of the vector
14
+ * @param {number} [z=0] z value of the vector
15
+ * @param {object} settings additional required parameters
16
16
  * @param {Function} settings.onUpdate the callback to be executed when the vector is changed
17
- * @param {Object} [settings.scope] the value to use as this when calling onUpdate
17
+ * @param {object} [settings.scope] the value to use as this when calling onUpdate
18
18
  */
19
19
  class ObservableVector3d extends Vector3d {
20
20
 
@@ -43,20 +43,15 @@ class ObservableVector3d extends Vector3d {
43
43
  /**
44
44
  * x value of the vector
45
45
  * @public
46
- * @type Number
46
+ * @type {number}
47
47
  * @name x
48
48
  * @memberOf me.ObservableVector3d
49
49
  */
50
50
 
51
- /**
52
- * @ignore
53
- */
54
51
  get x() {
55
52
  return this._x;
56
53
  }
57
- /**
58
- * @ignore
59
- */
54
+
60
55
  set x(value) {
61
56
  var ret = this.onUpdate.call(this.scope, value, this._y, this._z, this._x, this._y, this._z);
62
57
  if (ret && "x" in ret) {
@@ -69,20 +64,15 @@ class ObservableVector3d extends Vector3d {
69
64
  /**
70
65
  * y value of the vector
71
66
  * @public
72
- * @type Number
67
+ * @type {number}
73
68
  * @name y
74
69
  * @memberOf me.ObservableVector3d
75
70
  */
76
71
 
77
- /**
78
- * @ignore
79
- */
80
72
  get y() {
81
73
  return this._y;
82
74
  }
83
- /**
84
- * @ignore
85
- */
75
+
86
76
  set y(value) {
87
77
  var ret = this.onUpdate.call(this.scope, this._x, value, this._z, this._x, this._y, this._z);
88
78
  if (ret && "y" in ret) {
@@ -96,20 +86,16 @@ class ObservableVector3d extends Vector3d {
96
86
  /**
97
87
  * z value of the vector
98
88
  * @public
99
- * @type Number
89
+ * @type {number}
100
90
  * @name z
101
91
  * @memberOf me.ObservableVector3d
102
92
  */
103
93
 
104
- /**
105
- * @ignore
106
- */
94
+
107
95
  get z() {
108
96
  return this._z;
109
97
  }
110
- /**
111
- * @ignore
112
- */
98
+
113
99
  set z(value) {
114
100
  var ret = this.onUpdate.call(this.scope, this._x, this._y, value, this._x, this._y, this._z);
115
101
  if (ret && "z" in ret) {
@@ -119,9 +105,9 @@ class ObservableVector3d extends Vector3d {
119
105
  }
120
106
  }
121
107
 
122
-
123
108
  /**
124
- * @ignore */
109
+ * @ignore
110
+ */
125
111
  _set(x, y, z) {
126
112
  var ret = this.onUpdate.call(this.scope, x, y, z, this._x, this._y, this._z);
127
113
  if (ret && "x" in ret && "y" in ret && "z" in ret) {
@@ -141,10 +127,10 @@ class ObservableVector3d extends Vector3d {
141
127
  * @name setMuted
142
128
  * @memberOf me.ObservableVector3d
143
129
  * @function
144
- * @param {Number} x x value of the vector
145
- * @param {Number} y y value of the vector
146
- * @param {Number} [z=0] z value of the vector
147
- * @return {me.ObservableVector3d} Reference to this object for method chaining
130
+ * @param {number} x x value of the vector
131
+ * @param {number} y y value of the vector
132
+ * @param {number} [z=0] z value of the vector
133
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
148
134
  */
149
135
  setMuted(x, y, z) {
150
136
  this._x = x;
@@ -158,9 +144,9 @@ class ObservableVector3d extends Vector3d {
158
144
  * @name setCallback
159
145
  * @memberOf me.ObservableVector3d
160
146
  * @function
161
- * @param {function} onUpdate callback
162
- * @param {function} [scope=null] scope
163
- * @return {me.ObservableVector3d} Reference to this object for method chaining
147
+ * @param {Function} fn callback
148
+ * @param {Function} [scope=null] scope
149
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
164
150
  */
165
151
  setCallback(fn, scope = null) {
166
152
  if (typeof(fn) !== "function") {
@@ -179,7 +165,7 @@ class ObservableVector3d extends Vector3d {
179
165
  * @memberOf me.ObservableVector3d
180
166
  * @function
181
167
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
182
- * @return {me.ObservableVector3d} Reference to this object for method chaining
168
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
183
169
  */
184
170
  add(v) {
185
171
  return this._set(this._x + v.x, this._y + v.y, this._z + (v.z || 0));
@@ -191,7 +177,7 @@ class ObservableVector3d extends Vector3d {
191
177
  * @memberOf me.ObservableVector3d
192
178
  * @function
193
179
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
194
- * @return {me.ObservableVector3d} Reference to this object for method chaining
180
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
195
181
  */
196
182
  sub(v) {
197
183
  return this._set(this._x - v.x, this._y - v.y, this._z - (v.z || 0));
@@ -202,10 +188,10 @@ class ObservableVector3d extends Vector3d {
202
188
  * @name scale
203
189
  * @memberOf me.ObservableVector3d
204
190
  * @function
205
- * @param {Number} x
206
- * @param {Number} [y=x]
207
- * @param {Number} [z=1]
208
- * @return {me.ObservableVector3d} Reference to this object for method chaining
191
+ * @param {number} x
192
+ * @param {number} [y=x]
193
+ * @param {number} [z=1]
194
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
209
195
  */
210
196
  scale(x, y, z) {
211
197
  y = (typeof (y) !== "undefined" ? y : x);
@@ -218,7 +204,7 @@ class ObservableVector3d extends Vector3d {
218
204
  * @memberOf me.ObservableVector3d
219
205
  * @function
220
206
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
221
- * @return {me.ObservableVector3d} Reference to this object for method chaining
207
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
222
208
  */
223
209
  scaleV(v) {
224
210
  return this._set(this._x * v.x, this._y * v.y, this._z * (v.z || 1));
@@ -229,8 +215,8 @@ class ObservableVector3d extends Vector3d {
229
215
  * @name div
230
216
  * @memberOf me.ObservableVector3d
231
217
  * @function
232
- * @param {Number} value
233
- * @return {me.ObservableVector3d} Reference to this object for method chaining
218
+ * @param {number} n the value to divide the vector by
219
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
234
220
  */
235
221
  div(n) {
236
222
  return this._set(this._x / n, this._y / n, this._z / n);
@@ -241,7 +227,7 @@ class ObservableVector3d extends Vector3d {
241
227
  * @name abs
242
228
  * @memberOf me.ObservableVector3d
243
229
  * @function
244
- * @return {me.ObservableVector3d} Reference to this object for method chaining
230
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
245
231
  */
246
232
  abs() {
247
233
  return this._set(
@@ -256,9 +242,9 @@ class ObservableVector3d extends Vector3d {
256
242
  * @name clamp
257
243
  * @memberOf me.ObservableVector3d
258
244
  * @function
259
- * @param {Number} low
260
- * @param {Number} high
261
- * @return {me.ObservableVector3d} new me.ObservableVector3d
245
+ * @param {number} low
246
+ * @param {number} high
247
+ * @returns {me.ObservableVector3d} new me.ObservableVector3d
262
248
  */
263
249
  clamp(low, high) {
264
250
  return new ObservableVector3d(
@@ -274,9 +260,9 @@ class ObservableVector3d extends Vector3d {
274
260
  * @name clampSelf
275
261
  * @memberOf me.ObservableVector3d
276
262
  * @function
277
- * @param {Number} low
278
- * @param {Number} high
279
- * @return {me.ObservableVector3d} Reference to this object for method chaining
263
+ * @param {number} low
264
+ * @param {number} high
265
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
280
266
  */
281
267
  clampSelf(low, high) {
282
268
  return this._set(
@@ -292,7 +278,7 @@ class ObservableVector3d extends Vector3d {
292
278
  * @memberOf me.ObservableVector3d
293
279
  * @function
294
280
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
295
- * @return {me.ObservableVector3d} Reference to this object for method chaining
281
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
296
282
  */
297
283
  minV(v) {
298
284
  var _vz = v.z || 0;
@@ -309,7 +295,7 @@ class ObservableVector3d extends Vector3d {
309
295
  * @memberOf me.ObservableVector3d
310
296
  * @function
311
297
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
312
- * @return {me.ObservableVector3d} Reference to this object for method chaining
298
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
313
299
  */
314
300
  maxV(v) {
315
301
  var _vz = v.z || 0;
@@ -325,7 +311,7 @@ class ObservableVector3d extends Vector3d {
325
311
  * @name floor
326
312
  * @memberOf me.ObservableVector3d
327
313
  * @function
328
- * @return {me.ObservableVector3d} new me.ObservableVector3d
314
+ * @returns {me.ObservableVector3d} new me.ObservableVector3d
329
315
  */
330
316
  floor() {
331
317
  return new ObservableVector3d(
@@ -341,7 +327,7 @@ class ObservableVector3d extends Vector3d {
341
327
  * @name floorSelf
342
328
  * @memberOf me.ObservableVector3d
343
329
  * @function
344
- * @return {me.ObservableVector3d} Reference to this object for method chaining
330
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
345
331
  */
346
332
  floorSelf() {
347
333
  return this._set(Math.floor(this._x), Math.floor(this._y), Math.floor(this._z));
@@ -352,7 +338,7 @@ class ObservableVector3d extends Vector3d {
352
338
  * @name ceil
353
339
  * @memberOf me.ObservableVector3d
354
340
  * @function
355
- * @return {me.ObservableVector3d} new me.ObservableVector3d
341
+ * @returns {me.ObservableVector3d} new me.ObservableVector3d
356
342
  */
357
343
  ceil() {
358
344
  return new ObservableVector3d(
@@ -368,7 +354,7 @@ class ObservableVector3d extends Vector3d {
368
354
  * @name ceilSelf
369
355
  * @memberOf me.ObservableVector3d
370
356
  * @function
371
- * @return {me.ObservableVector3d} Reference to this object for method chaining
357
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
372
358
  */
373
359
  ceilSelf() {
374
360
  return this._set(Math.ceil(this._x), Math.ceil(this._y), Math.ceil(this._z));
@@ -379,7 +365,7 @@ class ObservableVector3d extends Vector3d {
379
365
  * @name negate
380
366
  * @memberOf me.ObservableVector3d
381
367
  * @function
382
- * @return {me.ObservableVector3d} new me.ObservableVector3d
368
+ * @returns {me.ObservableVector3d} new me.ObservableVector3d
383
369
  */
384
370
  negate() {
385
371
  return new ObservableVector3d(
@@ -395,7 +381,7 @@ class ObservableVector3d extends Vector3d {
395
381
  * @name negateSelf
396
382
  * @memberOf me.ObservableVector3d
397
383
  * @function
398
- * @return {me.ObservableVector3d} Reference to this object for method chaining
384
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
399
385
  */
400
386
  negateSelf() {
401
387
  return this._set(-this._x, -this._y, -this._z);
@@ -407,7 +393,7 @@ class ObservableVector3d extends Vector3d {
407
393
  * @memberOf me.ObservableVector3d
408
394
  * @function
409
395
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
410
- * @return {me.ObservableVector3d} Reference to this object for method chaining
396
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
411
397
  */
412
398
  copy(v) {
413
399
  return this._set(v.x, v.y, v.z || 0);
@@ -419,7 +405,7 @@ class ObservableVector3d extends Vector3d {
419
405
  * @memberOf me.ObservableVector3d
420
406
  * @function
421
407
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
422
- * @return {Boolean}
408
+ * @returns {boolean}
423
409
  */
424
410
  equals(v) {
425
411
  return ((this._x === v.x) && (this._y === v.y) && (this._z === (v.z || this._z)));
@@ -431,7 +417,7 @@ class ObservableVector3d extends Vector3d {
431
417
  * @name perp
432
418
  * @memberOf me.ObservableVector3d
433
419
  * @function
434
- * @return {me.ObservableVector3d} Reference to this object for method chaining
420
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
435
421
  */
436
422
  perp() {
437
423
  return this._set(this._y, -this._x, this._z);
@@ -444,7 +430,7 @@ class ObservableVector3d extends Vector3d {
444
430
  * @function
445
431
  * @param {number} angle The angle to rotate (in radians)
446
432
  * @param {me.Vector2d|me.ObservableVector2d} [v] an optional point to rotate around (on the same z axis)
447
- * @return {me.ObservableVector3d} Reference to this object for method chaining
433
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
448
434
  */
449
435
  rotate(angle, v) {
450
436
  var cx = 0;
@@ -471,7 +457,7 @@ class ObservableVector3d extends Vector3d {
471
457
  * @memberOf me.ObservableVector3d
472
458
  * @function
473
459
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
474
- * @return {Number} The dot product.
460
+ * @returns {number} The dot product.
475
461
  */
476
462
  dotProduct(v) {
477
463
  return this._x * v.x + this._y * v.y + this._z * (v.z || 1);
@@ -483,8 +469,8 @@ class ObservableVector3d extends Vector3d {
483
469
  * @memberOf me.ObservableVector3d
484
470
  * @function
485
471
  * @param {me.Vector3d|me.ObservableVector3d} v
486
- * @param {Number} alpha distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
487
- * @return {me.ObservableVector3d} Reference to this object for method chaining
472
+ * @param {number} alpha distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
473
+ * @returns {me.ObservableVector3d} Reference to this object for method chaining
488
474
  */
489
475
  lerp(v, alpha) {
490
476
  this._x += ( v.x - this._x ) * alpha;
@@ -499,7 +485,7 @@ class ObservableVector3d extends Vector3d {
499
485
  * @memberOf me.ObservableVector3d
500
486
  * @function
501
487
  * @param {me.Vector2d|me.Vector3d|me.ObservableVector2d|me.ObservableVector3d} v
502
- * @return {Number}
488
+ * @returns {number}
503
489
  */
504
490
  distance(v) {
505
491
  var dx = this._x - v.x;
@@ -513,7 +499,7 @@ class ObservableVector3d extends Vector3d {
513
499
  * @name clone
514
500
  * @memberOf me.ObservableVector3d
515
501
  * @function
516
- * @return {me.ObservableVector3d} new me.ObservableVector3d
502
+ * @returns {me.ObservableVector3d} new me.ObservableVector3d
517
503
  */
518
504
  clone() {
519
505
  return pool.pull("ObservableVector3d",
@@ -529,7 +515,7 @@ class ObservableVector3d extends Vector3d {
529
515
  * @name toVector3d
530
516
  * @memberOf me.ObservableVector3d
531
517
  * @function
532
- * @return {me.Vector3d} new me.Vector3d
518
+ * @returns {me.Vector3d} new me.Vector3d
533
519
  */
534
520
  toVector3d() {
535
521
  return pool.pull("Vector3d", this._x, this._y, this._z);
@@ -540,7 +526,7 @@ class ObservableVector3d extends Vector3d {
540
526
  * @name toString
541
527
  * @memberOf me.ObservableVector3d
542
528
  * @function
543
- * @return {String}
529
+ * @returns {string}
544
530
  */
545
531
  toString() {
546
532
  return "x:" + this._x + ",y:" + this._y + ",z:" + this._z;