melonjs 10.10.0 → 10.11.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 (91) hide show
  1. package/README.md +4 -3
  2. package/dist/melonjs.js +817 -1922
  3. package/dist/melonjs.min.js +4 -4
  4. package/dist/melonjs.module.d.ts +339 -1183
  5. package/dist/melonjs.module.js +745 -1846
  6. package/package.json +12 -15
  7. package/src/audio/audio.js +0 -1
  8. package/src/camera/camera2d.js +1 -16
  9. package/src/entity/entity.js +1 -4
  10. package/src/geometries/ellipse.js +2 -11
  11. package/src/geometries/line.js +1 -4
  12. package/src/geometries/path2d.js +0 -10
  13. package/src/geometries/poly.js +5 -22
  14. package/src/geometries/rectangle.js +2 -14
  15. package/src/geometries/roundrect.js +2 -6
  16. package/src/index.js +0 -1
  17. package/src/input/gamepad.js +3 -14
  18. package/src/input/keyboard.js +1 -9
  19. package/src/input/pointer.js +0 -1
  20. package/src/input/pointerevent.js +14 -23
  21. package/src/lang/deprecated.js +4 -3
  22. package/src/level/level.js +0 -9
  23. package/src/level/tiled/TMXGroup.js +0 -4
  24. package/src/level/tiled/TMXLayer.js +0 -8
  25. package/src/level/tiled/TMXObject.js +0 -3
  26. package/src/level/tiled/TMXTile.js +4 -5
  27. package/src/level/tiled/TMXTileMap.js +1 -7
  28. package/src/level/tiled/TMXTileset.js +0 -5
  29. package/src/level/tiled/TMXTilesetGroup.js +1 -4
  30. package/src/level/tiled/TMXUtils.js +0 -3
  31. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -3
  32. package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -1
  33. package/src/level/tiled/renderer/TMXRenderer.js +1 -7
  34. package/src/loader/loader.js +0 -11
  35. package/src/loader/loadingscreen.js +1 -1
  36. package/src/math/color.js +5 -26
  37. package/src/math/math.js +0 -10
  38. package/src/math/matrix2.js +12 -27
  39. package/src/math/matrix3.js +1 -22
  40. package/src/math/observable_vector2.js +0 -29
  41. package/src/math/observable_vector3.js +0 -29
  42. package/src/math/vector2.js +3 -40
  43. package/src/math/vector3.js +4 -41
  44. package/src/particles/emitter.js +1 -1
  45. package/src/physics/body.js +1 -1
  46. package/src/physics/bounds.js +5 -19
  47. package/src/physics/collision.js +0 -1
  48. package/src/physics/detector.js +0 -4
  49. package/src/physics/quadtree.js +0 -7
  50. package/src/physics/sat.js +3 -3
  51. package/src/physics/world.js +0 -4
  52. package/src/plugin/plugin.js +0 -2
  53. package/src/polyfill/roundrect.js +4 -2
  54. package/src/renderable/GUI.js +0 -5
  55. package/src/renderable/collectable.js +1 -0
  56. package/src/renderable/container.js +0 -28
  57. package/src/renderable/dragndrop.js +0 -9
  58. package/src/renderable/imagelayer.js +1 -5
  59. package/src/renderable/light2d.js +1 -2
  60. package/src/renderable/renderable.js +0 -22
  61. package/src/renderable/sprite.js +0 -12
  62. package/src/renderable/trigger.js +1 -1
  63. package/src/state/stage.js +0 -4
  64. package/src/state/state.js +3 -20
  65. package/src/system/device.js +14 -53
  66. package/src/system/event.js +11 -0
  67. package/src/system/pooling.js +19 -8
  68. package/src/system/save.js +9 -11
  69. package/src/system/timer.js +239 -218
  70. package/src/text/bitmaptextdata.js +1 -4
  71. package/src/text/glyph.js +2 -2
  72. package/src/text/text.js +7 -5
  73. package/src/text/textmetrics.js +0 -2
  74. package/src/tweens/easing.js +1 -1
  75. package/src/tweens/interpolation.js +2 -2
  76. package/src/tweens/tween.js +1 -13
  77. package/src/utils/agent.js +1 -3
  78. package/src/utils/array.js +0 -3
  79. package/src/utils/file.js +0 -2
  80. package/src/utils/function.js +0 -2
  81. package/src/utils/string.js +0 -6
  82. package/src/utils/utils.js +0 -3
  83. package/src/video/canvas/canvas_renderer.js +4 -39
  84. package/src/video/renderer.js +1 -23
  85. package/src/video/texture/cache.js +0 -1
  86. package/src/video/texture/canvas_texture.js +16 -4
  87. package/src/video/video.js +3 -3
  88. package/src/video/webgl/glshader.js +0 -5
  89. package/src/video/webgl/utils/uniforms.js +3 -6
  90. package/src/video/webgl/webgl_compositor.js +0 -14
  91. package/src/video/webgl/webgl_renderer.js +0 -42
