melonjs 10.1.0 → 10.2.2

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 -12
  2. package/dist/melonjs.js +3119 -2857
  3. package/dist/melonjs.min.js +3 -3
  4. package/dist/melonjs.module.d.ts +2590 -2490
  5. package/dist/melonjs.module.js +2698 -2470
  6. package/package.json +10 -11
  7. package/src/audio/audio.js +43 -43
  8. package/src/camera/camera2d.js +55 -77
  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 +40 -72
  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 +19 -17
  49. package/src/physics/sat.js +17 -17
  50. package/src/physics/world.js +13 -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 +65 -46
  56. package/src/renderable/imagelayer.js +32 -31
  57. package/src/renderable/nineslicesprite.js +211 -0
  58. package/src/renderable/renderable.js +69 -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 +30 -30
  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 -37
  92. package/src/video/webgl/webgl_renderer.js +104 -104
@@ -16,8 +16,8 @@ var pixel = (function () {
16
16
  })();
17
17
 
18
18
  /**
19
- * me.ParticleEmitterSettings contains the default settings for me.ParticleEmitter.<br>
20
- * @private
19
+ * me.ParticleEmitterSettings contains the default settings for me.ParticleEmitter
20
+ * @ignore
21
21
  * @class
22
22
  * @memberOf me
23
23
  * @see me.ParticleEmitter
@@ -26,7 +26,7 @@ var ParticleEmitterSettings = {
26
26
  /**
27
27
  * Width of the particle spawn area.<br>
28
28
  * @public
29
- * @type Number
29
+ * @type {number}
30
30
  * @name width
31
31
  * @memberOf me.ParticleEmitterSettings
32
32
  * @default 0
@@ -34,9 +34,9 @@ var ParticleEmitterSettings = {
34
34
  width : 0,
35
35
 
36
36
  /**
37
- * Height of the particle spawn area.<br>
37
+ * Height of the particle spawn area
38
38
  * @public
39
- * @type Number
39
+ * @type {number}
40
40
  * @name height
41
41
  * @memberOf me.ParticleEmitterSettings
42
42
  * @default 0
@@ -44,9 +44,9 @@ var ParticleEmitterSettings = {
44
44
  height : 0,
45
45
 
46
46
  /**
47
- * Image used for particles.<br>
47
+ * Image used for particles
48
48
  * @public
49
- * @type CanvasImageSource
49
+ * @type {CanvasImageSource}
50
50
  * @name image
51
51
  * @memberOf me.ParticleEmitterSettings
52
52
  * @default 1x1 white pixel
@@ -55,9 +55,9 @@ var ParticleEmitterSettings = {
55
55
  image : pixel,
56
56
 
57
57
  /**
58
- * Total number of particles in the emitter.<br>
58
+ * Total number of particles in the emitter
59
59
  * @public
60
- * @type Number
60
+ * @type {number}
61
61
  * @name totalParticles
62
62
  * @default 50
63
63
  * @memberOf me.ParticleEmitterSettings
@@ -65,9 +65,9 @@ var ParticleEmitterSettings = {
65
65
  totalParticles : 50,
66
66
 
67
67
  /**
68
- * Start angle for particle launch in Radians.<br>
68
+ * Start angle for particle launch in Radians
69
69
  * @public
70
- * @type Number
70
+ * @type {number}
71
71
  * @name angle
72
72
  * @default Math.PI / 2
73
73
  * @memberOf me.ParticleEmitterSettings
@@ -75,9 +75,9 @@ var ParticleEmitterSettings = {
75
75
  angle : Math.PI / 2,
76
76
 
77
77
  /**
78
- * Variation in the start angle for particle launch in Radians.<br>
78
+ * Variation in the start angle for particle launch in Radians
79
79
  * @public
80
- * @type Number
80
+ * @type {number}
81
81
  * @name angleVariation
82
82
  * @default 0
83
83
  * @memberOf me.ParticleEmitterSettings
@@ -85,9 +85,9 @@ var ParticleEmitterSettings = {
85
85
  angleVariation : 0,
86
86
 
87
87
  /**
88
- * Minimum time each particle lives once it is emitted in ms.<br>
88
+ * Minimum time each particle lives once it is emitted in ms
89
89
  * @public
90
- * @type Number
90
+ * @type {number}
91
91
  * @name minLife
92
92
  * @default 1000
93
93
  * @memberOf me.ParticleEmitterSettings
@@ -95,9 +95,9 @@ var ParticleEmitterSettings = {
95
95
  minLife : 1000,
96
96
 
97
97
  /**
98
- * Maximum time each particle lives once it is emitted in ms.<br>
98
+ * Maximum time each particle lives once it is emitted in ms
99
99
  * @public
100
- * @type Number
100
+ * @type {number}
101
101
  * @name maxLife
102
102
  * @default 3000
103
103
  * @memberOf me.ParticleEmitterSettings
@@ -107,7 +107,7 @@ var ParticleEmitterSettings = {
107
107
  /**
108
108
  * Start speed of particles.<br>
109
109
  * @public
110
- * @type Number
110
+ * @type {number}
111
111
  * @name speed
112
112
  * @default 2
113
113
  * @memberOf me.ParticleEmitterSettings
@@ -115,9 +115,9 @@ var ParticleEmitterSettings = {
115
115
  speed : 2,
116
116
 
117
117
  /**
118
- * Variation in the start speed of particles.<br>
118
+ * Variation in the start speed of particles
119
119
  * @public
120
- * @type Number
120
+ * @type {number}
121
121
  * @name speedVariation
122
122
  * @default 1
123
123
  * @memberOf me.ParticleEmitterSettings
@@ -125,9 +125,9 @@ var ParticleEmitterSettings = {
125
125
  speedVariation : 1,
126
126
 
127
127
  /**
128
- * Minimum start rotation for particles sprites in Radians.<br>
128
+ * Minimum start rotation for particles sprites in Radians
129
129
  * @public
130
- * @type Number
130
+ * @type {number}
131
131
  * @name minRotation
132
132
  * @default 0
133
133
  * @memberOf me.ParticleEmitterSettings
@@ -135,9 +135,9 @@ var ParticleEmitterSettings = {
135
135
  minRotation : 0,
136
136
 
137
137
  /**
138
- * Maximum start rotation for particles sprites in Radians.<br>
138
+ * Maximum start rotation for particles sprites in Radians
139
139
  * @public
140
- * @type Number
140
+ * @type {number}
141
141
  * @name maxRotation
142
142
  * @default 0
143
143
  * @memberOf me.ParticleEmitterSettings
@@ -145,9 +145,9 @@ var ParticleEmitterSettings = {
145
145
  maxRotation : 0,
146
146
 
147
147
  /**
148
- * Minimum start scale ratio for particles (1 = no scaling).<br>
148
+ * Minimum start scale ratio for particles (1 = no scaling)
149
149
  * @public
150
- * @type Number
150
+ * @type {number}
151
151
  * @name minStartScale
152
152
  * @default 1
153
153
  * @memberOf me.ParticleEmitterSettings
@@ -155,9 +155,9 @@ var ParticleEmitterSettings = {
155
155
  minStartScale : 1,
156
156
 
157
157
  /**
158
- * Maximum start scale ratio for particles (1 = no scaling).<br>
158
+ * Maximum start scale ratio for particles (1 = no scaling)
159
159
  * @public
160
- * @type Number
160
+ * @type {number}
161
161
  * @name maxStartScale
162
162
  * @default 1
163
163
  * @memberOf me.ParticleEmitterSettings
@@ -165,9 +165,9 @@ var ParticleEmitterSettings = {
165
165
  maxStartScale : 1,
166
166
 
167
167
  /**
168
- * Minimum end scale ratio for particles.<br>
168
+ * Minimum end scale ratio for particles
169
169
  * @public
170
- * @type Number
170
+ * @type {number}
171
171
  * @name minEndScale
172
172
  * @default 0
173
173
  * @memberOf me.ParticleEmitterSettings
@@ -175,9 +175,9 @@ var ParticleEmitterSettings = {
175
175
  minEndScale : 0,
176
176
 
177
177
  /**
178
- * Maximum end scale ratio for particles.<br>
178
+ * Maximum end scale ratio for particles
179
179
  * @public
180
- * @type Number
180
+ * @type {number}
181
181
  * @name maxEndScale
182
182
  * @default 0
183
183
  * @memberOf me.ParticleEmitterSettings
@@ -185,9 +185,9 @@ var ParticleEmitterSettings = {
185
185
  maxEndScale : 0,
186
186
 
187
187
  /**
188
- * Vertical force (Gravity) for each particle.<br>
188
+ * Vertical force (Gravity) for each particle
189
189
  * @public
190
- * @type Number
190
+ * @type {number}
191
191
  * @name gravity
192
192
  * @default 0
193
193
  * @memberOf me.ParticleEmitterSettings
@@ -196,9 +196,9 @@ var ParticleEmitterSettings = {
196
196
  gravity : 0,
197
197
 
198
198
  /**
199
- * Horizontal force (like a Wind) for each particle.<br>
199
+ * Horizontal force (like a Wind) for each particle
200
200
  * @public
201
- * @type Number
201
+ * @type {number}
202
202
  * @name wind
203
203
  * @default 0
204
204
  * @memberOf me.ParticleEmitterSettings
@@ -210,7 +210,7 @@ var ParticleEmitterSettings = {
210
210
  * The particle sprite should aim at zero angle (draw from left to right).<br>
211
211
  * Override the particle minRotation and maxRotation.<br>
212
212
  * @public
213
- * @type Boolean
213
+ * @type {boolean}
214
214
  * @name followTrajectory
215
215
  * @default false
216
216
  * @memberOf me.ParticleEmitterSettings
@@ -221,7 +221,7 @@ var ParticleEmitterSettings = {
221
221
  * Enable the Texture Additive by canvas composite operation (lighter).<br>
222
222
  * WARNING: Composite Operation may decreases performance!.<br>
223
223
  * @public
224
- * @type Boolean
224
+ * @type {boolean}
225
225
  * @name textureAdditive
226
226
  * @default false
227
227
  * @memberOf me.ParticleEmitterSettings
@@ -231,7 +231,7 @@ var ParticleEmitterSettings = {
231
231
  /**
232
232
  * Update particles only in the viewport, remove it when out of viewport.<br>
233
233
  * @public
234
- * @type Boolean
234
+ * @type {boolean}
235
235
  * @name onlyInViewport
236
236
  * @default true
237
237
  * @memberOf me.ParticleEmitterSettings
@@ -241,7 +241,7 @@ var ParticleEmitterSettings = {
241
241
  /**
242
242
  * Render particles in screen space. <br>
243
243
  * @public
244
- * @type Boolean
244
+ * @type {boolean}
245
245
  * @name floating
246
246
  * @default false
247
247
  * @memberOf me.ParticleEmitterSettings
@@ -251,7 +251,7 @@ var ParticleEmitterSettings = {
251
251
  /**
252
252
  * Maximum number of particles launched each time in this emitter (used only if emitter is Stream).<br>
253
253
  * @public
254
- * @type Number
254
+ * @type {number}
255
255
  * @name maxParticles
256
256
  * @default 10
257
257
  * @memberOf me.ParticleEmitterSettings
@@ -262,7 +262,7 @@ var ParticleEmitterSettings = {
262
262
  * How often a particle is emitted in ms (used only if emitter is Stream).<br>
263
263
  * Necessary that value is greater than zero.<br>
264
264
  * @public
265
- * @type Number
265
+ * @type {number}
266
266
  * @name frequency
267
267
  * @default 100
268
268
  * @memberOf me.ParticleEmitterSettings
@@ -273,7 +273,7 @@ var ParticleEmitterSettings = {
273
273
  * Duration that the emitter releases particles in ms (used only if emitter is Stream).<br>
274
274
  * After this period, the emitter stop the launch of particles.<br>
275
275
  * @public
276
- * @type Number
276
+ * @type {number}
277
277
  * @name duration
278
278
  * @default Infinity
279
279
  * @memberOf me.ParticleEmitterSettings
@@ -284,7 +284,7 @@ var ParticleEmitterSettings = {
284
284
  * Skip n frames after updating the particle system once. <br>
285
285
  * This can be used to reduce the performance impact of emitters with many particles.<br>
286
286
  * @public
287
- * @type Number
287
+ * @type {number}
288
288
  * @name framesToSkip
289
289
  * @default 0
290
290
  * @memberOf me.ParticleEmitterSettings
@@ -298,11 +298,10 @@ var ParticleEmitterSettings = {
298
298
  * @extends Rect
299
299
  * @memberOf me
300
300
  * @constructor
301
- * @param {Number} x x-position of the particle emitter
302
- * @param {Number} y y-position of the particle emitter
301
+ * @param {number} x x-position of the particle emitter
302
+ * @param {number} y y-position of the particle emitter
303
303
  * @param {object} settings An object containing the settings for the particle emitter. See {@link me.ParticleEmitterSettings}
304
304
  * @example
305
- *
306
305
  * // Create a basic emitter at position 100, 100
307
306
  * var emitter = new me.ParticleEmitter(100, 100);
308
307
  *
@@ -324,7 +323,6 @@ var ParticleEmitterSettings = {
324
323
  * // At the end, remove emitter from the game world
325
324
  * // call this in onDestroyEvent function
326
325
  * me.game.world.removeChild(emitter);
327
- *
328
326
  */
