melonjs 10.2.0 → 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 (95) hide show
  1. package/README.md +1 -1
  2. package/dist/melonjs.js +4435 -4283
  3. package/dist/melonjs.min.js +4 -4
  4. package/dist/melonjs.module.d.ts +3348 -3833
  5. package/dist/melonjs.module.js +4025 -3920
  6. package/package.json +13 -14
  7. package/src/audio/audio.js +45 -45
  8. package/src/camera/camera2d.js +78 -101
  9. package/src/entity/draggable.js +21 -29
  10. package/src/entity/droptarget.js +24 -31
  11. package/src/entity/entity.js +34 -38
  12. package/src/game.js +8 -8
  13. package/src/{shapes → geometries}/ellipse.js +46 -46
  14. package/src/{shapes → geometries}/line.js +14 -14
  15. package/src/{shapes → geometries}/poly.js +103 -54
  16. package/src/{shapes → geometries}/rectangle.js +73 -120
  17. package/src/index.js +18 -19
  18. package/src/input/gamepad.js +20 -20
  19. package/src/input/input.js +3 -3
  20. package/src/input/keyboard.js +122 -124
  21. package/src/input/pointer.js +102 -62
  22. package/src/input/pointerevent.js +97 -42
  23. package/src/lang/deprecated.js +29 -18
  24. package/src/level/level.js +34 -26
  25. package/src/level/tiled/TMXGroup.js +12 -13
  26. package/src/level/tiled/TMXLayer.js +41 -42
  27. package/src/level/tiled/TMXObject.js +76 -70
  28. package/src/level/tiled/TMXTile.js +13 -15
  29. package/src/level/tiled/TMXTileMap.js +26 -25
  30. package/src/level/tiled/TMXTileset.js +14 -15
  31. package/src/level/tiled/TMXTilesetGroup.js +5 -6
  32. package/src/level/tiled/TMXUtils.js +13 -11
  33. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +3 -4
  34. package/src/level/tiled/renderer/TMXIsometricRenderer.js +3 -4
  35. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -3
  36. package/src/level/tiled/renderer/TMXRenderer.js +18 -19
  37. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +2 -3
  38. package/src/loader/loader.js +46 -40
  39. package/src/loader/loadingscreen.js +7 -7
  40. package/src/math/color.js +68 -88
  41. package/src/math/math.js +33 -33
  42. package/src/math/matrix2.js +70 -71
  43. package/src/math/matrix3.js +90 -91
  44. package/src/math/observable_vector2.js +91 -92
  45. package/src/math/observable_vector3.js +110 -106
  46. package/src/math/vector2.js +116 -104
  47. package/src/math/vector3.js +129 -110
  48. package/src/particles/emitter.js +116 -126
  49. package/src/particles/particle.js +4 -5
  50. package/src/particles/particlecontainer.js +2 -3
  51. package/src/physics/body.js +82 -83
  52. package/src/physics/bounds.js +64 -66
  53. package/src/physics/collision.js +21 -22
  54. package/src/physics/detector.js +13 -13
  55. package/src/physics/quadtree.js +26 -25
  56. package/src/physics/sat.js +21 -21
  57. package/src/physics/world.js +23 -22
  58. package/src/plugin/plugin.js +12 -13
  59. package/src/renderable/GUI.js +20 -26
  60. package/src/renderable/collectable.js +6 -7
  61. package/src/renderable/colorlayer.js +11 -12
  62. package/src/renderable/container.js +98 -81
  63. package/src/renderable/imagelayer.js +33 -35
  64. package/src/renderable/nineslicesprite.js +15 -16
  65. package/src/renderable/renderable.js +112 -111
  66. package/src/renderable/sprite.js +71 -58
  67. package/src/renderable/trigger.js +17 -19
  68. package/src/state/stage.js +14 -15
  69. package/src/state/state.js +78 -78
  70. package/src/system/device.js +137 -180
  71. package/src/system/event.js +116 -104
  72. package/src/system/pooling.js +15 -15
  73. package/src/system/save.js +9 -6
  74. package/src/system/timer.js +33 -33
  75. package/src/text/bitmaptext.js +39 -46
  76. package/src/text/bitmaptextdata.js +14 -15
  77. package/src/text/text.js +55 -58
  78. package/src/tweens/easing.js +5 -5
  79. package/src/tweens/interpolation.js +5 -5
  80. package/src/tweens/tween.js +49 -40
  81. package/src/utils/agent.js +12 -11
  82. package/src/utils/array.js +8 -8
  83. package/src/utils/file.js +7 -7
  84. package/src/utils/function.js +8 -8
  85. package/src/utils/string.js +19 -19
  86. package/src/utils/utils.js +23 -23
  87. package/src/video/canvas/canvas_renderer.js +127 -128
  88. package/src/video/renderer.js +69 -69
  89. package/src/video/texture.js +80 -82
  90. package/src/video/texture_cache.js +2 -4
  91. package/src/video/video.js +38 -38
  92. package/src/video/webgl/buffer/vertex.js +11 -3
  93. package/src/video/webgl/glshader.js +31 -32
  94. package/src/video/webgl/webgl_compositor.js +145 -127
  95. package/src/video/webgl/webgl_renderer.js +196 -175
