melonjs 10.2.3 → 10.5.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.
Files changed (96) hide show
  1. package/README.md +6 -6
  2. package/dist/melonjs.js +3620 -3582
  3. package/dist/melonjs.min.js +5 -5
  4. package/dist/melonjs.module.d.ts +3646 -4545
  5. package/dist/melonjs.module.js +3912 -3521
  6. package/package.json +21 -20
  7. package/src/audio/audio.js +30 -31
  8. package/src/camera/camera2d.js +47 -58
  9. package/src/entity/entity.js +32 -38
  10. package/src/game.js +21 -22
  11. package/src/{shapes → geometries}/ellipse.js +40 -47
  12. package/src/{shapes → geometries}/line.js +9 -12
  13. package/src/{shapes → geometries}/poly.js +100 -53
  14. package/src/{shapes → geometries}/rectangle.js +42 -45
  15. package/src/index.js +14 -32
  16. package/src/input/gamepad.js +11 -10
  17. package/src/input/input.js +2 -3
  18. package/src/input/keyboard.js +113 -113
  19. package/src/input/pointer.js +61 -29
  20. package/src/input/pointerevent.js +92 -29
  21. package/src/lang/deprecated.js +83 -13
  22. package/src/level/level.js +23 -24
  23. package/src/level/tiled/TMXGroup.js +7 -9
  24. package/src/level/tiled/TMXLayer.js +30 -33
  25. package/src/level/tiled/TMXObject.js +59 -53
  26. package/src/level/tiled/TMXTile.js +18 -19
  27. package/src/level/tiled/TMXTileMap.js +40 -46
  28. package/src/level/tiled/TMXTileset.js +12 -16
  29. package/src/level/tiled/TMXTilesetGroup.js +9 -10
  30. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +7 -9
  31. package/src/level/tiled/renderer/TMXIsometricRenderer.js +7 -9
  32. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +4 -6
  33. package/src/level/tiled/renderer/TMXRenderer.js +24 -26
  34. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -5
  35. package/src/loader/loader.js +17 -16
  36. package/src/loader/loadingscreen.js +2 -5
  37. package/src/math/color.js +47 -67
  38. package/src/math/math.js +15 -16
  39. package/src/math/matrix2.js +53 -59
  40. package/src/math/matrix3.js +56 -63
  41. package/src/math/observable_vector2.js +87 -77
  42. package/src/math/observable_vector3.js +97 -80
  43. package/src/math/vector2.js +107 -97
  44. package/src/math/vector3.js +116 -100
  45. package/src/particles/emitter.js +66 -76
  46. package/src/particles/particle.js +4 -6
  47. package/src/particles/particlecontainer.js +2 -4
  48. package/src/physics/body.js +49 -147
  49. package/src/physics/bounds.js +48 -50
  50. package/src/physics/collision.js +13 -14
  51. package/src/physics/detector.js +18 -17
  52. package/src/physics/quadtree.js +17 -20
  53. package/src/physics/sat.js +30 -30
  54. package/src/physics/world.js +24 -29
  55. package/src/plugin/plugin.js +11 -15
  56. package/src/renderable/GUI.js +41 -47
  57. package/src/renderable/collectable.js +5 -10
  58. package/src/renderable/colorlayer.js +10 -15
  59. package/src/renderable/container.js +87 -73
  60. package/src/renderable/dragndrop.js +224 -0
  61. package/src/renderable/imagelayer.js +25 -32
  62. package/src/renderable/nineslicesprite.js +41 -42
  63. package/src/renderable/renderable.js +113 -124
  64. package/src/renderable/sprite.js +62 -69
  65. package/src/renderable/trigger.js +26 -32
  66. package/src/state/stage.js +13 -18
  67. package/src/state/state.js +26 -27
  68. package/src/system/device.js +76 -133
  69. package/src/system/event.js +81 -70
  70. package/src/system/pooling.js +11 -12
  71. package/src/system/save.js +3 -4
  72. package/src/system/timer.js +19 -20
  73. package/src/text/bitmaptext.js +57 -55
  74. package/src/text/bitmaptextdata.js +10 -11
  75. package/src/text/glyph.js +3 -0
  76. package/src/text/text.js +49 -55
  77. package/src/tweens/easing.js +1 -1
  78. package/src/tweens/interpolation.js +1 -1
  79. package/src/tweens/tween.js +44 -46
  80. package/src/utils/agent.js +3 -4
  81. package/src/utils/array.js +4 -5
  82. package/src/utils/file.js +3 -4
  83. package/src/utils/function.js +4 -5
  84. package/src/utils/string.js +7 -9
  85. package/src/utils/utils.js +4 -5
  86. package/src/video/canvas/canvas_renderer.js +60 -62
  87. package/src/video/renderer.js +53 -58
  88. package/src/video/texture.js +98 -112
  89. package/src/video/texture_cache.js +26 -10
  90. package/src/video/video.js +15 -16
  91. package/src/video/webgl/buffer/vertex.js +2 -2
  92. package/src/video/webgl/glshader.js +37 -39
  93. package/src/video/webgl/webgl_compositor.js +128 -101
  94. package/src/video/webgl/webgl_renderer.js +126 -106
  95. package/src/entity/draggable.js +0 -139
  96. package/src/entity/droptarget.js +0 -109