329
327
  class ParticleEmitter extends Renderable {
330
328
 
@@ -379,7 +377,7 @@ class ParticleEmitter extends Renderable {
379
377
 
380
378
  /**
381
379
  * Floating property for particles, value is forwarded to the particle container <br>
382
- * @type Boolean
380
+ * @type {boolean}
383
381
  * @name floating
384
382
  * @memberOf me.ParticleEmitter
385
383
  */
@@ -432,7 +430,7 @@ class ParticleEmitter extends Renderable {
432
430
  * @name getRandomPointX
433
431
  * @memberOf me.ParticleEmitter
434
432
  * @function
435
- * @return {Number}
433
+ * @returns {number}
436
434
  */
437
435
  getRandomPointX() {
438
436
  return this.pos.x + randomFloat(0, this.width);
@@ -443,7 +441,7 @@ class ParticleEmitter extends Renderable {
443
441
  * @name getRandomPointY
444
442
  * @memberOf me.ParticleEmitter
445
443
  * @function
446
- * @return {Number}
444
+ * @returns {number}
447
445
  */
448
446
  getRandomPointY() {
449
447
  return this.pos.y + randomFloat(0, this.height);
@@ -452,7 +450,7 @@ class ParticleEmitter extends Renderable {
452
450
  /**
453
451
  * Reset the emitter with default values.<br>
454
452
  * @function
455
- * @param {Object} settings [optional] object with emitter settings. See {@link me.ParticleEmitterSettings}
453
+ * @param {object} settings [optional] object with emitter settings. See {@link me.ParticleEmitterSettings}
456
454
  * @name reset
457
455
  * @memberOf me.ParticleEmitter
458
456
  */
@@ -484,7 +482,7 @@ class ParticleEmitter extends Renderable {
484
482
  /**
485
483
  * Emitter is of type stream and is launching particles <br>
486
484
  * @function
487
- * @returns {Boolean} Emitter is Stream and is launching particles
485
+ * @returns {boolean} Emitter is Stream and is launching particles
488
486
  * @name isRunning
489
487
  * @memberOf me.ParticleEmitter
490
488
  */
@@ -495,7 +493,7 @@ class ParticleEmitter extends Renderable {
495
493
  /**
496
494
  * Launch particles from emitter constantly <br>
497
495
  * Particles example: Fountains
498
- * @param {Number} duration [optional] time that the emitter releases particles in ms
496
+ * @param {number} duration [optional] time that the emitter releases particles in ms
499
497
  * @function
500
498
  * @name streamParticles
501
499
  * @memberOf me.ParticleEmitter
@@ -520,7 +518,7 @@ class ParticleEmitter extends Renderable {
520
518
  /**
521
519
  * Launch all particles from emitter and stop <br>
522
520
  * Particles example: Explosions <br>
523
- * @param {Number} total [optional] number of particles to launch
521
+ * @param {number} total [optional] number of particles to launch
524
522
  * @function
525
523
  * @name burstParticles
526
524
  * @memberOf me.ParticleEmitter
@@ -101,7 +101,7 @@ class Particle extends Renderable {
101
101
  * @memberOf me.Particle
102
102
  * @function
103
103
  * @ignore
104
- * @param {Number} dt time since the last update in milliseconds
104
+ * @param {number} dt time since the last update in milliseconds
105
105
  */
106
106
  update(dt) {
107
107
  // move things forward independent of the current frame rate