@@ -1,6 +1,6 @@
1
1
  import ObservableVector2d from "./../math/observable_vector2.js";
2
2
  import ObservableVector3d from "./../math/observable_vector3.js";
3
- import Rect from "./../shapes/rectangle.js";
3
+ import Rect from "./../geometries/rectangle.js";
4
4
  import Container from "./container.js";
5
5
  import pool from "./../system/pooling.js";
6
6
  import { releaseAllPointerEvents } from "./../input/input.js";
@@ -10,13 +10,12 @@ import { clamp } from "./../math/math.js";
10
10
  * @classdesc
11
11
  * A base class for renderable objects.
12
12
  * @class Renderable
13
- * @extends me.Rect
14
- * @memberOf me
15
- * @constructor
16
- * @param {Number} x position of the renderable object (accessible through inherited pos.x property)
17
- * @param {Number} y position of the renderable object (accessible through inherited pos.y property)
18
- * @param {Number} width object width
19
- * @param {Number} height object height
13
+ * @augments me.Rect
14
+ * @memberof me
15
+ * @param {number} x position of the renderable object (accessible through inherited pos.x property)
16
+ * @param {number} y position of the renderable object (accessible through inherited pos.y property)
17
+ * @param {number} width object width
18
+ * @param {number} height object height
20
19
  */
