melonjs 15.1.3 → 15.1.5

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 (164) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  2. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  5. package/dist/melonjs.mjs/application/application.js +1 -1
  6. package/dist/melonjs.mjs/application/header.js +1 -1
  7. package/dist/melonjs.mjs/application/resize.js +1 -1
  8. package/dist/melonjs.mjs/application/settings.js +1 -1
  9. package/dist/melonjs.mjs/audio/audio.js +3 -3
  10. package/dist/melonjs.mjs/camera/camera2d.js +1 -1
  11. package/dist/melonjs.mjs/const.js +2 -2
  12. package/dist/melonjs.mjs/entity/entity.js +3 -6
  13. package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
  14. package/dist/melonjs.mjs/geometries/line.js +1 -1
  15. package/dist/melonjs.mjs/geometries/path2d.js +5 -5
  16. package/dist/melonjs.mjs/geometries/point.js +1 -1
  17. package/dist/melonjs.mjs/geometries/poly.js +3 -3
  18. package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
  19. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  20. package/dist/melonjs.mjs/index.js +2 -2
  21. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  22. package/dist/melonjs.mjs/input/input.js +1 -1
  23. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  24. package/dist/melonjs.mjs/input/pointer.js +1 -1
  25. package/dist/melonjs.mjs/input/pointerevent.js +10 -10
  26. package/dist/melonjs.mjs/lang/console.js +1 -1
  27. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  28. package/dist/melonjs.mjs/level/level.js +1 -1
  29. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +4 -4
  31. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  32. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
  34. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  35. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +4 -4
  37. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -1
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  44. package/dist/melonjs.mjs/loader/cache.js +1 -1
  45. package/dist/melonjs.mjs/loader/loader.js +53 -67
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  48. package/dist/melonjs.mjs/loader/parser.js +1 -1
  49. package/dist/melonjs.mjs/loader/settings.js +1 -1
  50. package/dist/melonjs.mjs/math/color.js +1 -1
  51. package/dist/melonjs.mjs/math/math.js +1 -1
  52. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  53. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  54. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  55. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  56. package/dist/melonjs.mjs/math/vector2.js +1 -1
  57. package/dist/melonjs.mjs/math/vector3.js +1 -1
  58. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  64. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  65. package/dist/melonjs.mjs/particles/particle.js +1 -1
  66. package/dist/melonjs.mjs/particles/settings.js +1 -1
  67. package/dist/melonjs.mjs/physics/body.js +1 -1
  68. package/dist/melonjs.mjs/physics/bounds.js +2 -2
  69. package/dist/melonjs.mjs/physics/collision.js +1 -1
  70. package/dist/melonjs.mjs/physics/detector.js +2 -2
  71. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +5 -4
  74. package/dist/melonjs.mjs/physics/world.js +1 -1
  75. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  76. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  77. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  78. package/dist/melonjs.mjs/renderable/container.js +35 -25
  79. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  80. package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
  81. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  82. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  83. package/dist/melonjs.mjs/renderable/renderable.js +6 -9
  84. package/dist/melonjs.mjs/renderable/sprite.js +1 -1
  85. package/dist/melonjs.mjs/renderable/trigger.js +1 -1
  86. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -4
  87. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +8 -2
  88. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  89. package/dist/melonjs.mjs/state/stage.js +1 -1
  90. package/dist/melonjs.mjs/state/state.js +1 -1
  91. package/dist/melonjs.mjs/system/device.js +1 -1
  92. package/dist/melonjs.mjs/system/dom.js +1 -1
  93. package/dist/melonjs.mjs/system/event.js +1 -1
  94. package/dist/melonjs.mjs/system/platform.js +1 -1
  95. package/dist/melonjs.mjs/system/pooling.js +1 -1
  96. package/dist/melonjs.mjs/system/save.js +1 -1
  97. package/dist/melonjs.mjs/system/timer.js +1 -1
  98. package/dist/melonjs.mjs/text/bitmaptext.js +3 -3
  99. package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
  100. package/dist/melonjs.mjs/text/glyph.js +1 -1
  101. package/dist/melonjs.mjs/text/text.js +2 -2
  102. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  103. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  104. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  105. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  106. package/dist/melonjs.mjs/tweens/tween.js +1 -1
  107. package/dist/melonjs.mjs/utils/agent.js +1 -1
  108. package/dist/melonjs.mjs/utils/array.js +1 -1
  109. package/dist/melonjs.mjs/utils/file.js +1 -1
  110. package/dist/melonjs.mjs/utils/function.js +1 -1
  111. package/dist/melonjs.mjs/utils/string.js +1 -1
  112. package/dist/melonjs.mjs/utils/utils.js +1 -1
  113. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -6
  114. package/dist/melonjs.mjs/video/renderer.js +1 -1
  115. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  116. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  117. package/dist/melonjs.mjs/video/texture/canvas_texture.js +2 -2
  118. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  119. package/dist/melonjs.mjs/video/video.js +10 -3
  120. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  121. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
  122. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
  123. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
  124. package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
  125. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  126. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  127. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  128. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  129. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  130. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  131. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  132. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
  135. package/dist/melonjs.module.js +150 -152
  136. package/dist/types/audio/audio.d.ts +2 -2
  137. package/dist/types/const.d.ts +2 -2
  138. package/dist/types/loader/loader.d.ts +54 -55
  139. package/dist/types/renderable/renderable.d.ts +1 -1
  140. package/dist/types/video/video.d.ts +1 -1
  141. package/package.json +8 -8
  142. package/src/audio/audio.js +2 -2
  143. package/src/const.js +1 -1
  144. package/src/entity/entity.js +2 -5
  145. package/src/geometries/path2d.js +4 -4
  146. package/src/geometries/poly.js +2 -2
  147. package/src/input/pointerevent.js +9 -9
  148. package/src/level/tiled/TMXLayer.js +3 -3
  149. package/src/level/tiled/TMXUtils.js +3 -3
  150. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  151. package/src/loader/loader.js +52 -66
  152. package/src/physics/bounds.js +1 -1
  153. package/src/physics/detector.js +1 -1
  154. package/src/physics/quadtree.js +1 -1
  155. package/src/physics/sat.js +3 -3
  156. package/src/renderable/container.js +34 -24
  157. package/src/renderable/renderable.js +5 -8
  158. package/src/renderable/ui/uibaseelement.js +6 -3
  159. package/src/renderable/ui/uispriteelement.js +7 -1
  160. package/src/text/bitmaptext.js +2 -2
  161. package/src/text/text.js +1 -1
  162. package/src/video/canvas/canvas_renderer.js +2 -5
  163. package/src/video/texture/canvas_texture.js +1 -1
  164. package/src/video/video.js +1 -1