@@ -19,8 +19,7 @@ var pixel = (function () {
19
19
  * me.ParticleEmitterSettings contains the default settings for me.ParticleEmitter
20
20
  * @ignore
21
21
  * @class
22
- * @memberOf me
23
- * @see me.ParticleEmitter
22
+ * @see ParticleEmitter
24
23
  */
25
24
  var ParticleEmitterSettings = {
26
25
  /**
@@ -28,7 +27,7 @@ var ParticleEmitterSettings = {
28
27
  * @public
29
28
  * @type {number}
30
29
  * @name width
31
- * @memberOf me.ParticleEmitterSettings
30
+ * @memberof ParticleEmitterSettings
32
31
  * @default 0
33
32
  */
34
33
  width : 0,
@@ -38,7 +37,7 @@ var ParticleEmitterSettings = {
38
37
  * @public
39
38
  * @type {number}
40
39
  * @name height
41
- * @memberOf me.ParticleEmitterSettings
40
+ * @memberof ParticleEmitterSettings
42
41
  * @default 0
43
42
  */
44
43
  height : 0,
@@ -48,7 +47,7 @@ var ParticleEmitterSettings = {
48
47
  * @public
49
48
  * @type {CanvasImageSource}
50
49
  * @name image
51
- * @memberOf me.ParticleEmitterSettings
50
+ * @memberof ParticleEmitterSettings
52
51
  * @default 1x1 white pixel
53
52
  * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvasimagesource
54
53
  */
@@ -60,7 +59,7 @@ var ParticleEmitterSettings = {
60
59
  * @type {number}
61
60
  * @name totalParticles
62
61
  * @default 50
63
- * @memberOf me.ParticleEmitterSettings
62
+ * @memberof ParticleEmitterSettings
64
63
  */
65
64
  totalParticles : 50,
66
65
 
@@ -70,7 +69,7 @@ var ParticleEmitterSettings = {
70
69
  * @type {number}
71
70
  * @name angle
72
71
  * @default Math.PI / 2
73
- * @memberOf me.ParticleEmitterSettings
72
+ * @memberof ParticleEmitterSettings
74
73
  */
75
74
  angle : Math.PI / 2,
76
75
 
@@ -80,7 +79,7 @@ var ParticleEmitterSettings = {
80
79
  * @type {number}
81
80
  * @name angleVariation
82
81
  * @default 0
83
- * @memberOf me.ParticleEmitterSettings
82
+ * @memberof ParticleEmitterSettings
84
83
  */
85
84
  angleVariation : 0,
86
85
 
@@ -90,7 +89,7 @@ var ParticleEmitterSettings = {
90
89
  * @type {number}
91
90
  * @name minLife
92
91
  * @default 1000
93
- * @memberOf me.ParticleEmitterSettings
92
+ * @memberof ParticleEmitterSettings
94
93
  */
95
94
  minLife : 1000,
96
95
 
@@ -100,7 +99,7 @@ var ParticleEmitterSettings = {
100
99
  * @type {number}
101
100
  * @name maxLife
102
101
  * @default 3000
103
- * @memberOf me.ParticleEmitterSettings
102
+ * @memberof ParticleEmitterSettings
104
103
  */
105
104
  maxLife : 3000,
106
105
 
@@ -110,7 +109,7 @@ var ParticleEmitterSettings = {
110
109
  * @type {number}
111
110
  * @name speed
112
111
  * @default 2
113
- * @memberOf me.ParticleEmitterSettings
112
+ * @memberof ParticleEmitterSettings
114
113
  */
115
114
  speed : 2,
116
115
 
@@ -120,7 +119,7 @@ var ParticleEmitterSettings = {
120
119
  * @type {number}
121
120
  * @name speedVariation
122
121
  * @default 1
123
- * @memberOf me.ParticleEmitterSettings
122
+ * @memberof ParticleEmitterSettings
124
123
  */
125
124
  speedVariation : 1,
126
125
 
@@ -130,7 +129,7 @@ var ParticleEmitterSettings = {
130
129
  * @type {number}
131
130
  * @name minRotation
132
131
  * @default 0
133
- * @memberOf me.ParticleEmitterSettings
132
+ * @memberof ParticleEmitterSettings
134
133
  */
135
134
  minRotation : 0,
136
135
 
@@ -140,7 +139,7 @@ var ParticleEmitterSettings = {
140
139
  * @type {number}
141
140
  * @name maxRotation
142
141
  * @default 0
143
- * @memberOf me.ParticleEmitterSettings
142
+ * @memberof ParticleEmitterSettings
144
143
  */
145
144
  maxRotation : 0,
146
145
 
@@ -150,7 +149,7 @@ var ParticleEmitterSettings = {
150
149
  * @type {number}
151
150
  * @name minStartScale
152
151
  * @default 1
153
- * @memberOf me.ParticleEmitterSettings
152
+ * @memberof ParticleEmitterSettings
154
153
  */
155
154
  minStartScale : 1,
156
155
 
@@ -160,7 +159,7 @@ var ParticleEmitterSettings = {
160
159
  * @type {number}
161
160
  * @name maxStartScale
162
161
  * @default 1
163
- * @memberOf me.ParticleEmitterSettings
162
+ * @memberof ParticleEmitterSettings
164
163
  */
165
164
  maxStartScale : 1,
166
165
 
@@ -170,7 +169,7 @@ var ParticleEmitterSettings = {
170
169
  * @type {number}
171
170
  * @name minEndScale
172
171
  * @default 0
173
- * @memberOf me.ParticleEmitterSettings
172
+ * @memberof ParticleEmitterSettings
174
173
  */
175
174
  minEndScale : 0,
176
175
 
@@ -180,7 +179,7 @@ var ParticleEmitterSettings = {
180
179
  * @type {number}
181
180
  * @name maxEndScale
182
181
  * @default 0
183
- * @memberOf me.ParticleEmitterSettings
182
+ * @memberof ParticleEmitterSettings
184
183
  */
185
184
  maxEndScale : 0,
186
185
 
@@ -190,8 +189,8 @@ var ParticleEmitterSettings = {
190
189
  * @type {number}
191
190
  * @name gravity
192
191
  * @default 0
193
- * @memberOf me.ParticleEmitterSettings
194
- * @see me.game.world.gravity
192
+ * @memberof ParticleEmitterSettings
193
+ * @see game.world.gravity
195
194
  */
196
195
  gravity : 0,
197
196
 
@@ -201,7 +200,7 @@ var ParticleEmitterSettings = {
201
200
  * @type {number}
202
201
  * @name wind
203
202
  * @default 0
204
- * @memberOf me.ParticleEmitterSettings
203
+ * @memberof ParticleEmitterSettings
205
204
  */
206
205
  wind : 0,
207
206
 
@@ -213,7 +212,7 @@ var ParticleEmitterSettings = {
213
212
  * @type {boolean}
214
213
  * @name followTrajectory
215
214
  * @default false
216
- * @memberOf me.ParticleEmitterSettings
215
+ * @memberof ParticleEmitterSettings
217
216
  */
218
217
  followTrajectory : false,
219
218
 
@@ -224,7 +223,7 @@ var ParticleEmitterSettings = {
224
223
  * @type {boolean}
225
224
  * @name textureAdditive
226
225
  * @default false
227
- * @memberOf me.ParticleEmitterSettings
226
+ * @memberof ParticleEmitterSettings
228
227
  */
229
228
  textureAdditive : false,
230
229
 
@@ -234,7 +233,7 @@ var ParticleEmitterSettings = {
234
233
  * @type {boolean}
235
234
  * @name onlyInViewport
236
235
  * @default true
237
- * @memberOf me.ParticleEmitterSettings
236
+ * @memberof ParticleEmitterSettings
238
237
  */
239
238
  onlyInViewport : true,
240
239
 
@@ -244,7 +243,7 @@ var ParticleEmitterSettings = {
244
243
  * @type {boolean}
245
244
  * @name floating
246
245
  * @default false
247
- * @memberOf me.ParticleEmitterSettings
246
+ * @memberof ParticleEmitterSettings
248
247
  */
249
248
  floating : false,
250
249
 
@@ -254,7 +253,7 @@ var ParticleEmitterSettings = {
254
253
  * @type {number}
255
254
  * @name maxParticles
256
255
  * @default 10
257
- * @memberOf me.ParticleEmitterSettings
256
+ * @memberof ParticleEmitterSettings
258
257
  */
259
258
  maxParticles : 10,
260
259
 
@@ -265,7 +264,7 @@ var ParticleEmitterSettings = {
265
264
  * @type {number}
266
265
  * @name frequency
267
266
  * @default 100
268
- * @memberOf me.ParticleEmitterSettings
267
+ * @memberof ParticleEmitterSettings
269
268
  */
270
269
  frequency : 100,
271
270
 
@@ -276,7 +275,7 @@ var ParticleEmitterSettings = {
276
275
  * @type {number}
277
276
  * @name duration
278
277
  * @default Infinity
279
- * @memberOf me.ParticleEmitterSettings
278
+ * @memberof ParticleEmitterSettings
280
279
  */
281
280
  duration : Infinity,
282
281
 
@@ -287,7 +286,7 @@ var ParticleEmitterSettings = {
287
286
  * @type {number}
288
287
  * @name framesToSkip
289
288
  * @default 0
290
- * @memberOf me.ParticleEmitterSettings
289
+ * @memberof ParticleEmitterSettings
291
290
  */
292
291
  framesToSkip : 0
293
292
  };
@@ -295,12 +294,10 @@ var ParticleEmitterSettings = {
295
294
  /**
296
295
  * Particle Emitter Object.
297
296
  * @class
298
- * @extends Rect
299
- * @memberOf me
300
- * @constructor
297
+ * @augments Rect
301
298
  * @param {number} x x-position of the particle emitter
302
299
  * @param {number} y y-position of the particle emitter
303
- * @param {object} settings An object containing the settings for the particle emitter. See {@link me.ParticleEmitterSettings}
300
+ * @param {object} settings An object containing the settings for the particle emitter. See {@link ParticleEmitterSettings}
304
301
  * @example
305
302
  * // Create a basic emitter at position 100, 100
306
303
  * var emitter = new me.ParticleEmitter(100, 100);
@@ -359,45 +356,38 @@ class ParticleEmitter extends Renderable {
359
356
 
360
357
  this.container = new ParticleContainer(this);
361
358
 
362
- /**
363
- * @ignore
364
- */
365
- Object.defineProperty(this.pos, "z", {
366
- /**
367
- * @ignore
368
- */
369
- get : (function () { return this.container.pos.z; }).bind(this),
370
- /**
371
- * @ignore
372
- */
373
- set : (function (value) { this.container.pos.z = value; }).bind(this),
374
- enumerable : true,
375
- configurable : true
376
- });
377
-
378
- /**
379
- * Floating property for particles, value is forwarded to the particle container <br>
380
- * @type {boolean}
381
- * @name floating
382
- * @memberOf me.ParticleEmitter
383
- */
384
- Object.defineProperty(this, "floating", {
385
- /**
386
- * @ignore
387
- */
388
- get : function () { return this.container.floating; },
389
- /**
390
- * @ignore
391
- */
392
- set : function (value) { this.container.floating = value; },
393
- enumerable : true,
394
- configurable : true
395
- });
396
-
397
359
  // Reset the emitter to defaults
398
360
  this.reset(settings);
399
361
  }
400
362
 
363
+ /**
364
+ * @ignore
365
+ */
366
+ get z() {
367
+ return this.container.pos.z;
368
+ }
369
+
370
+ /**
371
+ * @ignore
372
+ */
373
+ set z(value) {
374
+ this.container.pos.z = value;
375
+ }
376
+
377
+ /**
378
+ * Floating property for particles, value is forwarded to the particle container <br>
379
+ * @type {boolean}
380
+ * @name floating
381
+ * @memberof ParticleEmitter
382
+ */
383
+ get floating() {
384
+ return this.container.floating;
385
+ }
386
+
387
+ set floating(value) {
388
+ this.container.floating = value;
389
+ }
390
+
401
391
  /**
402
392
  * @ignore
403
393
  */
@@ -428,7 +418,7 @@ class ParticleEmitter extends Renderable {
428
418
  /**
429
419
  * returns a random point inside the bounds x axis of this emitter
430
420
  * @name getRandomPointX
431
- * @memberOf me.ParticleEmitter
421
+ * @memberof ParticleEmitter
432
422
  * @function
433
423
  * @returns {number}
434
424
  */
@@ -439,7 +429,7 @@ class ParticleEmitter extends Renderable {
439
429
  /**
440
430
  * returns a random point inside the bounds y axis of this emitter
441
431
  * @name getRandomPointY
442
- * @memberOf me.ParticleEmitter
432
+ * @memberof ParticleEmitter
443
433
  * @function
444
434
  * @returns {number}
445
435
  */
@@ -450,9 +440,9 @@ class ParticleEmitter extends Renderable {
450
440
  /**
451
441
  * Reset the emitter with default values.<br>
452
442
  * @function
453
- * @param {object} settings [optional] object with emitter settings. See {@link me.ParticleEmitterSettings}
443
+ * @param {object} settings [optional] object with emitter settings. See {@link ParticleEmitterSettings}
454
444
  * @name reset
455
- * @memberOf me.ParticleEmitter
445
+ * @memberof ParticleEmitter
456
446
  */
457
447
  reset(settings) {
458
448
  // check if settings exists and create a dummy object if necessary
@@ -484,7 +474,7 @@ class ParticleEmitter extends Renderable {
484
474
  * @function
485
475
  * @returns {boolean} Emitter is Stream and is launching particles
486
476
  * @name isRunning
487
- * @memberOf me.ParticleEmitter
477
+ * @memberof ParticleEmitter
488
478
  */
489
479
  isRunning() {
490
480
  return this._enabled && this._stream;
@@ -496,7 +486,7 @@ class ParticleEmitter extends Renderable {
496
486
  * @param {number} duration [optional] time that the emitter releases particles in ms
497
487
  * @function
498
488
  * @name streamParticles
499
- * @memberOf me.ParticleEmitter
489
+ * @memberof ParticleEmitter
500
490
  */
501
491
  streamParticles(duration) {
502
492
  this._enabled = true;
@@ -509,7 +499,7 @@ class ParticleEmitter extends Renderable {
509
499
  * Stop the emitter from generating new particles (used only if emitter is Stream) <br>
510
500
  * @function
511
501
  * @name stopStream
512
- * @memberOf me.ParticleEmitter
502
+ * @memberof ParticleEmitter
513
503
  */
514
504
  stopStream() {
515
505
  this._enabled = false;
@@ -521,7 +511,7 @@ class ParticleEmitter extends Renderable {
521
511
  * @param {number} total [optional] number of particles to launch
522
512
  * @function
523
513
  * @name burstParticles
524
- * @memberOf me.ParticleEmitter
514
+ * @memberof ParticleEmitter
525
515
  */
526
516
  burstParticles(total) {
527
517
  this._enabled = true;
@@ -8,10 +8,8 @@ import Renderable from "./../renderable/renderable.js";
8
8
  * @classdesc
9
9
  * Single Particle Object.
10
10
  * @class Particle
11
- * @extends me.Renderable
12
- * @memberOf me
13
- * @constructor
14
- * @param {me.ParticleEmitter} particle emitter
11
+ * @augments Renderable
12
+ * @param {ParticleEmitter} particle emitter
15
13
  */
16
14
  class Particle extends Renderable {
17
15
  /**
@@ -96,9 +94,9 @@ class Particle extends Renderable {
96
94
 
97
95
  /**
98
96
  * Update the Particle <br>
99
- * This is automatically called by the game manager {@link me.game}
97
+ * This is automatically called by the game manager {@link game}
100
98
  * @name update
101
- * @memberOf me.Particle
99
+ * @memberof Particle
102
100
  * @function
103
101
  * @ignore
104
102
  * @param {number} dt time since the last update in milliseconds
@@ -5,10 +5,8 @@ import { viewport } from "./../game.js";
5
5
  * @classdesc
6
6
  * Particle Container Object.
7
7
  * @class ParticleContainer
8
- * @extends me.Container
9
- * @memberOf me
10
- * @constructor
11
- * @param {me.ParticleEmitter} emitter the emitter which owns this container
8
+ * @augments Container
9
+ * @param {ParticleEmitter} emitter the emitter which owns this container
12
10
  */
13
11
 
14
12
  class ParticleContainer extends Container {