21
20
  class Renderable extends Rect {
22
21
 
@@ -37,10 +36,10 @@ class Renderable extends Rect {
37
36
  /**
38
37
  * If true then physic collision and input events will not impact this renderable
39
38
  * @public
40
- * @type Boolean
39
+ * @type {boolean}
41
40
  * @default true
42
41
  * @name isKinematic
43
- * @memberOf me.Renderable
42
+ * @memberof me.Renderable
44
43
  */
45
44
  this.isKinematic = true;
46
45
 
@@ -50,7 +49,7 @@ class Renderable extends Rect {
50
49
  * @type {me.Body}
51
50
  * @see me.Body
52
51
  * @name body
53
- * @memberOf me.Renderable#
52
+ * @memberof me.Renderable#
54
53
  * @example
55
54
  * // define a new Player Class
56
55
  * class PlayerEntity extends me.Sprite {
@@ -88,9 +87,9 @@ class Renderable extends Rect {
88
87
  /**
89
88
  * the renderable default transformation matrix
90
89
  * @public
91
- * @type me.Matrix2d
90
+ * @type {me.Matrix2d}
92
91
  * @name currentTransform
93
- * @memberOf me.Renderable#
92
+ * @memberof me.Renderable#
94
93
  */
95
94
  if (typeof this.currentTransform === "undefined") {
96
95
  this.currentTransform = pool.pull("Matrix2d");
@@ -102,19 +101,19 @@ class Renderable extends Rect {
102
101
  * a GUID will be allocated for any renderable object added <br>
103
102
  * to an object container (including the `me.game.world` container)
104
103
  * @public
105
- * @type String
104
+ * @type {string}
106
105
  * @name GUID
107
- * @memberOf me.Renderable
106
+ * @memberof me.Renderable
108
107
  */
109
108
  this.GUID = undefined;
110
109
 
111
110
  /**
112
111
  * an event handler that is called when the renderable leave or enter a camera viewport
113
112
  * @public
114
- * @type function
113
+ * @type {Function}
115
114
  * @default undefined
116
115
  * @name onVisibilityChange
117
- * @memberOf me.Renderable#
116
+ * @memberof me.Renderable#
118
117
  * @example
119
118
  * this.onVisibilityChange = function(inViewport) {
120
119
  * if (inViewport === true) {
@@ -127,30 +126,30 @@ class Renderable extends Rect {
127
126
  /**
128
127
  * Whether the renderable object will always update, even when outside of the viewport<br>
129
128
  * @public
130
- * @type Boolean
129
+ * @type {boolean}
131
130
  * @default false
132
131
  * @name alwaysUpdate
133
- * @memberOf me.Renderable
132
+ * @memberof me.Renderable
134
133
  */
135
134
  this.alwaysUpdate = false;
136
135
 
137
136
  /**
138
137
  * Whether to update this object when the game is paused.
139
138
  * @public
140
- * @type Boolean
139
+ * @type {boolean}
141
140
  * @default false
142
141
  * @name updateWhenPaused
143
- * @memberOf me.Renderable
142
+ * @memberof me.Renderable
144
143
  */
145
144
  this.updateWhenPaused = false;
146
145
 
147
146
  /**
148
147
  * make the renderable object persistent over level changes<br>
149
148
  * @public
150
- * @type Boolean
149
+ * @type {boolean}
151
150
  * @default false
152
151
  * @name isPersistent
153
- * @memberOf me.Renderable
152
+ * @memberof me.Renderable
154
153
  */
155
154
  this.isPersistent = false;
156
155
 
@@ -158,10 +157,10 @@ class Renderable extends Rect {
158
157
  * If true, this renderable will be rendered using screen coordinates,
159
158
  * as opposed to world coordinates. Use this, for example, to define UI elements.
160
159
  * @public
161
- * @type Boolean
160
+ * @type {boolean}
162
161
  * @default false
163
162
  * @name floating
164
- * @memberOf me.Renderable
163
+ * @memberof me.Renderable
165
164
  */
166
165
  this.floating = false;
167
166
 
@@ -174,10 +173,10 @@ class Renderable extends Rect {
174
173
  * <i><b>Note:</b> Object created through Tiled will have their anchorPoint set to (0, 0) to match Tiled Level editor implementation.
175
174
  * To specify a value through Tiled, use a json expression like `json:{"x":0.5,"y":0.5}`. </i>
176
175
  * @public
177
- * @type me.ObservableVector2d
176
+ * @type {me.ObservableVector2d}
178
177
  * @default <0.5,0.5>
179
178
  * @name anchorPoint
180
- * @memberOf me.Renderable#
179
+ * @memberof me.Renderable#
181
180
  */
182
181
  if (this.anchorPoint instanceof ObservableVector2d) {
183
182
  this.anchorPoint.setMuted(0.5, 0.5).setCallback(this.onAnchorUpdate, this);
@@ -189,10 +188,10 @@ class Renderable extends Rect {
189
188
  * When enabled, an object container will automatically apply
190
189
  * any defined transformation before calling the child draw method.
191
190
  * @public
192
- * @type Boolean
191
+ * @type {boolean}
193
192
  * @default true
194
193
  * @name autoTransform
195
- * @memberOf me.Renderable
194
+ * @memberof me.Renderable
196
195
  * @example
197
196
  * // enable "automatic" transformation when the object is activated
198
197
  * onActivateEvent: function () {
@@ -213,7 +212,7 @@ class Renderable extends Rect {
213
212
  * @see me.Renderable#setOpacity
214
213
  * @see me.Renderable#getOpacity
215
214
  * @public
216
- * @type Number
215
+ * @type {number}
217
216
  * @default 1.0
218
217
  * @name me.Renderable#alpha
219
218
  */
@@ -222,7 +221,7 @@ class Renderable extends Rect {
222
221
  /**
223
222
  * a reference to the parent object that contains this renderable
224
223
  * @public
225
- * @type me.Container|me.Entity
224
+ * @type {me.Container|me.Entity}
226
225
  * @default undefined
227
226
  * @name me.Renderable#ancestor
228
227
  */
@@ -235,7 +234,7 @@ class Renderable extends Rect {
235
234
  * @type {me.Rect|me.Polygon|me.Line|me.Ellipse}
236
235
  * @name mask
237
236
  * @default undefined
238
- * @memberOf me.Renderable#
237
+ * @memberof me.Renderable#
239
238
  * @example
240
239
  * // apply a mask in the shape of a Star
241
240
  * myNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [
@@ -260,7 +259,7 @@ class Renderable extends Rect {
260
259
  * @type {me.Color}
261
260
  * @name tint
262
261
  * @default (255, 255, 255)
263
- * @memberOf me.Renderable#
262
+ * @memberof me.Renderable#
264
263
  * @example
265
264
  * // add a red tint to this renderable
266
265
  * this.tint.setColor(255, 128, 128);
@@ -272,10 +271,10 @@ class Renderable extends Rect {
272
271
  /**
273
272
  * The name of the renderable
274
273
  * @public
275
- * @type {String}
274
+ * @type {string}
276
275
  * @name name
277
276
  * @default ""
278
- * @memberOf me.Renderable
277
+ * @memberof me.Renderable
279
278
  */
280
279
  this.name = "";
281
280
 
@@ -284,7 +283,7 @@ class Renderable extends Rect {
284
283
  * @public
285
284
  * @type {me.ObservableVector3d}
286
285
  * @name pos
287
- * @memberOf me.Renderable#
286
+ * @memberof me.Renderable#
288
287
  */
289
288
  if (this.pos instanceof ObservableVector3d) {
290
289
  this.pos.setMuted(x, y, 0).setCallback(this.updateBoundsPos, this);
@@ -294,10 +293,10 @@ class Renderable extends Rect {
294
293
 
295
294
  /**
296
295
  * when true the renderable will be redrawn during the next update cycle
297
- * @type {Boolean}
296
+ * @type {boolean}
298
297
  * @name isDirty
299
298
  * @default false
300
- * @memberOf me.Renderable#
299
+ * @memberof me.Renderable#
301
300
  */
302
301
  this.isDirty = false;
303
302
 
@@ -314,26 +313,33 @@ class Renderable extends Rect {
314
313
  this.setOpacity(1.0);
315
314
  }
316
315
 
316
+ /**
317
+ * Whether the renderable object is floating, or contained in a floating container
318
+ * @public
319
+ * @see me.Renderable#floating
320
+ * @readonly
321
+ * @type {boolean}
322
+ * @name isFloating
323
+ * @memberof me.Renderable
324
+ */
325
+ get isFloating() {
326
+ return this.floating === true || (typeof this.ancestor !== "undefined" && this.ancestor.floating === true);
327
+ }
328
+
317
329
  /**
318
330
  * Whether the renderable object is visible and within the viewport
319
331
  * @public
320
332
  * @readonly
321
- * @type Boolean
333
+ * @type {boolean}
322
334
  * @default false
323
335
  * @name inViewport
324
- * @memberOf me.Renderable
336
+ * @memberof me.Renderable
325
337
  */
326
338
 
327
- /**
328
- * @ignore
329
- */
330
339
  get inViewport() {
331
340
  return this._inViewport;
332
341
  }
333
342
 
334
- /**
335
- * @ignore
336
- */
337
343
  set inViewport(value) {
338
344
  if (this._inViewport !== value) {
339
345
  this._inViewport = value;
@@ -347,14 +353,11 @@ class Renderable extends Rect {
347
353
  * returns true if this renderable is flipped on the horizontal axis
348
354
  * @public
349
355
  * @see me.Renderable#flipX
350
- * @type {Boolean}
356
+ * @type {boolean}
351
357
  * @name isFlippedX
352
- * @memberOf me.Renderable
358
+ * @memberof me.Renderable
353
359
  */
354
360
 
355
- /**
356
- * @ignore
357
- */
358
361
  get isFlippedX() {
359
362
  return this._flip.x === true;
360
363
  }
@@ -363,14 +366,11 @@ class Renderable extends Rect {
363
366
  * returns true if this renderable is flipped on the vertical axis
364
367
  * @public
365
368
  * @see me.Renderable#flipY
366
- * @type {Boolean}
369
+ * @type {boolean}
367
370
  * @name isFlippedY
368
- * @memberOf me.Renderable
371
+ * @memberof me.Renderable
369
372
  */
370
373
 
371
- /**
372
- * @ignore
373
- */
374
374
  get isFlippedY() {
375
375
  return this._flip.y === true;
376
376
  }
@@ -378,9 +378,9 @@ class Renderable extends Rect {
378
378
  /**
379
379
  * returns the bounding box for this renderable
380
380
  * @name getBounds
381
- * @memberOf me.Renderable.prototype
381
+ * @memberof me.Renderable.prototype
382
382
  * @function
383
- * @return {me.Bounds} bounding box Rectangle object
383
+ * @returns {me.Bounds} bounding box Rectangle object
384
384
  */
385
385
  getBounds() {
386
386
  if (typeof this._bounds === "undefined") {
@@ -399,9 +399,9 @@ class Renderable extends Rect {
399
399
  /**
400
400
  * get the renderable alpha channel value<br>
401
401
  * @name getOpacity
402
- * @memberOf me.Renderable.prototype
402
+ * @memberof me.Renderable.prototype
403
403
  * @function
404
- * @return {Number} current opacity value between 0 and 1
404
+ * @returns {number} current opacity value between 0 and 1
405
405
  */
406
406
  getOpacity() {
407
407
  return this.alpha;
@@ -410,9 +410,9 @@ class Renderable extends Rect {
410
410
  /**
411
411
  * set the renderable alpha channel value<br>
412
412
  * @name setOpacity
413
- * @memberOf me.Renderable.prototype
413
+ * @memberof me.Renderable.prototype
414
414
  * @function
415
- * @param {Number} alpha opacity value between 0.0 and 1.0
415
+ * @param {number} alpha opacity value between 0.0 and 1.0
416
416
  */
417
417
  setOpacity(alpha) {
418
418
  if (typeof (alpha) === "number") {
@@ -429,10 +429,10 @@ class Renderable extends Rect {
429
429
  * flip the renderable on the horizontal axis (around the center of the renderable)
430
430
  * @see me.Matrix2d#scaleX
431
431
  * @name flipX
432
- * @memberOf me.Renderable.prototype
432
+ * @memberof me.Renderable.prototype
433
433
  * @function
434
- * @param {Boolean} [flip=true] `true` to flip this renderable.
435
- * @return {me.Renderable} Reference to this object for method chaining
434
+ * @param {boolean} [flip=true] `true` to flip this renderable.
435
+ * @returns {me.Renderable} Reference to this object for method chaining
436
436
  */
437
437
  flipX(flip = true) {
438
438
  this._flip.x = !!flip;
@@ -444,10 +444,10 @@ class Renderable extends Rect {
444
444
  * flip the renderable on the vertical axis (around the center of the renderable)
445
445
  * @see me.Matrix2d#scaleY
446
446
  * @name flipY
447
- * @memberOf me.Renderable.prototype
447
+ * @memberof me.Renderable.prototype
448
448
  * @function
449
- * @param {Boolean} [flip=true] `true` to flip this renderable.
450
- * @return {me.Renderable} Reference to this object for method chaining
449
+ * @param {boolean} [flip=true] `true` to flip this renderable.
450
+ * @returns {me.Renderable} Reference to this object for method chaining
451
451
  */
452
452
  flipY(flip = true) {
453
453
  this._flip.y = !!flip;
@@ -458,11 +458,11 @@ class Renderable extends Rect {
458
458
  /**
459
459
  * multiply the renderable currentTransform with the given matrix
460
460
  * @name transform
461
- * @memberOf me.Renderable.prototype
461
+ * @memberof me.Renderable.prototype
462
462
  * @see me.Renderable#currentTransform
463
463
  * @function
464
- * @param {me.Matrix2d} matrix the transformation matrix
465
- * @return {me.Renderable} Reference to this object for method chaining
464
+ * @param {me.Matrix2d} m the transformation matrix
465
+ * @returns {me.Renderable} Reference to this object for method chaining
466
466
  */
467
467
  transform(m) {
468
468
  this.currentTransform.multiply(m);
@@ -475,10 +475,10 @@ class Renderable extends Rect {
475
475
  /**
476
476
  * return the angle to the specified target
477
477
  * @name angleTo
478
- * @memberOf me.Renderable
478
+ * @memberof me.Renderable
479
479
  * @function
480
480
  * @param {me.Renderable|me.Vector2d|me.Vector3d} target
481
- * @return {Number} angle in radians
481
+ * @returns {number} angle in radians
482
482
  */
483
483
  angleTo(target) {
484
484
  var a = this.getBounds();
@@ -499,10 +499,10 @@ class Renderable extends Rect {
499
499
  /**
500
500
  * return the distance to the specified target
501
501
  * @name distanceTo
502
- * @memberOf me.Renderable
502
+ * @memberof me.Renderable
503
503
  * @function
504
504
  * @param {me.Renderable|me.Vector2d|me.Vector3d} target
505
- * @return {Number} distance
505
+ * @returns {number} distance
506
506
  */
507
507
  distanceTo(target) {
508
508
  var a = this.getBounds();
@@ -523,10 +523,10 @@ class Renderable extends Rect {
523
523
  /**
524
524
  * Rotate this renderable towards the given target.
525
525
  * @name lookAt
526
- * @memberOf me.Renderable.prototype
526
+ * @memberof me.Renderable.prototype
527
527
  * @function
528
528
  * @param {me.Renderable|me.Vector2d|me.Vector3d} target the renderable or position to look at
529
- * @return {me.Renderable} Reference to this object for method chaining
529
+ * @returns {me.Renderable} Reference to this object for method chaining
530
530
  */
531
531
  lookAt(target) {
532
532
  var position;
@@ -547,15 +547,15 @@ class Renderable extends Rect {
547
547
  /**
548
548
  * Rotate this renderable by the specified angle (in radians).
549
549
  * @name rotate
550
- * @memberOf me.Renderable.prototype
550
+ * @memberof me.Renderable.prototype
551
551
  * @function
552
- * @param {Number} angle The angle to rotate (in radians)
552
+ * @param {number} angle The angle to rotate (in radians)
553
553
  * @param {me.Vector2d|me.ObservableVector2d} [v] an optional point to rotate around
554
- * @return {me.Renderable} Reference to this object for method chaining
554
+ * @returns {me.Renderable} Reference to this object for method chaining
555
555
  */
556
- rotate(angle) {
556
+ rotate(angle, v) {
557
557
  if (!isNaN(angle)) {
558
- this.currentTransform.rotate(angle);
558
+ this.currentTransform.rotate(angle, v);
559
559
  //this.updateBoundsPos(this.pos.x, this.pos.y);
560
560
  this.isDirty = true;
561
561
  }
@@ -569,11 +569,11 @@ class Renderable extends Rect {
569
569
  * is an image, the image.width and image.height properties are unaltered but the currentTransform
570
570
  * member will be changed.
571
571
  * @name scale
572
- * @memberOf me.Renderable.prototype
572
+ * @memberof me.Renderable.prototype
573
573
  * @function
574
- * @param {Number} x a number representing the abscissa of the scaling vector.
575
- * @param {Number} [y=x] a number representing the ordinate of the scaling vector.
576
- * @return {me.Renderable} Reference to this object for method chaining
574
+ * @param {number} x a number representing the abscissa of the scaling vector.
575
+ * @param {number} [y=x] a number representing the ordinate of the scaling vector.
576
+ * @returns {me.Renderable} Reference to this object for method chaining
577
577
  */
578
578
  scale(x, y) {
579
579
  this.currentTransform.scale(x, y);
@@ -585,10 +585,10 @@ class Renderable extends Rect {
585
585
  /**
586
586
  * scale the renderable around his anchor point
587
587
  * @name scaleV
588
- * @memberOf me.Renderable.prototype
588
+ * @memberof me.Renderable.prototype
589
589
  * @function
590
- * @param {me.Vector2d} vector scaling vector
591
- * @return {me.Renderable} Reference to this object for method chaining
590
+ * @param {me.Vector2d} v scaling vector
591
+ * @returns {me.Renderable} Reference to this object for method chaining
592
592
  */
593
593
  scaleV(v) {
594
594
  this.scale(v.x, v.y);
@@ -599,12 +599,12 @@ class Renderable extends Rect {
599
599
  * update function. <br>
600
600
  * automatically called by the game manager {@link me.game}
601
601
  * @name update
602
- * @memberOf me.Renderable.prototype
602
+ * @memberof me.Renderable.prototype
603
603
  * @function
604
604
  * @protected
605
- * @param {Number} dt time since the last update in milliseconds.
606
- * @return false
607
- **/
605
+ * @param {number} dt time since the last update in milliseconds.
606
+ * @returns {boolean} true if the renderable is dirty
607
+ */
608
608
  update(/* dt */) {
609
609
  return this.isDirty;
610
610
  }
@@ -613,9 +613,9 @@ class Renderable extends Rect {
613
613
  * update the bounding box for this shape.
614
614
  * @ignore
615
615
  * @name updateBounds
616
- * @memberOf me.Renderable.prototype
616
+ * @memberof me.Renderable.prototype
617
617
  * @function
618
- * @return {me.Bounds} this shape bounding box Rectangle object
618
+ * @returns {me.Bounds} this shape bounding box Rectangle object
619
619
  */
620
620
  updateBounds() {
621
621
  super.updateBounds();
@@ -627,7 +627,7 @@ class Renderable extends Rect {
627
627
  * update the renderable's bounding rect (private)
628
628
  * @ignore
629
629
  * @name updateBoundsPos
630
- * @memberOf me.Renderable.prototype
630
+ * @memberof me.Renderable.prototype
631
631
  * @function
632
632
  */
633
633
  updateBoundsPos(newX, newY) {
@@ -659,9 +659,9 @@ class Renderable extends Rect {
659
659
  /**
660
660
  * return the renderable absolute position in the game world
661
661
  * @name getAbsolutePosition
662
- * @memberOf me.Renderable.prototype
662
+ * @memberof me.Renderable.prototype
663
663
  * @function
664
- * @return {me.Vector2d}
664
+ * @returns {me.Vector2d}
665
665
  */
666
666
  getAbsolutePosition() {
667
667
  if (typeof this._absPos === "undefined") {
@@ -679,28 +679,29 @@ class Renderable extends Rect {
679
679
  * called when the anchor point value is changed
680
680
  * @private
681
681
  * @name onAnchorUpdate
682
- * @memberOf me.Renderable.prototype
682
+ * @memberof me.Renderable.prototype
683
683
  * @function
684
+ * @param {number} x the new X value to be set for the anchor
685
+ * @param {number} y the new Y value to be set for the anchor
684
686
  */
685
- onAnchorUpdate(newX, newY) {
687
+ onAnchorUpdate(x, y) {
686
688
  // since the callback is called before setting the new value
687
689
  // manually update the anchor point (required for updateBoundsPos)
688
- this.anchorPoint.setMuted(newX, newY);
690
+ this.anchorPoint.setMuted(x, y);
689
691
  // then call updateBounds
690
692
  this.updateBoundsPos(this.pos.x, this.pos.y);
691
693
  }
692
694
 
693
-
694
695
  /**
695
696
  * prepare the rendering context before drawing
696
697
  * (apply defined transforms, anchor point). <br>
697
698
  * automatically called by the game manager {@link me.game}
698
699
  * @name preDraw
699
- * @memberOf me.Renderable.prototype
700
+ * @memberof me.Renderable.prototype
700
701
  * @function
701
702
  * @protected
702
703
  * @param {me.CanvasRenderer|me.WebGLRenderer} renderer a renderer object
703
- **/
704
+ */
704
705
  preDraw(renderer) {
705
706
  var bounds = this.getBounds();
706
707
  var ax = bounds.width * this.anchorPoint.x,
@@ -747,11 +748,11 @@ class Renderable extends Rect {
747
748
  * object draw. <br>
748
749
  * automatically called by the game manager {@link me.game}
749
750
  * @name draw
750
- * @memberOf me.Renderable.prototype
751
+ * @memberof me.Renderable.prototype
751
752
  * @function
752
753
  * @protected
753
754
  * @param {me.CanvasRenderer|me.WebGLRenderer} renderer a renderer object
754
- **/
755
+ */
755
756
  draw(/*renderer*/) {
756
757
  // empty one !
757
758
  }
@@ -760,11 +761,11 @@ class Renderable extends Rect {
760
761
  * restore the rendering context after drawing. <br>
761
762
  * automatically called by the game manager {@link me.game}
762
763
  * @name postDraw
763
- * @memberOf me.Renderable.prototype
764
+ * @memberof me.Renderable.prototype
764
765
  * @function
765
766
  * @protected
766
767
  * @param {me.CanvasRenderer|me.WebGLRenderer} renderer a renderer object
767
- **/
768
+ */
768
769
  postDraw(renderer) {
769
770
 
770
771
  // remove the previously applied tint
@@ -786,11 +787,11 @@ class Renderable extends Rect {
786
787
  * onCollision callback, triggered in case of collision,
787
788
  * when this renderable body is colliding with another one
788
789
  * @name onCollision
789
- * @memberOf me.Renderable.prototype
790
+ * @memberof me.Renderable.prototype
790
791
  * @function
791
792
  * @param {me.collision.ResponseObject} response the collision response object
792
793
  * @param {me.Renderable} other the other renderable touching this one (a reference to response.a or response.b)
793
- * @return {Boolean} true if the object should respond to the collision (its position and velocity will be corrected)
794
+ * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
794
795
  * @example
795
796
  * // colision handler
796
797
  * onCollision(response) {
@@ -863,7 +864,7 @@ class Renderable extends Rect {
863
864
  * OnDestroy Notification function<br>
864
865
  * Called by engine before deleting the object
865
866
  * @name onDestroyEvent
866
- * @memberOf me.Renderable
867
+ * @memberof me.Renderable
867
868
  * @function
868
869
  */
869
870
  onDestroyEvent() {