@@ -35,7 +35,7 @@ export function hasAudio(): boolean;
35
35
  * enable audio output <br>
36
36
  * only useful if audio supported and previously disabled through
37
37
  * @function audio.enable
38
- * @see audio#disable
38
+ * @see audio.disable
39
39
  */
40
40
  export function enable(): void;
41
41
  /**
@@ -159,7 +159,7 @@ export function playTrack(sound_name: string, volume?: number | undefined): numb
159
159
  /**
160
160
  * stop the current audio track
161
161
  * @function audio.stopTrack
162
- * @see audio#playTrack
162
+ * @see audio.playTrack
163
163
  * @example
164
164
  * // play a awesome music
165
165
  * me.audio.playTrack("awesome_music");
@@ -15,7 +15,7 @@ export const WEBGL: number;
15
15
  /**
16
16
  * constant to auto-select the renderer (Attempt WebGL first, with fallback to Canvas)
17
17
  * @static
18
- * @type (number)
18
+ * @type {number}
19
19
  * @see Application
20
20
  */
21
- export const AUTO: any;
21
+ export const AUTO: number;
@@ -1,17 +1,22 @@
1
1
  /**
2
- * set all the specified game resources to be preloaded.
3
- * @name preload
2
+ * an asset definition to be used with the loader
3
+ * @typedef {object} loader.Asset
4
+ * @property {string} name - name of the asset
5
+ * @property {string} type - the type of the asset : "audio", binary", "image", "json", "js", "tmx", "tmj", "tsx", "tsj", "fontface"
6
+ * @property {string} [src] - path and/or file name of the resource (for audio assets only the path is required)
7
+ * @property {string} [data] - TMX data if not provided through a src url
8
+ * @property {boolean} [stream] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
9
+ * @see loader.preload
10
+ * @see loader.load
11
+ */
12
+ /**
13
+ * set all the specified game assets to be preloaded.
4
14
  * @memberof loader
5
- * @public
6
- * @param {object[]} res
7
- * @param {string} res.name - internal name of the resource
8
- * @param {string} res.type - "audio", binary", "image", "json","js", "tmx", "tsx", "fontface"
9
- * @param {string} res.src - path and/or file name of the resource (for audio assets only the path is required)
10
- * @param {boolean} [res.stream] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
11
- * @param {Function} [onload=loader.onload] - function to be called when all resources are loaded
15
+ * @param {loader.Asset[]} assets - list of assets to load
16
+ * @param {Function} [onloadcb=loader.onload] - function to be called when all resources are loaded
12
17
  * @param {boolean} [switchToLoadState=true] - automatically switch to the loading screen
13
18
  * @example
14
- * game_resources = [
19
+ * game.assets = [
15
20
  * // PNG tileset
16
21
  * {name: "tileset-platformer", type: "image", src: "data/map/tileset.png"},
17
22
  * // PNG packed texture
@@ -41,24 +46,13 @@
41
46
  * ];
42
47
  * ...
43
48
  * // set all resources to be loaded
44
- * me.loader.preload(game.resources, () => this.loaded());
49
+ * me.loader.preload(game.assets, () => this.loaded());
45
50
  */
