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