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
@@ -284,7 +284,7 @@ window.addEventListener("gamepaddisconnected", function (e) {
284
284
  * Namespace for standard gamepad mapping constants
285
285
  * @public
286
286
  * @namespace GAMEPAD
287
- * @memberOf me.input
287
+ * @memberof me.input
288
288
  */
289
289
  export var GAMEPAD = {
290
290
  /**
@@ -297,7 +297,7 @@ export var GAMEPAD = {
297
297
  * @public
298
298
  * @name AXES
299
299
  * @enum {number}
300
- * @memberOf me.input.GAMEPAD
300
+ * @memberof me.input.GAMEPAD
301
301
  * @see https://w3c.github.io/gamepad/#remapping
302
302
  */
303
303
  "AXES" : {
@@ -324,7 +324,7 @@ export var GAMEPAD = {
324
324
  * @public
325
325
  * @name BUTTONS
326
326
  * @enum {number}
327
- * @memberOf me.input.GAMEPAD
327
+ * @memberof me.input.GAMEPAD
328
328
  * @see https://w3c.github.io/gamepad/#remapping
329
329
  */
330
330
  "BUTTONS" : {
@@ -357,7 +357,7 @@ export var GAMEPAD = {
357
357
  /**
358
358
  * Associate a gamepad event to a keycode
359
359
  * @name bindGamepad
360
- * @memberOf me.input
360
+ * @memberof me.input
361
361
  * @public
362
362
  * @function
363
363
  * @param {number} index Gamepad index
@@ -432,7 +432,7 @@ export function bindGamepad(index, button, keyCode) {
432
432
  /**
433
433
  * unbind the defined keycode
434
434
  * @name unbindGamepad
435
- * @memberOf me.input
435
+ * @memberof me.input
436
436
  * @public
437
437
  * @function
438
438
  * @param {number} index Gamepad index
@@ -451,7 +451,7 @@ export function unbindGamepad(index, button) {
451
451
  * Set deadzone for analog gamepad inputs<br>
452
452
  * The default deadzone is 0.1 (10%) Analog values less than this will be ignored
453
453
  * @name setGamepadDeadzone
454
- * @memberOf me.input
454
+ * @memberof me.input
455
455
  * @public
456
456
  * @function
457
457
  * @param {number} value Deadzone value
@@ -465,7 +465,7 @@ export function setGamepadDeadzone(value) {
465
465
  * see below for the default mapping : <br>
466
466
  * <center><img src="images/gamepad_diagram.png"/></center><br>
467
467
  * @name setGamepadMapping
468
- * @memberOf me.input
468
+ * @memberof me.input
469
469
  * @public
470
470
  * @function
471
471
  * @param {string} id Gamepad id string
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @namespace me.input
3
- * @memberOf me
3
+ * @memberof me
4
4
  */
5
5
 
6
6
  /**
@@ -9,7 +9,7 @@
9
9
  * @type {boolean}
10
10
  * @default true
11
11
  * @name preventDefault
12
- * @memberOf me.input
12
+ * @memberof me.input
13
13
  */
14
14
  export var preventDefault = true;
15
15
 
@@ -100,7 +100,7 @@ var keyUpEvent = function (e, keyCode, mouseButton) {
100
100
  * @public
101
101
  * @type {EventTarget}
102
102
  * @name keyBoardEventTarget
103
- * @memberOf me.input
103
+ * @memberof me.input
104
104
  */
105
105
  export var keyBoardEventTarget = null;
106
106
 
@@ -109,206 +109,206 @@ var keyUpEvent = function (e, keyCode, mouseButton) {
109
109
  * @public
110
110
  * @enum {number}
111
111
  * @namespace KEY
112
- * @memberOf me.input
112
+ * @memberof me.input
113
113
  */
114
114
  export var KEY = {
115
- /** @memberOf me.input.KEY */
115
+ /** @memberof me.input.KEY */
116
116
  "BACKSPACE" : 8,
117
- /** @memberOf me.input.KEY */
117
+ /** @memberof me.input.KEY */
118
118
  "TAB" : 9,
119
- /** @memberOf me.input.KEY */
119
+ /** @memberof me.input.KEY */
120
120
  "ENTER" : 13,
121
- /** @memberOf me.input.KEY */
121
+ /** @memberof me.input.KEY */
122
122
  "SHIFT" : 16,
123
- /** @memberOf me.input.KEY */
123
+ /** @memberof me.input.KEY */
124
124
  "CTRL" : 17,
125
- /** @memberOf me.input.KEY */
125
+ /** @memberof me.input.KEY */
126
126
  "ALT" : 18,
127
- /** @memberOf me.input.KEY */
127
+ /** @memberof me.input.KEY */
128
128
  "PAUSE" : 19,
129
- /** @memberOf me.input.KEY */
129
+ /** @memberof me.input.KEY */
130
130
  "CAPS_LOCK" : 20,
131
- /** @memberOf me.input.KEY */
131
+ /** @memberof me.input.KEY */
132
132
  "ESC" : 27,
133
- /** @memberOf me.input.KEY */
133
+ /** @memberof me.input.KEY */
134
134
  "SPACE" : 32,
135
- /** @memberOf me.input.KEY */
135
+ /** @memberof me.input.KEY */
136
136
  "PAGE_UP" : 33,
137
- /** @memberOf me.input.KEY */
137
+ /** @memberof me.input.KEY */
138
138
  "PAGE_DOWN" : 34,
139
- /** @memberOf me.input.KEY */
139
+ /** @memberof me.input.KEY */
140
140
  "END" : 35,
141
- /** @memberOf me.input.KEY */
141
+ /** @memberof me.input.KEY */
142
142
  "HOME" : 36,
143
- /** @memberOf me.input.KEY */
143
+ /** @memberof me.input.KEY */
144
144
  "LEFT" : 37,
145
- /** @memberOf me.input.KEY */
145
+ /** @memberof me.input.KEY */
146
146
  "UP" : 38,
147
- /** @memberOf me.input.KEY */
147
+ /** @memberof me.input.KEY */
148
148
  "RIGHT" : 39,
149
- /** @memberOf me.input.KEY */
149
+ /** @memberof me.input.KEY */
150
150
  "DOWN" : 40,
151
- /** @memberOf me.input.KEY */
151
+ /** @memberof me.input.KEY */
152
152
  "PRINT_SCREEN" : 42,
153
- /** @memberOf me.input.KEY */
153
+ /** @memberof me.input.KEY */
154
154
  "INSERT" : 45,
155
- /** @memberOf me.input.KEY */
155
+ /** @memberof me.input.KEY */
156
156
  "DELETE" : 46,
157
- /** @memberOf me.input.KEY */
157
+ /** @memberof me.input.KEY */
158
158
  "NUM0" : 48,
159
- /** @memberOf me.input.KEY */
159
+ /** @memberof me.input.KEY */
160
160
  "NUM1" : 49,
161
- /** @memberOf me.input.KEY */
161
+ /** @memberof me.input.KEY */
162
162
  "NUM2" : 50,
163
- /** @memberOf me.input.KEY */
163
+ /** @memberof me.input.KEY */
164
164
  "NUM3" : 51,
165
- /** @memberOf me.input.KEY */
165
+ /** @memberof me.input.KEY */
166
166
  "NUM4" : 52,
167
- /** @memberOf me.input.KEY */
167
+ /** @memberof me.input.KEY */
168
168
  "NUM5" : 53,
169
- /** @memberOf me.input.KEY */
169
+ /** @memberof me.input.KEY */
170
170
  "NUM6" : 54,
171
- /** @memberOf me.input.KEY */
171
+ /** @memberof me.input.KEY */
172
172
  "NUM7" : 55,
173
- /** @memberOf me.input.KEY */
173
+ /** @memberof me.input.KEY */
174
174
  "NUM8" : 56,
175
- /** @memberOf me.input.KEY */
175
+ /** @memberof me.input.KEY */
176
176
  "NUM9" : 57,
177
- /** @memberOf me.input.KEY */
177
+ /** @memberof me.input.KEY */
178
178
  "A" : 65,
179
- /** @memberOf me.input.KEY */
179
+ /** @memberof me.input.KEY */
180
180
  "B" : 66,
181
- /** @memberOf me.input.KEY */
181
+ /** @memberof me.input.KEY */
182
182
  "C" : 67,
183
- /** @memberOf me.input.KEY */
183
+ /** @memberof me.input.KEY */
184
184
  "D" : 68,
185
- /** @memberOf me.input.KEY */
185
+ /** @memberof me.input.KEY */
186
186
  "E" : 69,
187
- /** @memberOf me.input.KEY */
187
+ /** @memberof me.input.KEY */
188
188
  "F" : 70,
189
- /** @memberOf me.input.KEY */
189
+ /** @memberof me.input.KEY */
190
190
  "G" : 71,
191
- /** @memberOf me.input.KEY */
191
+ /** @memberof me.input.KEY */
192
192
  "H" : 72,
193
- /** @memberOf me.input.KEY */
193
+ /** @memberof me.input.KEY */
194
194
  "I" : 73,
195
- /** @memberOf me.input.KEY */
195
+ /** @memberof me.input.KEY */
196
196
  "J" : 74,
197
- /** @memberOf me.input.KEY */
197
+ /** @memberof me.input.KEY */
198
198
  "K" : 75,
199
- /** @memberOf me.input.KEY */
199
+ /** @memberof me.input.KEY */
200
200
  "L" : 76,
201
- /** @memberOf me.input.KEY */
201
+ /** @memberof me.input.KEY */
202
202
  "M" : 77,
203
- /** @memberOf me.input.KEY */
203
+ /** @memberof me.input.KEY */
204
204
  "N" : 78,
205
- /** @memberOf me.input.KEY */
205
+ /** @memberof me.input.KEY */
206
206
  "O" : 79,
207
- /** @memberOf me.input.KEY */
207
+ /** @memberof me.input.KEY */
208
208
  "P" : 80,
209
- /** @memberOf me.input.KEY */
209
+ /** @memberof me.input.KEY */
210
210
  "Q" : 81,
211
- /** @memberOf me.input.KEY */
211
+ /** @memberof me.input.KEY */
212
212
  "R" : 82,
213
- /** @memberOf me.input.KEY */
213
+ /** @memberof me.input.KEY */
214
214
  "S" : 83,
215
- /** @memberOf me.input.KEY */
215
+ /** @memberof me.input.KEY */
216
216
  "T" : 84,
217
- /** @memberOf me.input.KEY */
217
+ /** @memberof me.input.KEY */
218
218
  "U" : 85,
219
- /** @memberOf me.input.KEY */
219
+ /** @memberof me.input.KEY */
220
220
  "V" : 86,
221
- /** @memberOf me.input.KEY */
221
+ /** @memberof me.input.KEY */
222
222
  "W" : 87,
223
- /** @memberOf me.input.KEY */
223
+ /** @memberof me.input.KEY */
224
224
  "X" : 88,
225
- /** @memberOf me.input.KEY */
225
+ /** @memberof me.input.KEY */
226
226
  "Y" : 89,
227
- /** @memberOf me.input.KEY */
227
+ /** @memberof me.input.KEY */
228
228
  "Z" : 90,
229
- /** @memberOf me.input.KEY */
229
+ /** @memberof me.input.KEY */
230
230
  "WINDOW_KEY" : 91,
231
- /** @memberOf me.input.KEY */
231
+ /** @memberof me.input.KEY */
232
232
  "NUMPAD0" : 96,
233
- /** @memberOf me.input.KEY */
233
+ /** @memberof me.input.KEY */
234
234
  "NUMPAD1" : 97,
235
- /** @memberOf me.input.KEY */
235
+ /** @memberof me.input.KEY */
236
236
  "NUMPAD2" : 98,
237
- /** @memberOf me.input.KEY */
237
+ /** @memberof me.input.KEY */
238
238
  "NUMPAD3" : 99,
239
- /** @memberOf me.input.KEY */
239
+ /** @memberof me.input.KEY */
240
240
  "NUMPAD4" : 100,
241
- /** @memberOf me.input.KEY */
241
+ /** @memberof me.input.KEY */
242
242
  "NUMPAD5" : 101,
243
- /** @memberOf me.input.KEY */
243
+ /** @memberof me.input.KEY */
244
244
  "NUMPAD6" : 102,
245
- /** @memberOf me.input.KEY */
245
+ /** @memberof me.input.KEY */
246
246
  "NUMPAD7" : 103,
247
- /** @memberOf me.input.KEY */
247
+ /** @memberof me.input.KEY */
248
248
  "NUMPAD8" : 104,
249
- /** @memberOf me.input.KEY */
249
+ /** @memberof me.input.KEY */
250
250
  "NUMPAD9" : 105,
251
- /** @memberOf me.input.KEY */
251
+ /** @memberof me.input.KEY */
252
252
  "MULTIPLY" : 106,
253
- /** @memberOf me.input.KEY */
253
+ /** @memberof me.input.KEY */
254
254
  "ADD" : 107,
255
- /** @memberOf me.input.KEY */
255
+ /** @memberof me.input.KEY */
256
256
  "SUBSTRACT" : 109,
257
- /** @memberOf me.input.KEY */
257
+ /** @memberof me.input.KEY */
258
258
  "DECIMAL" : 110,
259
- /** @memberOf me.input.KEY */
259
+ /** @memberof me.input.KEY */
260
260
  "DIVIDE" : 111,
261
- /** @memberOf me.input.KEY */
261
+ /** @memberof me.input.KEY */
262
262
  "F1" : 112,
263
- /** @memberOf me.input.KEY */
263
+ /** @memberof me.input.KEY */
264
264
  "F2" : 113,
265
- /** @memberOf me.input.KEY */
265
+ /** @memberof me.input.KEY */
266
266
  "F3" : 114,
267
- /** @memberOf me.input.KEY */
267
+ /** @memberof me.input.KEY */
268
268
  "F4" : 115,
269
- /** @memberOf me.input.KEY */
269
+ /** @memberof me.input.KEY */
270
270
  "F5" : 116,
271
- /** @memberOf me.input.KEY */
271
+ /** @memberof me.input.KEY */
272
272
  "F6" : 117,
273
- /** @memberOf me.input.KEY */
273
+ /** @memberof me.input.KEY */
274
274
  "F7" : 118,
275
- /** @memberOf me.input.KEY */
275
+ /** @memberof me.input.KEY */
276
276
  "F8" : 119,
277
- /** @memberOf me.input.KEY */
277
+ /** @memberof me.input.KEY */
278
278
  "F9" : 120,
279
- /** @memberOf me.input.KEY */
279
+ /** @memberof me.input.KEY */
280
280
  "F10" : 121,
281
- /** @memberOf me.input.KEY */
281
+ /** @memberof me.input.KEY */
282
282
  "F11" : 122,
283
- /** @memberOf me.input.KEY */
283
+ /** @memberof me.input.KEY */
284
284
  "F12" : 123,
285
- /** @memberOf me.input.KEY */
285
+ /** @memberof me.input.KEY */
286
286
  "TILDE" : 126,
287
- /** @memberOf me.input.KEY */
287
+ /** @memberof me.input.KEY */
288
288
  "NUM_LOCK" : 144,
289
- /** @memberOf me.input.KEY */
289
+ /** @memberof me.input.KEY */
290
290
  "SCROLL_LOCK" : 145,
291
- /** @memberOf me.input.KEY */
291
+ /** @memberof me.input.KEY */
292
292
  "SEMICOLON" : 186,
293
- /** @memberOf me.input.KEY */
293
+ /** @memberof me.input.KEY */
294
294
  "PLUS" : 187,
295
- /** @memberOf me.input.KEY */
295
+ /** @memberof me.input.KEY */
296
296
  "COMMA" : 188,
297
- /** @memberOf me.input.KEY */
297
+ /** @memberof me.input.KEY */
298
298
  "MINUS" : 189,
299
- /** @memberOf me.input.KEY */
299
+ /** @memberof me.input.KEY */
300
300
  "PERIOD" : 190,
301
- /** @memberOf me.input.KEY */
301
+ /** @memberof me.input.KEY */
302
302
  "FORWAND_SLASH" : 191,
303
- /** @memberOf me.input.KEY */
303
+ /** @memberof me.input.KEY */
304
304
  "GRAVE_ACCENT" : 192,
305
- /** @memberOf me.input.KEY */
305
+ /** @memberof me.input.KEY */
306
306
  "OPEN_BRACKET" : 219,
307
- /** @memberOf me.input.KEY */
307
+ /** @memberof me.input.KEY */
308
308
  "BACK_SLASH" : 220,
309
- /** @memberOf me.input.KEY */
309
+ /** @memberof me.input.KEY */
310
310
  "CLOSE_BRACKET" : 221,
311
- /** @memberOf me.input.KEY */
311
+ /** @memberof me.input.KEY */
312
312
  "SINGLE_QUOTE" : 222
313
313
  };
314
314
 
@@ -328,7 +328,7 @@ export function initKeyboardEvent() {
328
328
  /**
329
329
  * return the key press status of the specified action
330
330
  * @name isKeyPressed
331
- * @memberOf me.input
331
+ * @memberof me.input
332
332
  * @public
333
333
  * @function
334
334
  * @param {string} action user defined corresponding action
@@ -354,7 +354,7 @@ export function isKeyPressed(action) {
354
354
  /**
355
355
  * return the key status of the specified action
356
356
  * @name keyStatus
357
- * @memberOf me.input
357
+ * @memberof me.input
358
358
  * @public
359
359
  * @function
360
360
  * @param {string} action user defined corresponding action
@@ -368,7 +368,7 @@ export function keyStatus(action) {
368
368
  /**
369
369
  * trigger the specified key (simulated) event <br>
370
370
  * @name triggerKeyEvent
371
- * @memberOf me.input
371
+ * @memberof me.input
372
372
  * @public
373
373
  * @function
374
374
  * @param {me.input.KEY} keycode
@@ -391,7 +391,7 @@ export function triggerKeyEvent(keycode, status, mouseButton) {
391
391
  /**
392
392
  * associate a user defined action to a keycode
393
393
  * @name bindKey
394
- * @memberOf me.input
394
+ * @memberof me.input
395
395
  * @public
396
396
  * @function
397
397
  * @param {me.input.KEY} keycode
@@ -418,7 +418,7 @@ export function bindKey(keycode, action, lock, preventDefault = preventDefaultAc
418
418
  /**
419
419
  * return the action associated with the given keycode
420
420
  * @name getBindingKey
421
- * @memberOf me.input
421
+ * @memberof me.input
422
422
  * @public
423
423
  * @function
424
424
  * @param {me.input.KEY} keycode
@@ -431,7 +431,7 @@ export function getBindingKey(keycode) {
431
431
  /**
432
432
  * unlock a key manually
433
433
  * @name unlockKey
434
- * @memberOf me.input
434
+ * @memberof me.input
435
435
  * @public
436
436
  * @function
437
437
  * @param {string} action user defined corresponding action
@@ -448,7 +448,7 @@ export function unlockKey(action) {
448
448
  /**
449
449
  * unbind the defined keycode
450
450
  * @name unbindKey
451
- * @memberOf me.input
451
+ * @memberof me.input
452
452
  * @public
453
453
  * @function
454
454
  * @param {me.input.KEY} keycode