46
- export function preload(res: {
47
- name: string;
48
- type: string;
49
- src: string;
50
- stream?: boolean;
51
- }, onloadcb: any, switchToLoadState?: boolean | undefined): void;
51
+ export function preload(assets: loader.Asset[], onloadcb?: Function | undefined, switchToLoadState?: boolean | undefined): void;
52
52
  /**
53
- * Load a single resource (to be used if you need to load additional resource during the game)
54
- * @name load
53
+ * Load a single asset (to be used if you need to load additional asset(s) during the game)
55
54
  * @memberof loader
56
- * @public
57
- * @param {object} res
58
- * @param {string} res.name - internal name of the resource
59
- * @param {string} res.type - "audio", binary", "image", "json", "tmx", "tsx"
60
- * @param {string} res.src - path and/or file name of the resource (for audio assets only the path is required)
61
- * @param {boolean} [res.stream] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
55
+ * @param {loader.Asset} asset
62
56
  * @param {Function} [onload] - function to be called when the resource is loaded
63
57
  * @param {Function} [onerror] - function to be called in case of error
64
58
  * @returns {number} the amount of corresponding resource to be preloaded
@@ -76,67 +70,45 @@ export function preload(res: {
76
70
  * me.audio.play("bgmusic");
77
71
  * });
78
72
  */
79
- export function load(res: {
80
- name: string;
81
- type: string;
82
- src: string;
83
- stream?: boolean | undefined;
84
- }, onload?: Function | undefined, onerror?: Function | undefined): number;
73
+ export function load(asset: loader.Asset, onload?: Function | undefined, onerror?: Function | undefined): number;
85
74
  /**
86
- * unload specified resource to free memory
87
- * @name unload
75
+ * unload the specified asset to free memory
88
76
  * @memberof loader
89
- * @public
90
- * @param {object} res
91
- * @param {string} res.name - internal name of the resource
92
- * @param {string} res.type - "audio", binary", "image", "json", "tmx", "tsx"
77
+ * @param {loader.Asset} asset
93
78
  * @returns {boolean} true if unloaded
94
79
  * @example me.loader.unload({name: "avatar", type:"image"});
95
80
  */