@@ -118,7 +118,6 @@ class GUI_Object extends Sprite {
118
118
  * @name onClick
119
119
  * @memberof GUI_Object
120
120
  * @public
121
- * @function
122
121
  * @param {Pointer} event the event object
123
122
  * @returns {boolean} return false if we need to stop propagating the event
124
123
  */
@@ -141,7 +140,6 @@ class GUI_Object extends Sprite {
141
140
  * @name onOver
142
141
  * @memberof GUI_Object
143
142
  * @public
144
- * @function
145
143
  * @param {Pointer} event the event object
146
144
  */
147
145
  onOver(/* event */) {}
@@ -162,7 +160,6 @@ class GUI_Object extends Sprite {
162
160
  * @name onOut
163
161
  * @memberof GUI_Object
164
162
  * @public
165
- * @function
166
163
  * @param {Pointer} event the event object
167
164
  */
168
165
  onOut(/* event */) {
@@ -187,7 +184,6 @@ class GUI_Object extends Sprite {
187
184
  * @name onRelease
188
185
  * @memberof GUI_Object
189
186
  * @public
190
- * @function
191
187
  * @returns {boolean} return false if we need to stop propagating the event
192
188
  */
193
189
  onRelease() {
@@ -212,7 +208,6 @@ class GUI_Object extends Sprite {
212
208
  * @name onHold
213
209
  * @memberof GUI_Object
214
210
  * @public
215
- * @function
216
211
  */
217
212
  onHold() {}
218
213
 
@@ -1,6 +1,7 @@
1
1
  import Sprite from "./sprite.js";
2
2
  import Body from "./../physics/body.js";
3
3
  import collision from "./../physics/collision.js";
4
+ import pool from "./../system/pooling.js";
4
5
 
5
6
  /**
6
7
  * @classdesc
@@ -100,7 +100,6 @@ class Container extends Renderable {
100
100
  * a callback to be extended, triggered after a child has been added or removed
101
101
  * @name onChildChange
102
102
  * @memberof Container#
103
- * @function
104
103
  * @param {number} index added or removed child index
105
104
  */
106
105
  this.onChildChange = function (/* index */) {
@@ -157,7 +156,6 @@ class Container extends Renderable {
157
156
  * reset the container, removing all childrens, and reseting transforms.
158
157
  * @name reset
159
158
  * @memberof Container
160
- * @function
161
159
  */
162
160
  reset() {
163
161
  // cancel any sort operation
@@ -193,7 +191,6 @@ class Container extends Renderable {
193
191
  * will not be in any container.
194
192
  * @name addChild
195
193
  * @memberof Container
196
- * @function
197
194
  * @param {Renderable} child
198
195
  * @param {number} [z] forces the z index of the child to the specified value
199
196
  * @returns {Renderable} the added child
@@ -257,7 +254,6 @@ class Container extends Renderable {
257
254
  * (the list won't be sorted after insertion)
258
255
  * @name addChildAt
259
256
  * @memberof Container
260
- * @function
261
257
  * @param {Renderable} child
262
258
  * @param {number} index
263
259
  * @returns {Renderable} the added child
@@ -316,7 +312,6 @@ class Container extends Renderable {
316
312
  * - The array forEach() was called upon. <br>
317
313
  * @name forEach
318
314
  * @memberof Container
319
- * @function
320
315
  * @param {Function} callback fnction to execute on each element
321
316
  * @param {object} [thisArg] value to use as this(i.e reference Object) when executing callback.
322
317
  * @example
@@ -353,7 +348,6 @@ class Container extends Renderable {
353
348
  * Swaps the position (z-index) of 2 children
354
349
  * @name swapChildren
355
350
  * @memberof Container
356
- * @function
357
351
  * @param {Renderable} child
358
352
  * @param {Renderable} child2
359
353
  */
@@ -381,7 +375,6 @@ class Container extends Renderable {
381
375
  * Returns the Child at the specified index
382
376
  * @name getChildAt
383
377
  * @memberof Container
384
- * @function
385
378
  * @param {number} index
386
379
  * @returns {Renderable} the child at the specified index
387
380
  */
@@ -398,7 +391,6 @@ class Container extends Renderable {
398
391
  * Returns the index of the given Child
399
392
  * @name getChildIndex
400
393
  * @memberof Container
401
- * @function
402
394
  * @param {Renderable} child
403
395
  * @returns {number} index
404
396
  */
@@ -410,7 +402,6 @@ class Container extends Renderable {
410
402
  * Returns the next child within the container or undefined if none
411
403
  * @name getNextChild
412
404
  * @memberof Container
413
- * @function
414
405
  * @param {Renderable} child
415
406
  * @returns {Renderable} child
416
407
  */
@@ -426,7 +417,6 @@ class Container extends Renderable {
426
417
  * Returns true if contains the specified Child
427
418
  * @name hasChild
428
419
  * @memberof Container
429
- * @function
430
420
  * @param {Renderable} child
431
421
  * @returns {boolean}
432
422
  */
@@ -441,7 +431,6 @@ class Container extends Renderable {
441
431
  * @name getChildByProp
442
432
  * @memberof Container
443
433
  * @public
444
- * @function
445
434
  * @param {string} prop Property name
446
435
  * @param {string|RegExp|number|boolean} value Value of the property
447
436
  * @returns {Renderable[]} Array of childs
@@ -493,7 +482,6 @@ class Container extends Renderable {
493
482
  * @name getChildByType
494
483
  * @memberof Container
495
484
  * @public
496
- * @function
497
485
  * @param {object} classType
498
486
  * @returns {Renderable[]} Array of children
499
487
  */
@@ -520,7 +508,6 @@ class Container extends Renderable {
520
508
  * @name getChildByName
521
509
  * @memberof Container
522
510
  * @public
523
- * @function
524
511
  * @param {string|RegExp|number|boolean} name child name
525
512
  * @returns {Renderable[]} Array of children
526
513
  */
@@ -535,7 +522,6 @@ class Container extends Renderable {
535
522
  * @name getChildByGUID
536
523
  * @memberof Container
537
524
  * @public
538
- * @function
539
525
  * @param {string|RegExp|number|boolean} guid child GUID
540
526
  * @returns {Renderable} corresponding child or null
541
527
  */
@@ -549,7 +535,6 @@ class Container extends Renderable {
549
535
  * @name getChildren
550
536
  * @memberof Container
551
537
  * @public
552
- * @function
553
538
  * @returns {Renderable[]} an array of renderable object
554
539
  */
555
540
  getChildren() {
@@ -564,7 +549,6 @@ class Container extends Renderable {
564
549
  * @ignore
565
550
  * @name updateBounds
566
551
  * @memberof Renderable
567
- * @function
568
552
  * @returns {Bounds} this shape bounding box Rectangle object
569
553
  */
570
554
  updateBounds(forceUpdateChildBounds = false) {
@@ -593,7 +577,6 @@ class Container extends Renderable {
593
577
  * @private
594
578
  * @name isAttachedToRoot
595
579
  * @memberof Container
596
- * @function
597
580
  * @returns {boolean}
598
581
  */
599
582
  isAttachedToRoot() {
@@ -616,7 +599,6 @@ class Container extends Renderable {
616
599
  * @ignore
617
600
  * @name updateBoundsPos
618
601
  * @memberof Container
619
- * @function
620
602
  */
621
603
  updateBoundsPos(newX, newY) {
622
604
  // call the parent method
@@ -652,7 +634,6 @@ class Container extends Renderable {
652
634
  * @name removeChild
653
635
  * @memberof Container
654
636
  * @public
655
- * @function
656
637
  * @param {Renderable} child
657
638
  * @param {boolean} [keepalive=False] True to prevent calling child.destroy()
658
639
  */
@@ -671,7 +652,6 @@ class Container extends Renderable {
671
652
  * Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
672
653
  * @name removeChildNow
673
654
  * @memberof Container
674
- * @function
675
655
  * @param {Renderable} child
676
656
  * @param {boolean} [keepalive=False] True to prevent calling child.destroy()
677
657
  */
@@ -724,7 +704,6 @@ class Container extends Renderable {
724
704
  * Automatically set the specified property of all childs to the given value
725
705
  * @name setChildsProperty
726
706
  * @memberof Container
727
- * @function
728
707
  * @param {string} prop property name
729
708
  * @param {object} value property value
730
709
  * @param {boolean} [recursive=false] recursively apply the value to child containers if true
@@ -742,7 +721,6 @@ class Container extends Renderable {
742
721
  * Move the child in the group one step forward (z depth).
743
722
  * @name moveUp
744
723
  * @memberof Container
745
- * @function
746
724
  * @param {Renderable} child
747
725
  */
748
726
  moveUp(child) {
@@ -759,7 +737,6 @@ class Container extends Renderable {
759
737
  * Move the child in the group one step backward (z depth).
760
738
  * @name moveDown
761
739
  * @memberof Container
762
- * @function
763
740
  * @param {Renderable} child
764
741
  */
765
742
  moveDown(child) {
@@ -776,7 +753,6 @@ class Container extends Renderable {
776
753
  * Move the specified child to the top(z depth).
777
754
  * @name moveToTop
778
755
  * @memberof Container
779
- * @function
780
756
  * @param {Renderable} child
781
757
  */
782
758
  moveToTop(child) {
@@ -796,7 +772,6 @@ class Container extends Renderable {
796
772
  * Move the specified child the bottom (z depth).
797
773
  * @name moveToBottom
798
774
  * @memberof Container
799
- * @function
800
775
  * @param {Renderable} child
801
776
  */
802
777
  moveToBottom(child) {
@@ -817,7 +792,6 @@ class Container extends Renderable {
817
792
  * @name sort
818
793
  * @memberof Container
819
794
  * @public
820
- * @function
821
795
  * @param {boolean} [recursive=false] recursively sort all containers if true
822
796
  */
823
797
  sort(recursive) {
@@ -911,7 +885,6 @@ class Container extends Renderable {
911
885
  * automatically called by the game manager {@link game}
912
886
  * @name update
913
887
  * @memberof Container
914
- * @function
915
888
  * @protected
916
889
  * @param {number} dt time since the last update in milliseconds.
917
890
  * @returns {boolean} true if the Container is dirty
@@ -964,7 +937,6 @@ class Container extends Renderable {
964
937
  * automatically called by the game manager {@link game}
965
938
  * @name draw
966
939
  * @memberof Container
967
- * @function
968
940
  * @protected
969
941
  * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
970
942
  * @param {Rect|Bounds} [rect] the area or viewport to (re)draw
@@ -33,7 +33,6 @@ export class Draggable extends Renderable {
33
33
  * transformed events.
34
34
  * @name initEvents
35
35
  * @memberof Draggable
36
- * @function
37
36
  * @private
38
37
  */
39
38
  initEvents() {
@@ -57,7 +56,6 @@ export class Draggable extends Renderable {
57
56
  * Gets called when the user starts dragging the entity
58
57
  * @name dragStart
59
58
  * @memberof Draggable
60
- * @function
61
59
  * @param {object} e the pointer event
62
60
  * @returns {boolean} false if the object is being dragged
63
61
  */
@@ -74,7 +72,6 @@ export class Draggable extends Renderable {
74
72
  * Gets called when the user drags this entity around
75
73
  * @name dragMove
76
74
  * @memberof Draggable
77
- * @function
78
75
  * @param {object} e the pointer event
79
76
  */
80
77
  dragMove(e) {
@@ -88,7 +85,6 @@ export class Draggable extends Renderable {
88
85
  * Gets called when the user stops dragging the entity
89
86
  * @name dragEnd
90
87
  * @memberof Draggable
91
- * @function
92
88
  * @returns {boolean} false if the object stopped being dragged
93
89
  */
94
90
  dragEnd() {
@@ -102,7 +98,6 @@ export class Draggable extends Renderable {
102
98
  * Destructor
103
99
  * @name destroy
104
100
  * @memberof Draggable
105
- * @function
106
101
  * @ignore
107
102
  */
108
103
  destroy() {
@@ -173,7 +168,6 @@ export class DropTarget extends Renderable {
173
168
  * Sets the collision method which is going to be used to check a valid drop
174
169
  * @name setCheckMethod
175
170
  * @memberof DropTarget
176
- * @function
177
171
  * @param {string} checkMethod the checkmethod (defaults to CHECKMETHOD_OVERLAP)
178
172
  */
179
173
  setCheckMethod(checkMethod) {
@@ -188,7 +182,6 @@ export class DropTarget extends Renderable {
188
182
  * Checks if a dropped entity is dropped on the current entity
189
183
  * @name checkOnMe
190
184
  * @memberof DropTarget
191
- * @function
192
185
  * @param {object} e the triggering event
193
186
  * @param {Draggable} draggable the draggable object that is dropped
194
187
  */
@@ -203,7 +196,6 @@ export class DropTarget extends Renderable {
203
196
  * Gets called when a draggable entity is dropped on the current entity
204
197
  * @name drop
205
198
  * @memberof DropTarget
206
- * @function
207
199
  * @param {Draggable} draggable the draggable object that is dropped
208
200
  */
209
201
  drop() {
@@ -214,7 +206,6 @@ export class DropTarget extends Renderable {
214
206
  * Destructor
215
207
  * @name destroy
216
208
  * @memberof DropTarget
217
- * @function
218
209
  * @ignore
219
210
  */
220
211
  destroy() {
@@ -75,7 +75,7 @@ class ImageLayer extends Sprite {
75
75
  * - a number, to change the value for both axis <br>
76
76
  * - a json expression like `json:{"x":0.5,"y":0.5}` if you wish to specify a different value for both x and y
77
77
  * @public
78
- * @type {Vector2d}
78
+ * @member {Vector2d}
79
79
  * @default <0.0,0.0>
80
80
  * @name ImageLayer#anchorPoint
81
81
  */
@@ -160,7 +160,6 @@ class ImageLayer extends Sprite {
160
160
  * resize the Image Layer to match the given size
161
161
  * @name resize
162
162
  * @memberof ImageLayer
163
- * @function
164
163
  * @param {number} w new width
165
164
  * @param {number} h new height
166
165
  */
@@ -174,7 +173,6 @@ class ImageLayer extends Sprite {
174
173
  /**
175
174
  * createPattern function
176
175
  * @ignore
177
- * @function
178
176
  */
179
177
  createPattern() {
180
178
  this._pattern = renderer.createPattern(this.image, this._repeat);
@@ -183,7 +181,6 @@ class ImageLayer extends Sprite {
183
181
  /**
184
182
  * updateLayer function
185
183
  * @ignore
186
- * @function
187
184
  */
188
185
  updateLayer(vpos) {
189
186
  var rx = this.ratio.x,
@@ -250,7 +247,6 @@ class ImageLayer extends Sprite {
250
247
  * automatically called by the game manager {@link game}
251
248
  * @name draw
252
249
  * @memberof ImageLayer
253
- * @function
254
250
  * @protected
255
251
  * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
256
252
  */
@@ -72,7 +72,7 @@ class Light2d extends Renderable {
72
72
  this.visibleArea = pool.pull("Ellipse", this.centerX, this.centerY, this.width, this.height);
73
73
 
74
74
  /** @ignore */
75
- this.texture = pool.pull("CanvasTexture", this.width, this.height, false);
75
+ this.texture = pool.pull("CanvasTexture", this.width, this.height, { offscreenCanvas: false });
76
76
 
77
77
  this.anchorPoint.set(0, 0);
78
78
 
@@ -83,7 +83,6 @@ class Light2d extends Renderable {
83
83
  * returns a geometry representing the visible area of this light
84
84
  * @name getVisibleArea
85
85
  * @memberof Light2d
86
- * @function
87
86
  * @returns {Ellipse} the light visible mask
88
87
  */
89
88
  getVisibleArea() {
@@ -381,7 +381,6 @@ class Renderable extends Rect {
381
381
  * returns the bounding box for this renderable
382
382
  * @name getBounds
383
383
  * @memberof Renderable
384
- * @function
385
384
  * @returns {Bounds} bounding box Rectangle object
386
385
  */
387
386
  getBounds() {
@@ -402,7 +401,6 @@ class Renderable extends Rect {
402
401
  * get the renderable alpha channel value<br>
403
402
  * @name getOpacity
404
403
  * @memberof Renderable
405
- * @function
406
404
  * @returns {number} current opacity value between 0 and 1
407
405
  */
408
406
  getOpacity() {
@@ -413,7 +411,6 @@ class Renderable extends Rect {
413
411
  * set the renderable alpha channel value<br>
414
412
  * @name setOpacity
415
413
  * @memberof Renderable
416
- * @function
417
414
  * @param {number} alpha opacity value between 0.0 and 1.0
418
415
  */
419
416
  setOpacity(alpha) {
@@ -432,7 +429,6 @@ class Renderable extends Rect {
432
429
  * @see Matrix2d#scaleX
433
430
  * @name flipX
434
431
  * @memberof Renderable
435
- * @function
436
432
  * @param {boolean} [flip=true] `true` to flip this renderable.
437
433
  * @returns {Renderable} Reference to this object for method chaining
438
434
  */
@@ -447,7 +443,6 @@ class Renderable extends Rect {
447
443
  * @see Matrix2d#scaleY
448
444
  * @name flipY
449
445
  * @memberof Renderable
450
- * @function
451
446
  * @param {boolean} [flip=true] `true` to flip this renderable.
452
447
  * @returns {Renderable} Reference to this object for method chaining
453
448
  */
@@ -462,7 +457,6 @@ class Renderable extends Rect {
462
457
  * @name transform
463
458
  * @memberof Renderable
464
459
  * @see Renderable#currentTransform
465
- * @function
466
460
  * @param {Matrix2d} m the transformation matrix
467
461
  * @returns {Renderable} Reference to this object for method chaining
468
462
  */
@@ -478,7 +472,6 @@ class Renderable extends Rect {
478
472
  * return the angle to the specified target
479
473
  * @name angleTo
480
474
  * @memberof Renderable
481
- * @function
482
475
  * @param {Renderable|Vector2d|Vector3d} target
483
476
  * @returns {number} angle in radians
484
477
  */
@@ -502,7 +495,6 @@ class Renderable extends Rect {
502
495
  * return the distance to the specified target
503
496
  * @name distanceTo
504
497
  * @memberof Renderable
505
- * @function
506
498
  * @param {Renderable|Vector2d|Vector3d} target
507
499
  * @returns {number} distance
508
500
  */
@@ -526,7 +518,6 @@ class Renderable extends Rect {
526
518
  * Rotate this renderable towards the given target.
527
519
  * @name lookAt
528
520
  * @memberof Renderable
529
- * @function
530
521
  * @param {Renderable|Vector2d|Vector3d} target the renderable or position to look at
531
522
  * @returns {Renderable} Reference to this object for method chaining
532
523
  */
@@ -550,7 +541,6 @@ class Renderable extends Rect {
550
541
  * Rotate this renderable by the specified angle (in radians).
551
542
  * @name rotate
552
543
  * @memberof Renderable
553
- * @function
554
544
  * @param {number} angle The angle to rotate (in radians)
555
545
  * @param {Vector2d|ObservableVector2d} [v] an optional point to rotate around
556
546
  * @returns {Renderable} Reference to this object for method chaining
@@ -572,7 +562,6 @@ class Renderable extends Rect {
572
562
  * member will be changed.
573
563
  * @name scale
574
564
  * @memberof Renderable
575
- * @function
576
565
  * @param {number} x a number representing the abscissa of the scaling vector.
577
566
  * @param {number} [y=x] a number representing the ordinate of the scaling vector.
578
567
  * @returns {Renderable} Reference to this object for method chaining
@@ -588,7 +577,6 @@ class Renderable extends Rect {
588
577
  * scale the renderable around his anchor point
589
578
  * @name scaleV
590
579
  * @memberof Renderable
591
- * @function
592
580
  * @param {Vector2d} v scaling vector
593
581
  * @returns {Renderable} Reference to this object for method chaining
594
582
  */
@@ -602,7 +590,6 @@ class Renderable extends Rect {
602
590
  * automatically called by the game manager {@link game}
603
591
  * @name update
604
592
  * @memberof Renderable
605
- * @function
606
593
  * @protected
607
594
  * @param {number} dt time since the last update in milliseconds.
608
595
  * @returns {boolean} true if the renderable is dirty
@@ -616,7 +603,6 @@ class Renderable extends Rect {
616
603
  * @ignore
617
604
  * @name updateBounds
618
605
  * @memberof Renderable
619
- * @function
620
606
  * @returns {Bounds} this shape bounding box Rectangle object
621
607
  */
622
608
  updateBounds() {
@@ -630,7 +616,6 @@ class Renderable extends Rect {
630
616
  * @ignore
631
617
  * @name updateBoundsPos
632
618
  * @memberof Renderable
633
- * @function
634
619
  */
635
620
  updateBoundsPos(newX, newY) {
636
621
  var bounds = this.getBounds();
@@ -663,7 +648,6 @@ class Renderable extends Rect {
663
648
  * return the renderable absolute position in the game world
664
649
  * @name getAbsolutePosition
665
650
  * @memberof Renderable
666
- * @function
667
651
  * @returns {Vector2d}
668
652
  */
669
653
  getAbsolutePosition() {
@@ -683,7 +667,6 @@ class Renderable extends Rect {
683
667
  * @private
684
668
  * @name onAnchorUpdate
685
669
  * @memberof Renderable
686
- * @function
687
670
  * @param {number} x the new X value to be set for the anchor
688
671
  * @param {number} y the new Y value to be set for the anchor
689
672
  */
@@ -701,7 +684,6 @@ class Renderable extends Rect {
701
684
  * automatically called by the game manager {@link game}
702
685
  * @name preDraw
703
686
  * @memberof Renderable
704
- * @function
705
687
  * @protected
706
688
  * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
707
689
  */
@@ -757,7 +739,6 @@ class Renderable extends Rect {
757
739
  * automatically called by the game manager {@link game}
758
740
  * @name draw
759
741
  * @memberof Renderable
760
- * @function
761
742
  * @protected
762
743
  * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
763
744
  */
@@ -770,7 +751,6 @@ class Renderable extends Rect {
770
751
  * automatically called by the game manager {@link game}
771
752
  * @name postDraw
772
753
  * @memberof Renderable
773
- * @function
774
754
  * @protected
775
755
  * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
776
756
  */
@@ -795,7 +775,6 @@ class Renderable extends Rect {
795
775
  * when this renderable body is colliding with another one
796
776
  * @name onCollision
797
777
  * @memberof Renderable
798
- * @function
799
778
  * @param {collision.ResponseObject} response the collision response object
800
779
  * @param {Renderable} other the other renderable touching this one (a reference to response.a or response.b)
801
780
  * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
@@ -872,7 +851,6 @@ class Renderable extends Rect {
872
851
  * Called by engine before deleting the object
873
852
  * @name onDestroyEvent
874
853
  * @memberof Renderable
875
- * @function
876
854
  */
877
855
  onDestroyEvent() {
878
856
  // to be extended !
@@ -210,7 +210,6 @@ class Sprite extends Renderable {
210
210
  * return the flickering state of the object
211
211
  * @name isFlickering
212
212
  * @memberof Sprite
213
- * @function
214
213
  * @returns {boolean}
215
214
  */
216
215
  isFlickering() {
@@ -221,7 +220,6 @@ class Sprite extends Renderable {
221
220
  * make the object flicker
222
221
  * @name flicker
223
222
  * @memberof Sprite
224
- * @function
225
223
  * @param {number} duration expressed in milliseconds
226
224
  * @param {Function} callback Function to call when flickering ends
227
225
  * @returns {Sprite} Reference to this object for method chaining
@@ -252,7 +250,6 @@ class Sprite extends Renderable {
252
250
  * <img src="images/spritesheet_grid.png"/>
253
251
  * @name addAnimation
254
252
  * @memberof Sprite
255
- * @function
256
253
  * @param {string} name animation id
257
254
  * @param {number[]|string[]|object[]} index list of sprite index or name
258
255
  * defining the animation. Can also use objects to specify delay for each frame, see below
@@ -352,7 +349,6 @@ class Sprite extends Renderable {
352
349
  * this will always change the animation & set the frame to zero
353
350
  * @name setCurrentAnimation
354
351
  * @memberof Sprite
355
- * @function
356
352
  * @param {string} name animation id
357
353
  * @param {string|Function} [resetAnim] animation id to switch to when complete, or callback
358
354
  * @param {boolean} [preserve_dt=false] if false will reset the elapsed time counter since last frame
@@ -413,7 +409,6 @@ class Sprite extends Renderable {
413
409
  * reverse the given or current animation if none is specified
414
410
  * @name reverseAnimation
415
411
  * @memberof Sprite
416
- * @function
417
412
  * @param {string} [name] animation id
418
413
  * @returns {Sprite} Reference to this object for method chaining
419
414
  * @see Sprite#animationspeed
@@ -432,7 +427,6 @@ class Sprite extends Renderable {
432
427
  * return true if the specified animation is the current one.
433
428
  * @name isCurrentAnimation
434
429
  * @memberof Sprite
435
- * @function
436
430
  * @param {string} name animation id
437
431
  * @returns {boolean}
438
432
  * @example
@@ -449,7 +443,6 @@ class Sprite extends Renderable {
449
443
  * @see Texture.getRegion
450
444
  * @name setRegion
451
445
  * @memberof Sprite
452
- * @function
453
446
  * @param {object} region typically returned through me.Texture.getRegion()
454
447
  * @returns {Sprite} Reference to this object for method chaining
455
448
  * @example
@@ -481,7 +474,6 @@ class Sprite extends Renderable {
481
474
  * force the current animation frame index.
482
475
  * @name setAnimationFrame
483
476
  * @memberof Sprite
484
- * @function
485
477
  * @param {number} [idx=0] animation frame index
486
478
  * @returns {Sprite} Reference to this object for method chaining
487
479
  * @example
@@ -497,7 +489,6 @@ class Sprite extends Renderable {
497
489
  * return the current animation frame index.
498
490
  * @name getCurrentAnimationFrame
499
491
  * @memberof Sprite
500
- * @function
501
492
  * @returns {number} current animation frame index
502
493
  */
503
494
  getCurrentAnimationFrame() {
@@ -508,7 +499,6 @@ class Sprite extends Renderable {
508
499
  * Returns the frame object by the index.
509
500
  * @name getAnimationFrameObjectByIndex
510
501
  * @memberof Sprite
511
- * @function
512
502
  * @ignore
513
503
  * @param {number} id the frame id
514
504
  * @returns {number} if using number indices. Returns {object} containing frame data if using texture atlas
@@ -522,7 +512,6 @@ class Sprite extends Renderable {
522
512
  * automatically called by the game manager {@link game}
523
513
  * @name update
524
514
  * @memberof Sprite
525
- * @function
526
515
  * @protected
527
516
  * @param {number} dt time since the last update in milliseconds.
528
517
  * @returns {boolean} true if the Sprite is dirty
@@ -601,7 +590,6 @@ class Sprite extends Renderable {
601
590
  * automatically called by the game manager {@link game}
602
591
  * @name draw
603
592
  * @memberof Sprite
604
- * @function
605
593
  * @protected
606
594
  * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
607
595
  */
@@ -3,6 +3,7 @@ import collision from "./../physics/collision.js";
3
3
  import Body from "./../physics/body.js";
4
4
  import level from "./../level/level.js";
5
5
  import { world, viewport } from "./../game.js";
6
+ import pool from "./../system/pooling.js";
6
7
 
7
8
  /**
8
9
  * @classdesc
@@ -105,7 +106,6 @@ class Trigger extends Renderable {
105
106
  * trigger this event
106
107
  * @name triggerEvent
107
108
  * @memberof Trigger
108
- * @function
109
109
  * @protected
110
110
  */
111
111
  triggerEvent() {
@@ -116,7 +116,6 @@ class Stage {
116
116
  * @name update
117
117
  * @memberof Stage
118
118
  * @ignore
119
- * @function
120
119
  * @param {number} dt time since the last update in milliseconds.
121
120
  * @returns {boolean}
122
121
  */
@@ -147,7 +146,6 @@ class Stage {
147
146
  * @name draw
148
147
  * @memberof Stage
149
148
  * @ignore
150
- * @function
151
149
  * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
152
150
  */
153
151
  draw(renderer) {
@@ -203,7 +201,6 @@ class Stage {
203
201
  * this is typically where you will load a level, add renderables, etc...
204
202
  * @name onResetEvent
205
203
  * @memberof Stage
206
- * @function
207
204
  * @param {object} [...arguments] optional arguments passed when switching state
208
205
  * @see state#change
209
206
  */
@@ -220,7 +217,6 @@ class Stage {
220
217
  * called by the state manager before switching to another state
221
218
  * @name onDestroyEvent
222
219
  * @memberof Stage
223
- * @function
224
220
  */
225
221
  onDestroyEvent() {
226
222
  // execute onDestroyEvent function if given through the constructor