melonjs 10.3.0 → 10.4.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 (94) hide show
  1. package/README.md +6 -6
  2. package/dist/melonjs.js +2419 -3072
  3. package/dist/melonjs.min.js +3 -3
  4. package/dist/melonjs.module.d.ts +3417 -3816
  5. package/dist/melonjs.module.js +2737 -3002
  6. package/package.json +16 -16
  7. package/src/audio/audio.js +29 -30
  8. package/src/camera/camera2d.js +46 -56
  9. package/src/entity/draggable.js +12 -13
  10. package/src/entity/droptarget.js +13 -15
  11. package/src/entity/entity.js +30 -36
  12. package/src/game.js +21 -22
  13. package/src/geometries/ellipse.js +40 -46
  14. package/src/geometries/line.js +9 -11
  15. package/src/geometries/poly.js +53 -53
  16. package/src/geometries/rectangle.js +42 -44
  17. package/src/index.js +4 -14
  18. package/src/input/gamepad.js +11 -10
  19. package/src/input/input.js +2 -3
  20. package/src/input/keyboard.js +113 -113
  21. package/src/input/pointer.js +30 -31
  22. package/src/input/pointerevent.js +26 -26
  23. package/src/lang/deprecated.js +25 -6
  24. package/src/level/level.js +23 -24
  25. package/src/level/tiled/TMXGroup.js +7 -8
  26. package/src/level/tiled/TMXLayer.js +30 -32
  27. package/src/level/tiled/TMXObject.js +21 -21
  28. package/src/level/tiled/TMXTile.js +18 -18
  29. package/src/level/tiled/TMXTileMap.js +37 -44
  30. package/src/level/tiled/TMXTileset.js +12 -15
  31. package/src/level/tiled/TMXTilesetGroup.js +9 -9
  32. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
  33. package/src/level/tiled/renderer/TMXIsometricRenderer.js +7 -8
  34. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +4 -5
  35. package/src/level/tiled/renderer/TMXRenderer.js +24 -25
  36. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -4
  37. package/src/loader/loader.js +14 -15
  38. package/src/loader/loadingscreen.js +2 -4
  39. package/src/math/color.js +47 -66
  40. package/src/math/math.js +15 -16
  41. package/src/math/matrix2.js +53 -58
  42. package/src/math/matrix3.js +56 -62
  43. package/src/math/observable_vector2.js +75 -76
  44. package/src/math/observable_vector3.js +79 -80
  45. package/src/math/vector2.js +91 -92
  46. package/src/math/vector3.js +94 -96
  47. package/src/particles/emitter.js +38 -40
  48. package/src/particles/particle.js +4 -5
  49. package/src/particles/particlecontainer.js +2 -3
  50. package/src/physics/body.js +44 -142
  51. package/src/physics/bounds.js +47 -47
  52. package/src/physics/collision.js +13 -14
  53. package/src/physics/detector.js +14 -14
  54. package/src/physics/quadtree.js +17 -19
  55. package/src/physics/sat.js +26 -26
  56. package/src/physics/world.js +24 -28
  57. package/src/plugin/plugin.js +11 -14
  58. package/src/renderable/GUI.js +41 -46
  59. package/src/renderable/collectable.js +4 -8
  60. package/src/renderable/colorlayer.js +6 -10
  61. package/src/renderable/container.js +87 -72
  62. package/src/renderable/imagelayer.js +25 -31
  63. package/src/renderable/nineslicesprite.js +41 -41
  64. package/src/renderable/renderable.js +112 -122
  65. package/src/renderable/sprite.js +62 -68
  66. package/src/renderable/trigger.js +25 -30
  67. package/src/state/stage.js +13 -17
  68. package/src/state/state.js +26 -27
  69. package/src/system/device.js +74 -75
  70. package/src/system/event.js +71 -72
  71. package/src/system/pooling.js +11 -12
  72. package/src/system/save.js +3 -4
  73. package/src/system/timer.js +19 -20
  74. package/src/text/bitmaptext.js +57 -54
  75. package/src/text/bitmaptextdata.js +10 -10
  76. package/src/text/glyph.js +3 -0
  77. package/src/text/text.js +44 -49
  78. package/src/tweens/easing.js +1 -1
  79. package/src/tweens/interpolation.js +1 -1
  80. package/src/tweens/tween.js +43 -44
  81. package/src/utils/agent.js +3 -4
  82. package/src/utils/array.js +4 -5
  83. package/src/utils/file.js +3 -4
  84. package/src/utils/function.js +4 -5
  85. package/src/utils/string.js +7 -9
  86. package/src/utils/utils.js +4 -5
  87. package/src/video/canvas/canvas_renderer.js +58 -59
  88. package/src/video/renderer.js +49 -53
  89. package/src/video/texture.js +98 -111
  90. package/src/video/texture_cache.js +2 -2
  91. package/src/video/video.js +15 -16
  92. package/src/video/webgl/glshader.js +37 -38
  93. package/src/video/webgl/webgl_compositor.js +31 -32
  94. package/src/video/webgl/webgl_renderer.js +79 -80