96
- export function unload(res: {
97
- name: string;
98
- type: string;
99
- }): boolean;
81
+ export function unload(asset: loader.Asset): boolean;
100
82
  /**
101
83
  * unload all resources to free memory
102
- * @name unloadAll
103
84
  * @memberof loader
104
- * @public
105
85
  * @example me.loader.unloadAll();
106
86
  */
107
87
  export function unloadAll(): void;
108
88
  /**
109
89
  * return the specified TMX/TSX object
110
- * @name getTMX
111
90
  * @memberof loader
112
- * @public
113
91
  * @param {string} elt - name of the tmx/tsx element ("map1");
114
92
  * @returns {object} requested element or null if not found
115
93
  */
116
94
  export function getTMX(elt: string): object;
117
95
  /**
118
96
  * return the specified Binary object
119
- * @name getBinary
120
97
  * @memberof loader
121
- * @public
122
98
  * @param {string} elt - name of the binary object ("ymTrack");
123
99
  * @returns {object} requested element or null if not found
124
100
  */
125
101
  export function getBinary(elt: string): object;
126
102
  /**
127
103
  * return the specified Image Object
128
- * @name getImage
129
104
  * @memberof loader
130
- * @public
131
105
  * @param {string} image - name of the Image element ("tileset-platformer");
132
106
  * @returns {HTMLImageElement} requested element or null if not found
133
107
  */
134
108
  export function getImage(image: string): HTMLImageElement;
135
109
  /**
136
110
  * return the specified JSON Object
137
- * @name getJSON
138
111
  * @memberof loader
139
- * @public
140
112
  * @param {string} elt - name of the json file to load
141
113
  * @returns {object}
142
114
  */
@@ -144,23 +116,50 @@ export function getJSON(elt: string): object;
144
116
  export * from "./settings.js";
145
117
  /**
146
118
  * onload callback
147
- * @name onload
148
119
  * @default undefined
149
120
  * @memberof loader
121
+ * @type {function}
150
122
  * @example
151
123
  * // set a callback when everything is loaded
152
124
  * me.loader.onload = this.loaded.bind(this);
153
125
  */
154
- export let onload: any;
126
+ export let onload: Function;
155
127
  /**
156
128
  * onProgress callback<br>
157
129
  * each time a resource is loaded, the loader will fire the specified function,
158
130
  * giving the actual progress [0 ... 1], as argument, and an object describing the resource loaded
159
- * @name onProgress
160
131
  * @default undefined
161
132
  * @memberof loader
133
+ * @type {function}
162
134
  * @example
163
135
  * // set a callback for progress notification
164
136
  * me.loader.onProgress = this.updateProgress.bind(this);
165
137
  */
166
- export let onProgress: any;
138
+ export let onProgress: Function;
139
+ export namespace loader {
140
+ /**
141
+ * an asset definition to be used with the loader
142
+ */
143
+ type Asset = {
144
+ /**
145
+ * - name of the asset
146
+ */
147
+ name: string;
148
+ /**
149
+ * - the type of the asset : "audio", binary", "image", "json", "js", "tmx", "tmj", "tsx", "tsj", "fontface"
150
+ */
151
+ type: string;
152
+ /**
153
+ * - path and/or file name of the resource (for audio assets only the path is required)
154
+ */
155
+ src?: string | undefined;
156
+ /**
157
+ * - TMX data if not provided through a src url
158
+ */
159
+ data?: string | undefined;
160
+ /**
161
+ * - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
162
+ */
163
+ stream?: boolean | undefined;
164
+ };
165
+ }
@@ -205,7 +205,7 @@ export default class Renderable extends Rect {
205
205
  };
206
206
  _inViewport: boolean;
207
207
  /**
208
- * Whether the renderable object is floating, or contained in a floating container
208
+ * Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
209
209
  * @see Renderable#floating
210
210
  * @type {boolean}
211
211
  */
@@ -84,7 +84,7 @@ export const WEBGL: number;
84
84
  * @memberof video
85
85
  * @static
86
86
  */
87
- export const AUTO: any;
87
+ export const AUTO: number;
88
88
  /**
89
89
  * A reference to the active Canvas or WebGL active renderer renderer
90
90
  * @memberof video
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "melonjs",
3
- "version": "15.1.3",
3
+ "version": "15.1.5",
4
4
  "description": "melonJS Game Engine",
5
5
  "homepage": "http://www.melonjs.org/",
6
6
  "type": "module",
@@ -55,11 +55,11 @@
55
55
  "@teppeis/multimaps": "^3.0.0",
56
56
  "core-js": "^3.30.1",
57
57
  "earcut": "2.2.4",
58
- "eventemitter3": "^5.0.0",
58
+ "eventemitter3": "^5.0.1",
59
59
  "howler": "2.2.3"
60
60
  },
61
61
  "devDependencies": {
62
- "@babel/eslint-parser": "^7.21.3",
62
+ "@babel/eslint-parser": "^7.21.8",
63
63
  "@babel/plugin-syntax-import-assertions": "^7.20.0",
64
64
  "@fastify/static": "^6.10.1",
65
65
  "@melonjs/webdoc-theme": "^1.1.1",
@@ -68,18 +68,18 @@
68
68
  "@rollup/plugin-node-resolve": "^15.0.2",
69
69
  "@rollup/plugin-replace": "^5.0.2",
70
70
  "@webdoc/cli": "^2.2.0",
71
- "chromedriver": "^112.0.0",
71
+ "chromedriver": "^112.0.1",
72
72
  "cross-env": "^7.0.3",
73
73
  "del-cli": "^5.0.0",
74
74
  "eslint": "^8.39.0",
75
- "eslint-plugin-jsdoc": "^43.0.7",
75
+ "eslint-plugin-jsdoc": "^43.1.1",
76
76
  "expect": "^29.5.0",
77
77
  "expect-mocha-image-snapshot": "^3.0.13",
78
- "fastify": "^4.15.0",
78
+ "fastify": "^4.17.0",
79
79
  "mocha": "^10.2.0",
80
80
  "npm-self-link": "^1.1.7",
81
- "puppeteer": "^19.10.1",
82
- "rollup": "^3.21.0",
81
+ "puppeteer": "^20.1.0",
82
+ "rollup": "^3.21.5",
83
83
  "rollup-plugin-bundle-size": "^1.0.3",
84
84
  "rollup-plugin-string": "^3.0.0",
85
85
  "terser": "^5.17.1",
@@ -123,7 +123,7 @@ export function hasAudio() {
123
123
  * enable audio output <br>
124
124
  * only useful if audio supported and previously disabled through
125
125
  * @function audio.enable
126
- * @see audio#disable
126
+ * @see audio.disable
127
127
  */