@@ -19,19 +19,14 @@ var globalFloatingCounter = 0;
19
19
  /**
20
20
  * @classdesc
21
21
  * me.Container represents a collection of child objects
22
- * @class Container
23
- * @augments me.Renderable
24
- * @memberof me
25
- * @param {number} [x=0] position of the container (accessible via the inherited pos.x property)
26
- * @param {number} [y=0] position of the container (accessible via the inherited pos.y property)
27
- * @param {number} [w=me.game.viewport.width] width of the container
28
- * @param {number} [h=me.game.viewport.height] height of the container
22
+ * @augments Renderable
29
23
  */
30
-
31
24
  class Container extends Renderable {
32
-
33
25
  /**
34
- * @ignore
26
+ * @param {number} [x=0] position of the container (accessible via the inherited pos.x property)
27
+ * @param {number} [y=0] position of the container (accessible via the inherited pos.y property)
28
+ * @param {number} [width=game.viewport.width] width of the container
29
+ * @param {number} [height=game.viewport.height] height of the container
35
30
  */
36
31
  constructor(x = 0, y = 0, width = game.viewport.width, height = game.viewport.height, root = false) {
37
32
 
@@ -50,7 +45,7 @@ class Container extends Renderable {
50
45
  * @type {boolean}
51
46
  * @default false
52
47
  * @name root
53
- * @memberof me.Container
48
+ * @memberof Container
54
49
  */
55
50
  this.root = root;
56
51
 
@@ -67,7 +62,7 @@ class Container extends Renderable {
67
62
  * @type {string}
68
63
  * @default me.game.sortOn
69
64
  * @name sortOn
70
- * @memberof me.Container
65
+ * @memberof Container
71
66
  */
72
67
  this.sortOn = game.sortOn;
73
68
 
@@ -77,7 +72,7 @@ class Container extends Renderable {
77
72
  * @type {boolean}
78
73
  * @default true
79
74
  * @name autoSort
80
- * @memberof me.Container
75
+ * @memberof Container
81
76
  */
82
77
  this.autoSort = true;
83
78
 
@@ -87,7 +82,7 @@ class Container extends Renderable {
87
82
  * @type {boolean}
88
83
  * @default true
89
84
  * @name autoDepth
90
- * @memberof me.Container
85
+ * @memberof Container
91
86
  */
92
87
  this.autoDepth = true;
93
88
 
@@ -97,14 +92,14 @@ class Container extends Renderable {
97
92
  * @type {boolean}
98
93
  * @default false
99
94
  * @name clipping
100
- * @memberof me.Container
95
+ * @memberof Container
101
96
  */
102
97
  this.clipping = false;
103
98
 
104
99
  /**
105
100
  * a callback to be extended, triggered after a child has been added or removed
106
101
  * @name onChildChange
107
- * @memberof me.Container#
102
+ * @memberof Container#
108
103
  * @function
109
104
  * @param {number} index added or removed child index
110
105
  */
@@ -120,10 +115,23 @@ class Container extends Renderable {
120
115
  * @type {boolean}
121
116
  * @default false
122
117
  * @name enableChildBoundsUpdate
123
- * @memberof me.Container
118
+ * @memberof Container
124
119
  */
125
120
  this.enableChildBoundsUpdate = false;
126
121
 
122
+ /**
123
+ * define a background color for this container
124
+ * @public
125
+ * @type {Color}
126
+ * @name backgroundColor
127
+ * @default (0, 0, 0, 0.0)
128
+ * @memberof Container
129
+ * @example
130
+ * // add a red background color to this container
131
+ * this.backgroundColor.setColor(255, 0, 0);
132
+ */
133
+ this.backgroundColor = pool.pull("Color", 0, 0, 0, 0.0);
134
+
127
135
  /**
128
136
  * Used by the debug panel plugin
129
137
  * @ignore
@@ -148,7 +156,7 @@ class Container extends Renderable {
148
156
  /**
149
157
  * reset the container, removing all childrens, and reseting transforms.
150
158
  * @name reset
151
- * @memberof me.Container
159
+ * @memberof Container
152
160
  * @function
153
161
  */
154
162
  reset() {
@@ -171,6 +179,8 @@ class Container extends Renderable {
171
179
  // just reset some variables
172
180
  this.currentTransform.identity();
173
181
  }
182
+
183
+ this.backgroundColor.setColor(0, 0, 0, 0.0);
174
184
  }
175
185
 
176
186
  /**
@@ -182,11 +192,11 @@ class Container extends Renderable {
182
192
  * orginal container. Then when the me.game.world.reset() is called the renderable
183
193
  * will not be in any container.
184
194
  * @name addChild
185
- * @memberof me.Container.prototype
195
+ * @memberof Container.prototype
186
196
  * @function
187
- * @param {me.Renderable} child
197
+ * @param {Renderable} child
188
198
  * @param {number} [z] forces the z index of the child to the specified value
189
- * @returns {me.Renderable} the added child
199
+ * @returns {Renderable} the added child
190
200
  */
191
201
  addChild(child, z) {
192
202
  if (child.ancestor instanceof Container) {
@@ -246,11 +256,11 @@ class Container extends Renderable {
246
256
  * Add a child to the container at the specified index<br>
247
257
  * (the list won't be sorted after insertion)
248
258
  * @name addChildAt
249
- * @memberof me.Container.prototype
259
+ * @memberof Container.prototype
250
260
  * @function
251
- * @param {me.Renderable} child
261
+ * @param {Renderable} child
252
262
  * @param {number} index
253
- * @returns {me.Renderable} the added child
263
+ * @returns {Renderable} the added child
254
264
  */
255
265
  addChildAt(child, index) {
256
266
  if (index >= 0 && index < this.getChildren().length) {
@@ -305,7 +315,7 @@ class Container extends Renderable {
305
315
  * - The index of element in the array. <br>
306
316
  * - The array forEach() was called upon. <br>
307
317
  * @name forEach
308
- * @memberof me.Container.prototype
318
+ * @memberof Container.prototype
309
319
  * @function
310
320
  * @param {Function} callback fnction to execute on each element
311
321
  * @param {object} [thisArg] value to use as this(i.e reference Object) when executing callback.
@@ -342,10 +352,10 @@ class Container extends Renderable {
342
352
  /**
343
353
  * Swaps the position (z-index) of 2 children
344
354
  * @name swapChildren
345
- * @memberof me.Container.prototype
355
+ * @memberof Container.prototype
346
356
  * @function
347
- * @param {me.Renderable} child
348
- * @param {me.Renderable} child2
357
+ * @param {Renderable} child
358
+ * @param {Renderable} child2
349
359
  */
350
360
  swapChildren(child, child2) {
351
361
  var index = this.getChildIndex(child);
@@ -368,10 +378,10 @@ class Container extends Renderable {
368
378
  /**
369
379
  * Returns the Child at the specified index
370
380
  * @name getChildAt
371
- * @memberof me.Container.prototype
381
+ * @memberof Container.prototype
372
382
  * @function
373
383
  * @param {number} index
374
- * @returns {me.Renderable} the child at the specified index
384
+ * @returns {Renderable} the child at the specified index
375
385
  */
376
386
  getChildAt(index) {
377
387
  if (index >= 0 && index < this.getChildren().length) {
@@ -385,9 +395,9 @@ class Container extends Renderable {
385
395
  /**
386
396
  * Returns the index of the given Child
387
397
  * @name getChildIndex
388
- * @memberof me.Container.prototype
398
+ * @memberof Container.prototype
389
399
  * @function
390
- * @param {me.Renderable} child
400
+ * @param {Renderable} child
391
401
  * @returns {number} index
392
402
  */
393
403
  getChildIndex(child) {
@@ -397,10 +407,10 @@ class Container extends Renderable {
397
407
  /**
398
408
  * Returns the next child within the container or undefined if none
399
409
  * @name getNextChild
400
- * @memberof me.Container
410
+ * @memberof Container
401
411
  * @function
402
- * @param {me.Renderable} child
403
- * @returns {me.Renderable} child
412
+ * @param {Renderable} child
413
+ * @returns {Renderable} child
404
414
  */
405
415
  getNextChild(child) {
406
416
  var index = this.getChildren().indexOf(child) - 1;
@@ -413,9 +423,9 @@ class Container extends Renderable {
413
423
  /**
414
424
  * Returns true if contains the specified Child
415
425
  * @name hasChild
416
- * @memberof me.Container.prototype
426
+ * @memberof Container.prototype
417
427
  * @function
418
- * @param {me.Renderable} child
428
+ * @param {Renderable} child
419
429
  * @returns {boolean}
420
430
  */
421
431
  hasChild(child) {
@@ -427,12 +437,12 @@ class Container extends Renderable {
427
437
  * note : avoid calling this function every frame since
428
438
  * it parses the whole object tree each time
429
439
  * @name getChildByProp
430
- * @memberof me.Container.prototype
440
+ * @memberof Container.prototype
431
441
  * @public
432
442
  * @function
433
443
  * @param {string} prop Property name
434
444
  * @param {string|RegExp|number|boolean} value Value of the property
435
- * @returns {me.Renderable[]} Array of childs
445
+ * @returns {Renderable[]} Array of childs
436
446
  * @example
437
447
  * // get the first child object called "mainPlayer" in a specific container :
438
448
  * var ent = myContainer.getChildByProp("name", "mainPlayer");
@@ -479,11 +489,11 @@ class Container extends Renderable {
479
489
  /**
480
490
  * returns the list of childs with the specified class type
481
491
  * @name getChildByType
482
- * @memberof me.Container.prototype
492
+ * @memberof Container.prototype
483
493
  * @public
484
494
  * @function
485
495
  * @param {object} classType
486
- * @returns {me.Renderable[]} Array of children
496
+ * @returns {Renderable[]} Array of children
487
497
  */
488
498
  getChildByType(classType) {
489
499
  var objList = [];
@@ -506,11 +516,11 @@ class Container extends Renderable {
506
516
  * note : avoid calling this function every frame since
507
517
  * it parses the whole object list each time
508
518
  * @name getChildByName
509
- * @memberof me.Container.prototype
519
+ * @memberof Container.prototype
510
520
  * @public
511
521
  * @function
512
522
  * @param {string|RegExp|number|boolean} name child name
513
- * @returns {me.Renderable[]} Array of children
523
+ * @returns {Renderable[]} Array of children
514
524
  */
515
525
  getChildByName(name) {
516
526
  return this.getChildByProp("name", name);
@@ -521,11 +531,11 @@ class Container extends Renderable {
521
531
  * note : avoid calling this function every frame since
522
532
  * it parses the whole object list each time
523
533
  * @name getChildByGUID
524
- * @memberof me.Container.prototype
534
+ * @memberof Container.prototype
525
535
  * @public
526
536
  * @function
527
537
  * @param {string|RegExp|number|boolean} guid child GUID
528
- * @returns {me.Renderable} corresponding child or null
538
+ * @returns {Renderable} corresponding child or null
529
539
  */
530
540
  getChildByGUID(guid) {
531
541
  var obj = this.getChildByProp("GUID", guid);
@@ -535,10 +545,10 @@ class Container extends Renderable {
535
545
  /**
536
546
  * return all child in this container
537
547
  * @name getChildren
538
- * @memberof me.Container.prototype
548
+ * @memberof Container.prototype
539
549
  * @public
540
550
  * @function
541
- * @returns {me.Renderable[]} an array of renderable object
551
+ * @returns {Renderable[]} an array of renderable object
542
552
  */
543
553
  getChildren() {
544
554
  if (typeof this.children === "undefined") {
@@ -551,9 +561,9 @@ class Container extends Renderable {
551
561
  * update the bounding box for this shape.
552
562
  * @ignore
553
563
  * @name updateBounds
554
- * @memberof me.Renderable.prototype
564
+ * @memberof Renderable.prototype
555
565
  * @function
556
- * @returns {me.Bounds} this shape bounding box Rectangle object
566
+ * @returns {Bounds} this shape bounding box Rectangle object
557
567
  */
558
568
  updateBounds(forceUpdateChildBounds = false) {
559
569
 
@@ -580,7 +590,7 @@ class Container extends Renderable {
580
590
  * Checks if this container is root or if it's attached to the root container.
581
591
  * @private
582
592
  * @name isAttachedToRoot
583
- * @memberof me.Container.prototype
593
+ * @memberof Container.prototype
584
594
  * @function
585
595
  * @returns {boolean}
586
596
  */
@@ -603,7 +613,7 @@ class Container extends Renderable {
603
613
  * update the cointainer's bounding rect (private)
604
614
  * @ignore
605
615
  * @name updateBoundsPos
606
- * @memberof me.Container.prototype
616
+ * @memberof Container.prototype
607
617
  * @function
608
618
  */
609
619
  updateBoundsPos(newX, newY) {
@@ -638,10 +648,10 @@ class Container extends Renderable {
638
648
  /**
639
649
  * Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed
640
650
  * @name removeChild
641
- * @memberof me.Container.prototype
651
+ * @memberof Container.prototype
642
652
  * @public
643
653
  * @function
644
- * @param {me.Renderable} child
654
+ * @param {Renderable} child
645
655
  * @param {boolean} [keepalive=False] True to prevent calling child.destroy()
646
656
  */
647
657
  removeChild(child, keepalive) {
@@ -656,11 +666,11 @@ class Container extends Renderable {
656
666
  /**
657
667
  * Removes (and optionally destroys) a child from the container.<br>
658
668
  * (removal is immediate and unconditional)<br>
659
- * Never use keepalive=true with objects from {@link me.pool}. Doing so will create a memory leak.
669
+ * Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
660
670
  * @name removeChildNow
661
- * @memberof me.Container.prototype
671
+ * @memberof Container.prototype
662
672
  * @function
663
- * @param {me.Renderable} child
673
+ * @param {Renderable} child
664
674
  * @param {boolean} [keepalive=False] True to prevent calling child.destroy()
665
675
  */
666
676
  removeChildNow(child, keepalive) {
@@ -711,7 +721,7 @@ class Container extends Renderable {
711
721
  /**
712
722
  * Automatically set the specified property of all childs to the given value
713
723
  * @name setChildsProperty
714
- * @memberof me.Container.prototype
724
+ * @memberof Container.prototype
715
725
  * @function
716
726
  * @param {string} prop property name
717
727
  * @param {object} value property value
@@ -729,9 +739,9 @@ class Container extends Renderable {
729
739
  /**
730
740
  * Move the child in the group one step forward (z depth).
731
741
  * @name moveUp
732
- * @memberof me.Container.prototype
742
+ * @memberof Container.prototype
733
743
  * @function
734
- * @param {me.Renderable} child
744
+ * @param {Renderable} child
735
745
  */
736
746
  moveUp(child) {
737
747
  var childIndex = this.getChildIndex(child);
@@ -744,9 +754,9 @@ class Container extends Renderable {
744
754
  /**
745
755
  * Move the child in the group one step backward (z depth).
746
756
  * @name moveDown
747
- * @memberof me.Container.prototype
757
+ * @memberof Container.prototype
748
758
  * @function
749
- * @param {me.Renderable} child
759
+ * @param {Renderable} child
750
760
  */
751
761
  moveDown(child) {
752
762
  var childIndex = this.getChildIndex(child);
@@ -759,9 +769,9 @@ class Container extends Renderable {
759
769
  /**
760
770
  * Move the specified child to the top(z depth).
761
771
  * @name moveToTop
762
- * @memberof me.Container.prototype
772
+ * @memberof Container.prototype
763
773
  * @function
764
- * @param {me.Renderable} child
774
+ * @param {Renderable} child
765
775
  */
766
776
  moveToTop(child) {
767
777
  var childIndex = this.getChildIndex(child);
@@ -777,9 +787,9 @@ class Container extends Renderable {
777
787
  /**
778
788
  * Move the specified child the bottom (z depth).
779
789
  * @name moveToBottom
780
- * @memberof me.Container.prototype
790
+ * @memberof Container.prototype
781
791
  * @function
782
- * @param {me.Renderable} child
792
+ * @param {Renderable} child
783
793
  */
784
794
  moveToBottom(child) {
785
795
  var childIndex = this.getChildIndex(child);
@@ -795,7 +805,7 @@ class Container extends Renderable {
795
805
  /**
796
806
  * Manually trigger the sort of all the childs in the container</p>
797
807
  * @name sort
798
- * @memberof me.Container.prototype
808
+ * @memberof Container.prototype
799
809
  * @public
800
810
  * @function
801
811
  * @param {boolean} [recursive=false] recursively sort all containers if true
@@ -888,9 +898,9 @@ class Container extends Renderable {
888
898
 
889
899
  /**
890
900
  * container update function. <br>
891
- * automatically called by the game manager {@link me.game}
901
+ * automatically called by the game manager {@link game}
892
902
  * @name update
893
- * @memberof me.Container.prototype
903
+ * @memberof Container.prototype
894
904
  * @function
895
905
  * @protected
896
906
  * @param {number} dt time since the last update in milliseconds.
@@ -941,13 +951,13 @@ class Container extends Renderable {
941
951
 
942
952
  /**
943
953
  * draw the container. <br>
944
- * automatically called by the game manager {@link me.game}
954
+ * automatically called by the game manager {@link game}
945
955
  * @name draw
946
- * @memberof me.Container.prototype
956
+ * @memberof Container.prototype
947
957
  * @function
948
958
  * @protected
949
- * @param {me.CanvasRenderer|me.WebGLRenderer} renderer a renderer object
950
- * @param {me.Rect|me.Bounds} [rect] the area or viewport to (re)draw
959
+ * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
960
+ * @param {Rect|Bounds} [rect] the area or viewport to (re)draw
951
961
  */
952
962
  draw(renderer, rect) {
953
963
  var isFloating = false;
@@ -968,6 +978,11 @@ class Container extends Renderable {
968
978
  // adjust position if required (e.g. canvas/window centering)
969
979
  renderer.translate(this.pos.x, this.pos.y);
970
980
 
981
+ // color background if defined
982
+ if (this.backgroundColor.alpha > 1 / 255) {
983
+ renderer.clearColor(this.backgroundColor);
984
+ }
985
+
971
986
  var children = this.getChildren();
972
987
  for (var i = children.length, obj; i--, (obj = children[i]);) {
973
988
  if (obj.isRenderable) {
@@ -9,31 +9,25 @@ import * as stringUtil from "./../utils/string.js";
9
9
  /**
10
10
  * @classdesc
11
11
  * a generic Image Layer Object
12
- * @class ImageLayer
13
- * @augments me.Renderable
14
- * @memberof me
15
- * @param {number} x x coordinate
16
- * @param {number} y y coordinate
17
- * @param {object} settings ImageLayer properties
18
- * @param {HTMLImageElement|HTMLCanvasElement|string} settings.image Image reference. See {@link me.loader.getImage}
19
- * @param {string} [settings.name="me.ImageLayer"] layer name
20
- * @param {number} [settings.z=0] z-index position
21
- * @param {number|me.Vector2d} [settings.ratio=1.0] Scrolling ratio to be applied. See {@link me.ImageLayer#ratio}
22
- * @param {string} [settings.repeat='repeat'] define if and how an Image Layer should be repeated (accepted values are 'repeat',
23
- 'repeat-x', 'repeat-y', 'no-repeat'). See {@link me.ImageLayer#repeat}
24
- * @param {number|me.Vector2d} [settings.anchorPoint=0.0] Image origin. See {@link me.ImageLayer#anchorPoint}
25
- * @example
26
- * // create a repetitive background pattern on the X axis using the citycloud image asset
27
- * me.game.world.addChild(new me.ImageLayer(0, 0, {
28
- * image:"citycloud",
29
- * repeat :"repeat-x"
30
- * }), 1);
12
+ * @augments Renderable
31
13
  */
32
-
33
14
  class ImageLayer extends Sprite {
34
-
35
15
  /**
36
- * @ignore
16
+ * @param {number} x x coordinate
17
+ * @param {number} y y coordinate
18
+ * @param {object} settings ImageLayer properties
19
+ * @param {HTMLImageElement|HTMLCanvasElement|string} settings.image Image reference. See {@link loader.getImage}
20
+ * @param {string} [settings.name="me.ImageLayer"] layer name
21
+ * @param {number} [settings.z=0] z-index position
22
+ * @param {number|Vector2d} [settings.ratio=1.0] Scrolling ratio to be applied. See {@link ImageLayer#ratio}
23
+ * @param {string} [settings.repeat='repeat'] define if and how an Image Layer should be repeated (accepted values are 'repeat', 'repeat-x', 'repeat-y', 'no-repeat'). See {@link ImageLayer#repeat}
24
+ * @param {number|Vector2d} [settings.anchorPoint=0.0] Image origin. See {@link ImageLayer#anchorPoint}
25
+ * @example
26
+ * // create a repetitive background pattern on the X axis using the citycloud image asset
27
+ * me.game.world.addChild(new me.ImageLayer(0, 0, {
28
+ * image:"citycloud",
29
+ * repeat :"repeat-x"
30
+ * }), 1);
37
31
  */
38
32
  constructor(x, y, settings) {
39
33
  // call the constructor
@@ -53,9 +47,9 @@ class ImageLayer extends Sprite {
53
47
  * - a number, to change the value for both axis <br>
54
48
  * - a json expression like `json:{"x":0.5,"y":0.5}` if you wish to specify a different value for both x and y
55
49
  * @public
56
- * @type {me.Vector2d}
50
+ * @type {Vector2d}
57
51
  * @default <1.0,1.0>
58
- * @name me.ImageLayer#ratio
52
+ * @name ImageLayer#ratio
59
53
  */
60
54
  this.ratio = pool.pull("Vector2d", 1.0, 1.0);
61
55
 
@@ -81,9 +75,9 @@ class ImageLayer extends Sprite {
81
75
  * - a number, to change the value for both axis <br>
82
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
83
77
  * @public
84
- * @type {me.Vector2d}
78
+ * @type {Vector2d}
85
79
  * @default <0.0,0.0>
86
- * @name me.ImageLayer#anchorPoint
80
+ * @name ImageLayer#anchorPoint
87
81
  */
88
82
  this.anchorPoint.set(0, 0);
89
83
  }
@@ -113,7 +107,7 @@ class ImageLayer extends Sprite {
113
107
  * @public
114
108
  * @type {string}
115
109
  * @default 'repeat'
116
- * @name me.ImageLayer#repeat
110
+ * @name ImageLayer#repeat
117
111
  */
118
112
 
119
113
  get repeat() {
@@ -165,7 +159,7 @@ class ImageLayer extends Sprite {
165
159
  /**
166
160
  * resize the Image Layer to match the given size
167
161
  * @name resize
168
- * @memberof me.ImageLayer.prototype
162
+ * @memberof ImageLayer.prototype
169
163
  * @function
170
164
  * @param {number} w new width
171
165
  * @param {number} h new height
@@ -253,12 +247,12 @@ class ImageLayer extends Sprite {
253
247
 
254
248
  /**
255
249
  * draw the ImageLayer. <br>
256
- * automatically called by the game manager {@link me.game}
250
+ * automatically called by the game manager {@link game}
257
251
  * @name draw
258
- * @memberof me.ImageLayer.prototype
252
+ * @memberof ImageLayer.prototype
259
253
  * @function
260
254
  * @protected
261
- * @param {me.CanvasRenderer|me.WebGLRenderer} renderer a renderer object
255
+ * @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
262
256
  */
263
257
  draw(renderer) {
264
258
  var width = this.width,