128
128
  export function enable() {
129
129
  unmuteAll();
@@ -375,7 +375,7 @@ export function playTrack(sound_name, volume) {
375
375
  /**
376
376
  * stop the current audio track
377
377
  * @function audio.stopTrack
378
- * @see audio#playTrack
378
+ * @see audio.playTrack
379
379
  * @example
380
380
  * // play a awesome music
381
381
  * me.audio.playTrack("awesome_music");
package/src/const.js CHANGED
@@ -17,7 +17,7 @@ export const WEBGL = 1;
17
17
  /**
18
18
  * constant to auto-select the renderer (Attempt WebGL first, with fallback to Canvas)
19
19
  * @static
20
- * @type (number)
20
+ * @type {number}
21
21
  * @see Application
22
22
  */
23
23
  export const AUTO = 2;
@@ -180,11 +180,8 @@ import Body from "./../physics/body.js";
180
180
  }
181
181
 
182
182
  if (absolute === true) {
183
- bounds.centerOn(this.pos.x + bounds.x + bounds.width / 2, this.pos.y + bounds.y + bounds.height / 2);
184
- if (typeof this.ancestor !== "undefined" && typeof this.ancestor.addChild === "function" && this.floating !== true) {
185
- bounds.translate(this.ancestor.getAbsolutePosition());
186
- }
187
-
183
+ var absPos = this.getAbsolutePosition();
184
+ bounds.centerOn(absPos.x + bounds.x + bounds.width / 2, absPos.y + bounds.y + bounds.height / 2);
188
185
  }
189
186
 
190
187
  return bounds;
@@ -235,10 +235,10 @@ import earcut from "earcut";
235
235
  const cos_rotation = Math.cos(rotation);
236
236
  const sin_rotation = Math.sin(rotation);
237
237
  for (let j = 0; j < nr_of_interpolation_points; j++) {
238
- let _x1 = radiusX * Math.cos(angle);
239
- let _y1 = radiusY * Math.sin(angle);
240
- let _x2 = x + _x1 * cos_rotation - _y1 * sin_rotation;
241
- let _y2 = y + _x1 * sin_rotation + _y1 * cos_rotation;
238
+ const _x1 = radiusX * Math.cos(angle);
239
+ const _y1 = radiusY * Math.sin(angle);
240
+ const _x2 = x + _x1 * cos_rotation - _y1 * sin_rotation;
241
+ const _y2 = y + _x1 * sin_rotation + _y1 * cos_rotation;
242
242
  points.push(pool.pull("Point", _x2, _y2));
243
243
  angle += direction * dangle;
244
244
  }
@@ -432,8 +432,8 @@ import pool from "./../system/pooling.js";
432
432
 
433
433
  //http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
434
434
  for (let i = 0, j = len - 1; i < len; j = i++) {
435
- let iy = points[i].y + posy, ix = points[i].x + posx,
436
- jy = points[j].y + posy, jx = points[j].x + posx;
435
+ const iy = points[i].y + posy, ix = points[i].x + posx,
436
+ jy = points[j].y + posy, jx = points[j].x + posx;
437
437
  if (((iy > _y) !== (jy > _y)) && (_x < (jx - ix) * (_y - iy) / (jy - iy) + ix)) {
438
438
  intersects = !intersects;
439
439
  }
@@ -210,7 +210,7 @@ function enablePointerEvent() {
210
210
  */
211
211
  function findActiveEvent(activeEventList, eventTypes) {
212
212
  for (let i = 0; i < eventTypes.length; i++) {
213
- let event = activeEventList.indexOf(eventTypes[i]);
213
+ const event = activeEventList.indexOf(eventTypes[i]);
214
214
  if (event !== -1) {
215
215
  return eventTypes[i];
216
216
  }
@@ -223,7 +223,7 @@ function findActiveEvent(activeEventList, eventTypes) {
223
223
  function findAllActiveEvents(activeEventList, eventTypes) {
224
224
  let events = [];
225
225
  for (let i = 0; i < eventTypes.length; i++) {
226
- let event = activeEventList.indexOf(eventTypes[i]);
226
+ const event = activeEventList.indexOf(eventTypes[i]);
227
227
  if (event !== -1) {
228
228
  events.push(eventTypes[i]);
229
229
  }
@@ -293,10 +293,10 @@ function dispatchEvent(normalizedEvents) {
293
293
 
294
294
  for (let c = candidates.length, candidate; c--, (candidate = candidates[c]);) {
295
295
  if (eventHandlers.has(candidate) && (candidate.isKinematic !== true)) {
296
- let handlers = eventHandlers.get(candidate);
297
- let region = handlers.region;
298
- let ancestor = region.ancestor;
299
- let bounds = region.getBounds();
296
+ const handlers = eventHandlers.get(candidate);
297
+ const region = handlers.region;
298
+ const ancestor = region.ancestor;
299
+ const bounds = region.getBounds();
300
300
  let eventInBounds = false;
301
301
 
302
302
  if (region.isFloating === true) {
@@ -404,7 +404,7 @@ function normalizeEvent(originalEvent) {
404
404
  if (device.touchEvent && originalEvent.changedTouches) {
405
405
  // iOS/Android Touch event
406
406
  for (let i = 0, l = originalEvent.changedTouches.length; i < l; i++) {
407
- let touchEvent = originalEvent.changedTouches[i];
407
+ const touchEvent = originalEvent.changedTouches[i];
408
408
  _pointer = T_POINTERS.pop();
409
409
  _pointer.setEvent(
410
410
  originalEvent,
@@ -682,7 +682,7 @@ export function registerPointerEvent(eventType, region, callback) {
682
682
  // allocate array if not defined
683
683
  let handlers = eventHandlers.get(region);
684
684
  for (let i = 0; i < eventTypes.length; i++) {
685
- eventType = eventTypes[i];
685
+ const eventType = eventTypes[i];
686
686
  if (handlers.callbacks[eventType]) {
687
687
  handlers.callbacks[eventType].push(callback);
688
688
  } else {
@@ -715,7 +715,7 @@ export function releasePointerEvent(eventType, region, callback) {
715
715
  let handlers = eventHandlers.get(region);
716
716
  if (typeof (handlers) !== "undefined") {
717
717
  for (let i = 0; i < eventTypes.length; i++) {
718
- eventType = eventTypes[i];
718
+ const eventType = eventTypes[i];
719
719
  if (handlers.callbacks[eventType]) {
720
720
  if (typeof (callback) !== "undefined") {
721
721
  remove(handlers.callbacks[eventType], callback);
@@ -42,7 +42,7 @@ function setLayerData(layer, bounds, data) {
42
42
  for (let y = 0; y < height; y++) {
43
43
  for (let x = 0; x < width; x++) {
44
44
  // get the value of the gid
45
- let gid = data[idx++];
45
+ const gid = data[idx++];
46
46
  // fill the array
47
47
  if (gid !== 0) {
48
48
  // add a new tile to the layer
@@ -61,7 +61,7 @@ function preRenderLayer(layer, renderer) {
61
61
  for (let y = 0; y < layer.rows; y++) {
62
62
  for (let x = 0; x < layer.cols; x++) {
63
63
  // get the value of the gid
64
- let tile = layer.layerData[x][y];
64
+ const tile = layer.layerData[x][y];
65
65
  // draw the tile if defined
66
66
  if (tile instanceof Tile) {
67
67
  // add a new tile to the layer
@@ -128,7 +128,7 @@ function preRenderLayer(layer, renderer) {
128
128
  "height" : 0
129
129
  };
130
130
  for (let i = 0; i < this.tilesets.length; i++) {
131
- let tileset = this.tilesets.getTilesetByIndex(i);
131
+ const tileset = this.tilesets.getTilesetByIndex(i);
132
132
  this.maxTileSize.width = Math.max(this.maxTileSize.width, tileset.tilewidth);
133
133
  this.maxTileSize.height = Math.max(this.maxTileSize.height, tileset.tileheight);
134
134
  }
@@ -83,7 +83,7 @@ function parseAttributes(obj, elt) {
83
83
  // do attributes
84
84
  if (elt.attributes && elt.attributes.length > 0) {
85
85
  for (let j = 0; j < elt.attributes.length; j++) {
86
- let attribute = elt.attributes.item(j);
86
+ const attribute = elt.attributes.item(j);
87
87
  if (typeof(attribute.name) !== "undefined") {
88
88
  // DOM4 (Attr no longer inherit from Node)
89
89
  obj[attribute.name] = attribute.value;
@@ -282,8 +282,8 @@ export function normalize(obj, item) {
282
282
  var points = parse(item).points.split(" "); // <= "Unexpected lexical declaration in case block" if using let
283
283
 
284
284
  // And normalize them into an array of vectors
285
- for (let i = 0, v; i < points.length; i++) {
286
- v = points[i].split(",");
285
+ for (let i = 0; i < points.length; i++) {
286
+ const v = points[i].split(",");
287
287
  obj[nodeName].push({
288
288
  "x" : +v[0],
289
289
  "y" : +v[1]
@@ -284,7 +284,7 @@ const offsetsStaggerY = [
284
284
  let nearest = 0;
285
285
  let minDist = Number.MAX_VALUE;
286
286
  for (let i = 0; i < 4; ++i) {
287
- let dc = this.centers[i].sub(rel).length2();
287
+ const dc = this.centers[i].sub(rel).length2();
288
288
  if (dc < minDist) {
289
289
  minDist = dc;
290
290
  nearest = i;