melonjs 15.0.0 → 15.1.1

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 (285) hide show
  1. package/README.md +4 -4
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index.js +7 -3
  7. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  10. package/dist/melonjs.mjs/application/application.js +27 -17
  11. package/dist/melonjs.mjs/application/header.js +6 -5
  12. package/dist/melonjs.mjs/application/resize.js +20 -20
  13. package/dist/melonjs.mjs/application/settings.js +1 -1
  14. package/dist/melonjs.mjs/audio/audio.js +17 -17
  15. package/dist/melonjs.mjs/camera/camera2d.js +10 -10
  16. package/dist/melonjs.mjs/const.js +1 -1
  17. package/dist/melonjs.mjs/entity/entity.js +4 -4
  18. package/dist/melonjs.mjs/geometries/ellipse.js +6 -6
  19. package/dist/melonjs.mjs/geometries/line.js +9 -9
  20. package/dist/melonjs.mjs/geometries/path2d.js +53 -53
  21. package/dist/melonjs.mjs/geometries/point.js +2 -2
  22. package/dist/melonjs.mjs/geometries/poly.js +29 -29
  23. package/dist/melonjs.mjs/geometries/rectangle.js +8 -8
  24. package/dist/melonjs.mjs/geometries/roundrect.js +6 -6
  25. package/dist/melonjs.mjs/index.js +5 -5
  26. package/dist/melonjs.mjs/input/gamepad.js +30 -30
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +15 -15
  29. package/dist/melonjs.mjs/input/pointer.js +2 -2
  30. package/dist/melonjs.mjs/input/pointerevent.js +58 -58
  31. package/dist/melonjs.mjs/lang/console.js +3 -3
  32. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  33. package/dist/melonjs.mjs/level/level.js +9 -9
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +31 -31
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +8 -8
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +8 -8
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +19 -19
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +15 -15
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -3
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +46 -41
  42. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +30 -30
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +21 -21
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +10 -10
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +6 -6
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  49. package/dist/melonjs.mjs/loader/cache.js +1 -1
  50. package/dist/melonjs.mjs/loader/loader.js +7 -7
  51. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  52. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  53. package/dist/melonjs.mjs/loader/parser.js +13 -13
  54. package/dist/melonjs.mjs/loader/settings.js +3 -3
  55. package/dist/melonjs.mjs/math/color.js +21 -21
  56. package/dist/melonjs.mjs/math/math.js +2 -2
  57. package/dist/melonjs.mjs/math/matrix2.js +22 -22
  58. package/dist/melonjs.mjs/math/matrix3.js +52 -52
  59. package/dist/melonjs.mjs/math/observable_vector2.js +12 -12
  60. package/dist/melonjs.mjs/math/observable_vector3.js +22 -22
  61. package/dist/melonjs.mjs/math/vector2.js +11 -11
  62. package/dist/melonjs.mjs/math/vector3.js +21 -21
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +45 -0
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +130 -0
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  68. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  69. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  70. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  71. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  73. package/dist/melonjs.mjs/particles/emitter.js +5 -5
  74. package/dist/melonjs.mjs/particles/particle.js +8 -8
  75. package/dist/melonjs.mjs/particles/settings.js +3 -3
  76. package/dist/melonjs.mjs/physics/body.js +17 -17
  77. package/dist/melonjs.mjs/physics/bounds.js +12 -12
  78. package/dist/melonjs.mjs/physics/collision.js +3 -3
  79. package/dist/melonjs.mjs/physics/detector.js +14 -14
  80. package/dist/melonjs.mjs/physics/quadtree.js +19 -19
  81. package/dist/melonjs.mjs/physics/response.js +1 -1
  82. package/dist/melonjs.mjs/physics/sat.js +60 -60
  83. package/dist/melonjs.mjs/physics/world.js +4 -4
  84. package/dist/melonjs.mjs/plugin/plugin.js +11 -11
  85. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  86. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  87. package/dist/melonjs.mjs/renderable/container.js +107 -63
  88. package/dist/melonjs.mjs/renderable/dragndrop.js +5 -5
  89. package/dist/melonjs.mjs/renderable/imagelayer.js +7 -6
  90. package/dist/melonjs.mjs/renderable/light2d.js +6 -6
  91. package/dist/melonjs.mjs/renderable/nineslicesprite.js +12 -12
  92. package/dist/melonjs.mjs/renderable/renderable.js +11 -11
  93. package/dist/melonjs.mjs/renderable/sprite.js +25 -25
  94. package/dist/melonjs.mjs/renderable/trigger.js +11 -9
  95. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +97 -27
  96. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +25 -25
  97. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +83 -63
  98. package/dist/melonjs.mjs/state/stage.js +7 -7
  99. package/dist/melonjs.mjs/state/state.js +15 -15
  100. package/dist/melonjs.mjs/system/device.js +2 -2
  101. package/dist/melonjs.mjs/system/dom.js +1 -1
  102. package/dist/melonjs.mjs/system/event.js +2 -2
  103. package/dist/melonjs.mjs/system/platform.js +1 -1
  104. package/dist/melonjs.mjs/system/pooling.js +9 -9
  105. package/dist/melonjs.mjs/system/save.js +6 -6
  106. package/dist/melonjs.mjs/system/timer.js +16 -12
  107. package/dist/melonjs.mjs/text/bitmaptext.js +20 -20
  108. package/dist/melonjs.mjs/text/bitmaptextdata.js +22 -22
  109. package/dist/melonjs.mjs/text/glyph.js +3 -3
  110. package/dist/melonjs.mjs/text/text.js +10 -9
  111. package/dist/melonjs.mjs/text/textmetrics.js +15 -15
  112. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  113. package/dist/melonjs.mjs/tweens/easing.js +4 -4
  114. package/dist/melonjs.mjs/tweens/interpolation.js +8 -8
  115. package/dist/melonjs.mjs/tweens/tween.js +11 -11
  116. package/dist/melonjs.mjs/utils/agent.js +6 -6
  117. package/dist/melonjs.mjs/utils/array.js +4 -4
  118. package/dist/melonjs.mjs/utils/file.js +1 -1
  119. package/dist/melonjs.mjs/utils/function.js +5 -5
  120. package/dist/melonjs.mjs/utils/string.js +3 -3
  121. package/dist/melonjs.mjs/utils/utils.js +16 -16
  122. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +35 -109
  123. package/dist/melonjs.mjs/video/renderer.js +74 -7
  124. package/dist/melonjs.mjs/video/texture/atlas.js +37 -37
  125. package/dist/melonjs.mjs/video/texture/cache.js +9 -10
  126. package/dist/melonjs.mjs/video/texture/canvas_texture.js +63 -3
  127. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  128. package/dist/melonjs.mjs/video/video.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  130. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +5 -5
  131. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  132. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +18 -15
  133. package/dist/melonjs.mjs/video/webgl/glshader.js +7 -7
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  138. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/program.js +7 -7
  141. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +4 -4
  143. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +55 -38
  144. package/dist/melonjs.module.js +1777 -1813
  145. package/dist/types/application/application.d.ts +11 -8
  146. package/dist/types/audio/audio.d.ts +3 -3
  147. package/dist/types/index.d.ts +4 -3
  148. package/dist/types/input/input.d.ts +1 -1
  149. package/dist/types/input/keyboard.d.ts +1 -1
  150. package/dist/types/input/pointerevent.d.ts +6 -6
  151. package/dist/types/level/level.d.ts +2 -2
  152. package/dist/types/level/tiled/TMXLayer.d.ts +4 -4
  153. package/dist/types/level/tiled/TMXTileMap.d.ts +2 -2
  154. package/dist/types/level/tiled/TMXUtils.d.ts +5 -4
  155. package/dist/types/loader/loader.d.ts +2 -2
  156. package/dist/types/loader/settings.d.ts +2 -2
  157. package/dist/types/particles/emitter.d.ts +1 -1
  158. package/dist/types/physics/collision.d.ts +1 -1
  159. package/dist/types/physics/detector.d.ts +1 -1
  160. package/dist/types/plugin/plugin.d.ts +2 -2
  161. package/dist/types/renderable/container.d.ts +21 -17
  162. package/dist/types/renderable/sprite.d.ts +11 -11
  163. package/dist/types/renderable/trigger.d.ts +1 -1
  164. package/dist/types/renderable/ui/uibaseelement.d.ts +28 -6
  165. package/dist/types/renderable/ui/uispriteelement.d.ts +12 -14
  166. package/dist/types/renderable/ui/uitextbutton.d.ts +52 -11
  167. package/dist/types/state/stage.d.ts +1 -1
  168. package/dist/types/system/device.d.ts +1 -1
  169. package/dist/types/system/pooling.d.ts +3 -3
  170. package/dist/types/system/timer.d.ts +5 -5
  171. package/dist/types/text/bitmaptext.d.ts +1 -1
  172. package/dist/types/text/text.d.ts +1 -1
  173. package/dist/types/utils/array.d.ts +2 -2
  174. package/dist/types/video/canvas/canvas_renderer.d.ts +8 -76
  175. package/dist/types/video/renderer.d.ts +48 -0
  176. package/dist/types/video/texture/atlas.d.ts +3 -3
  177. package/dist/types/video/texture/canvas_texture.d.ts +40 -0
  178. package/dist/types/video/webgl/glshader.d.ts +1 -1
  179. package/dist/types/video/webgl/webgl_renderer.d.ts +13 -9
  180. package/package.json +14 -14
  181. package/src/application/application.js +26 -16
  182. package/src/application/header.js +5 -4
  183. package/src/application/resize.js +19 -19
  184. package/src/audio/audio.js +16 -16
  185. package/src/camera/camera2d.js +9 -9
  186. package/src/entity/entity.js +3 -3
  187. package/src/geometries/ellipse.js +5 -5
  188. package/src/geometries/line.js +8 -8
  189. package/src/geometries/path2d.js +52 -52
  190. package/src/geometries/point.js +1 -1
  191. package/src/geometries/poly.js +28 -28
  192. package/src/geometries/rectangle.js +7 -7
  193. package/src/geometries/roundrect.js +5 -5
  194. package/src/index.js +3 -2
  195. package/src/input/gamepad.js +29 -29
  196. package/src/input/input.js +1 -1
  197. package/src/input/keyboard.js +14 -14
  198. package/src/input/pointer.js +1 -1
  199. package/src/input/pointerevent.js +52 -52
  200. package/src/lang/console.js +2 -2
  201. package/src/lang/deprecated.js +1 -1
  202. package/src/level/level.js +8 -8
  203. package/src/level/tiled/TMXGroup.js +2 -2
  204. package/src/level/tiled/TMXLayer.js +30 -30
  205. package/src/level/tiled/TMXObject.js +7 -7
  206. package/src/level/tiled/TMXTile.js +7 -7
  207. package/src/level/tiled/TMXTileMap.js +18 -18
  208. package/src/level/tiled/TMXTileset.js +14 -14
  209. package/src/level/tiled/TMXTilesetGroup.js +2 -2
  210. package/src/level/tiled/TMXUtils.js +45 -40
  211. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +29 -29
  212. package/src/level/tiled/renderer/TMXIsometricRenderer.js +20 -20
  213. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +9 -9
  214. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  215. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +5 -5
  216. package/src/loader/loader.js +6 -6
  217. package/src/loader/loadingscreen.js +1 -1
  218. package/src/loader/parser.js +12 -12
  219. package/src/loader/settings.js +2 -2
  220. package/src/math/color.js +20 -20
  221. package/src/math/math.js +1 -1
  222. package/src/math/matrix2.js +21 -21
  223. package/src/math/matrix3.js +51 -51
  224. package/src/math/observable_vector2.js +11 -11
  225. package/src/math/observable_vector3.js +21 -21
  226. package/src/math/vector2.js +10 -10
  227. package/src/math/vector3.js +20 -20
  228. package/src/particles/emitter.js +4 -4
  229. package/src/particles/particle.js +7 -7
  230. package/src/particles/settings.js +2 -2
  231. package/src/physics/body.js +16 -16
  232. package/src/physics/bounds.js +11 -11
  233. package/src/physics/collision.js +2 -2
  234. package/src/physics/detector.js +13 -13
  235. package/src/physics/quadtree.js +18 -18
  236. package/src/physics/sat.js +59 -59
  237. package/src/physics/world.js +3 -3
  238. package/src/plugin/plugin.js +8 -8
  239. package/src/renderable/collectable.js +1 -1
  240. package/src/renderable/container.js +106 -62
  241. package/src/renderable/dragndrop.js +4 -4
  242. package/src/renderable/imagelayer.js +6 -5
  243. package/src/renderable/light2d.js +5 -5
  244. package/src/renderable/nineslicesprite.js +11 -11
  245. package/src/renderable/renderable.js +10 -10
  246. package/src/renderable/sprite.js +24 -24
  247. package/src/renderable/trigger.js +10 -8
  248. package/src/renderable/ui/uibaseelement.js +96 -26
  249. package/src/renderable/ui/uispriteelement.js +24 -24
  250. package/src/renderable/ui/uitextbutton.js +85 -65
  251. package/src/state/stage.js +6 -6
  252. package/src/state/state.js +14 -14
  253. package/src/system/device.js +1 -1
  254. package/src/system/event.js +1 -1
  255. package/src/system/pooling.js +8 -8
  256. package/src/system/save.js +5 -5
  257. package/src/system/timer.js +15 -11
  258. package/src/text/bitmaptext.js +19 -19
  259. package/src/text/bitmaptextdata.js +21 -21
  260. package/src/text/glyph.js +2 -2
  261. package/src/text/text.js +9 -8
  262. package/src/text/textmetrics.js +14 -14
  263. package/src/tweens/easing.js +3 -3
  264. package/src/tweens/interpolation.js +7 -7
  265. package/src/tweens/tween.js +10 -10
  266. package/src/utils/agent.js +5 -5
  267. package/src/utils/array.js +3 -3
  268. package/src/utils/function.js +4 -4
  269. package/src/utils/string.js +2 -2
  270. package/src/utils/utils.js +15 -15
  271. package/src/video/canvas/canvas_renderer.js +34 -108
  272. package/src/video/renderer.js +72 -5
  273. package/src/video/texture/atlas.js +36 -36
  274. package/src/video/texture/cache.js +6 -6
  275. package/src/video/texture/canvas_texture.js +62 -2
  276. package/src/video/video.js +1 -1
  277. package/src/video/webgl/buffer/vertex.js +2 -2
  278. package/src/video/webgl/compositors/compositor.js +4 -4
  279. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  280. package/src/video/webgl/compositors/quad_compositor.js +17 -14
  281. package/src/video/webgl/glshader.js +6 -6
  282. package/src/video/webgl/utils/attributes.js +1 -1
  283. package/src/video/webgl/utils/program.js +6 -6
  284. package/src/video/webgl/utils/uniforms.js +3 -3
  285. package/src/video/webgl/webgl_renderer.js +54 -37
@@ -14,13 +14,14 @@ export default class Application {
14
14
  * @param {number|string} [options.scale=1.0] - enable scaling of the canvas ('auto' for automatic scaling)
15
15
  * @param {string} [options.scaleMethod="fit"] - screen scaling modes ('fit','fill-min','fill-max','flex','flex-width','flex-height','stretch')
16
16
  * @param {boolean} [options.preferWebGL1=false] - if true the renderer will only use WebGL 1
17
+ * @param {boolean} [options.depthTest="sorting"] - ~Experimental~ the default method to sort object on the z axis in WebGL ("sorting", "z-buffer")
17
18
  * @param {string} [options.powerPreference="default"] - a hint to the user agent indicating what configuration of GPU is suitable for the WebGL context ("default", "high-performance", "low-power"). To be noted that Safari and Chrome (since version 80) both default to "low-power" to save battery life and improve the user experience on these dual-GPU machines.
18
19
  * @param {boolean} [options.transparent=false] - whether to allow transparent pixels in the front buffer (screen).
19
20
  * @param {boolean} [options.antiAlias=false] - whether to enable or not video scaling interpolation
20
21
  * @param {boolean} [options.consoleHeader=true] - whether to display melonJS version and basic device information in the console
21
22
  * @throws Will throw an exception if it fails to instantiate a renderer
22
23
  * @example
23
- * var my game = new Application(640, 480, {renderer: me.video.AUTO}) {
24
+ * let my game = new Application(640, 480, {renderer: me.video.AUTO}) {
24
25
  * ....
25
26
  * }
26
27
  */
@@ -30,6 +31,7 @@ export default class Application {
30
31
  scale?: string | number | undefined;
31
32
  scaleMethod?: string | undefined;
32
33
  preferWebGL1?: boolean | undefined;
34
+ depthTest?: boolean | undefined;
33
35
  powerPreference?: string | undefined;
34
36
  transparent?: boolean | undefined;
35
37
  antiAlias?: boolean | undefined;
@@ -63,13 +65,6 @@ export default class Application {
63
65
  * @default true
64
66
  */
65
67
  mergeGroup: boolean;
66
- /**
67
- * Specify the property to be used when sorting renderables.
68
- * Accepted values : "x", "y", "z"
69
- * @type {string}
70
- * @default "z"
71
- */
72
- sortOn: string;
73
68
  /**
74
69
  * Last time the game update loop was executed. <br>
75
70
  * Use this value to implement frame prediction in drawing events,
@@ -109,6 +104,14 @@ export default class Application {
109
104
  * destroy all current objects
110
105
  */
111
106
  reset(): void;
107
+ set sortOn(arg: string);
108
+ /**
109
+ * Specify the property to be used when sorting renderables for this application game world.
110
+ * Accepted values : "x", "y", "z", "depth"
111
+ * @type {string}
112
+ * @see World.sortOn
113
+ */
114
+ get sortOn(): string;
112
115
  /**
113
116
  * Fired when a level is fully loaded and all renderable instantiated. <br>
114
117
  * Additionnaly the level id will also be passed to the called function.
@@ -90,7 +90,7 @@ export function fade(sound_name: string, from: number, to: number, duration: num
90
90
  * @returns {number} return the current seek position (if no extra parameters were given)
91
91
  * @example
92
92
  * // return the current position of the background music
93
- * var current_pos = me.audio.seek("dst-gameforest");
93
+ * let current_pos = me.audio.seek("dst-gameforest");
94
94
  * // set back the position of the background music to the beginning
95
95
  * me.audio.seek("dst-gameforest", 0);
96
96
  */
@@ -104,7 +104,7 @@ export function seek(sound_name: string, ...args: any[]): number;
104
104
  * @returns {number} return the current playback rate (if no extra parameters were given)
105
105
  * @example
106
106
  * // get the playback rate of the background music
107
- * var rate = me.audio.rate("dst-gameforest");
107
+ * let rate = me.audio.rate("dst-gameforest");
108
108
  * // speed up the playback of the background music
109
109
  * me.audio.rate("dst-gameforest", 2.0);
110
110
  */
@@ -135,7 +135,7 @@ export function pause(sound_name: string, id?: number | undefined): void;
135
135
  * @param {number} [id] - the sound instance ID. If none is passed, all sounds in group will resume.
136
136
  * @example
137
137
  * // play a audio clip
138
- * var id = me.audio.play("myClip");
138
+ * let id = me.audio.play("myClip");
139
139
  * ...
140
140
  * // pause it
141
141
  * me.audio.pause("myClip", id);
@@ -23,14 +23,14 @@ export * from "./const.js";
23
23
  * @default false
24
24
  * @readonly
25
25
  */
26
- export const initialized: boolean;
26
+ export let initialized: boolean;
27
27
  /**
28
28
  * disable melonJS auto-initialization
29
29
  * @type {boolean}
30
30
  * @default false
31
31
  * @see boot
32
32
  */
33
- export const skipAutoInit: boolean;
33
+ export let skipAutoInit: boolean;
34
34
  export const game: Application;
35
35
  import * as audio from "./audio/audio.js";
36
36
  import collision from "./physics/collision.js";
@@ -70,6 +70,7 @@ import QuadCompositor from "./video/webgl/compositors/quad_compositor.js";
70
70
  import Renderer from "./video/renderer.js";
71
71
  import WebGLRenderer from "./video/webgl/webgl_renderer.js";
72
72
  import CanvasRenderer from "./video/canvas/canvas_renderer.js";
73
+ import CanvasTexture from "./video/texture/canvas_texture.js";
73
74
  import { TextureAtlas } from "./video/texture/atlas.js";
74
75
  import Renderable from "./renderable/renderable.js";
75
76
  import Body from "./physics/body.js";
@@ -109,4 +110,4 @@ import ParticleEmitterSettings from "./particles/settings.js";
109
110
  import Particle from "./particles/particle.js";
110
111
  import Entity from "./entity/entity.js";
111
112
  import Application from "./application/application.js";
112
- export { audio, collision, device, event, loader, level, input, Math, plugin, plugins, utils, save, timer, pool, state, video, Color, Vector2d, Vector3d, ObservableVector2d, ObservableVector3d, Matrix2d, Matrix3d, Polygon, Line, Ellipse, Point, Rect, RoundRect, Tween, QuadTree, GLShader, Compositor, PrimitiveCompositor, QuadCompositor, Renderer, WebGLRenderer, CanvasRenderer, TextureAtlas, Renderable, Body, Bounds, Text, BitmapText, BitmapTextData, ColorLayer, ImageLayer, Sprite, NineSliceSprite, UIBaseElement, UITextButton, UISpriteElement, Collectable, Trigger, Light2d, Draggable, DropTarget, TMXRenderer, TMXOrthogonalRenderer, TMXIsometricRenderer, TMXHexagonalRenderer, TMXStaggeredRenderer, Tile, TMXTileset, TMXTilesetGroup, TMXTileMap, TMXLayer, Pointer, Stage, Camera2d, Container, World, ParticleEmitter, ParticleEmitterSettings, Particle, Entity, Application };
113
+ export { audio, collision, device, event, loader, level, input, Math, plugin, plugins, utils, save, timer, pool, state, video, Color, Vector2d, Vector3d, ObservableVector2d, ObservableVector3d, Matrix2d, Matrix3d, Polygon, Line, Ellipse, Point, Rect, RoundRect, Tween, QuadTree, GLShader, Compositor, PrimitiveCompositor, QuadCompositor, Renderer, WebGLRenderer, CanvasRenderer, CanvasTexture, TextureAtlas, Renderable, Body, Bounds, Text, BitmapText, BitmapTextData, ColorLayer, ImageLayer, Sprite, NineSliceSprite, UIBaseElement, UITextButton, UISpriteElement, Collectable, Trigger, Light2d, Draggable, DropTarget, TMXRenderer, TMXOrthogonalRenderer, TMXIsometricRenderer, TMXHexagonalRenderer, TMXStaggeredRenderer, Tile, TMXTileset, TMXTilesetGroup, TMXTileMap, TMXLayer, Pointer, Stage, Camera2d, Container, World, ParticleEmitter, ParticleEmitterSettings, Particle, Entity, Application };
@@ -9,7 +9,7 @@
9
9
  * @name preventDefault
10
10
  * @memberof input
11
11
  */
12
- export const preventDefault: boolean;
12
+ export let preventDefault: boolean;
13
13
  export * from "./pointerevent.js";
14
14
  export * from "./keyboard.js";
15
15
  export * from "./gamepad.js";
@@ -97,7 +97,7 @@ export function unbindKey(keycode: number): void;
97
97
  * @name keyBoardEventTarget
98
98
  * @memberof input
99
99
  */
100
- export const keyBoardEventTarget: EventTarget;
100
+ export let keyBoardEventTarget: EventTarget;
101
101
  /**
102
102
  * *
103
103
  */
@@ -11,7 +11,7 @@
11
11
  * @example
12
12
  * onMouseEvent : function (pointer) {
13
13
  * // convert the given into local (viewport) relative coordinates
14
- * var pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);
14
+ * let pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);
15
15
  * // do something with pos !
16
16
  * };
17
17
  */
@@ -83,7 +83,7 @@ export function unbindPointer(button?: number | undefined): void;
83
83
  * // onActivate function
84
84
  * onActivateEvent: function () {
85
85
  * // register on the 'pointerdown' event
86
- * me.input.registerPointerEvent('pointerdown', this, this.pointerDown.bind(this));
86
+ * me.input.registerPointerEvent('pointerdown', this, (e) => this.pointerDown(e));
87
87
  * },
88
88
  *
89
89
  * // pointerDown event callback
@@ -151,7 +151,7 @@ export function exitPointerLock(): boolean;
151
151
  * @name pointerEventTarget
152
152
  * @memberof input
153
153
  */
154
- export const pointerEventTarget: EventTarget;
154
+ export let pointerEventTarget: EventTarget;
155
155
  /**
156
156
  * Pointer information (current position and size)
157
157
  * @public
@@ -159,7 +159,7 @@ export const pointerEventTarget: EventTarget;
159
159
  * @name pointer
160
160
  * @memberof input
161
161
  */
162
- export const pointer: Rect;
162
+ export let pointer: Rect;
163
163
  /**
164
164
  * indicates if the pointer is currently locked
165
165
  * @public
@@ -167,7 +167,7 @@ export const pointer: Rect;
167
167
  * @name locked
168
168
  * @memberof input
169
169
  */
170
- export const locked: boolean;
170
+ export let locked: boolean;
171
171
  /**
172
172
  * time interval for event throttling in milliseconds<br>
173
173
  * default value : "1000/me.timer.maxfps" ms<br>
@@ -177,5 +177,5 @@ export const locked: boolean;
177
177
  * @name throttlingInterval
178
178
  * @memberof input
179
179
  */
180
- export const throttlingInterval: number;
180
+ export let throttlingInterval: number;
181
181
  import Rect from "./../geometries/rectangle.js";
@@ -27,7 +27,7 @@ declare namespace level {
27
27
  * @example
28
28
  * // the game assets to be be preloaded
29
29
  * // TMX maps
30
- * var resources = [
30
+ * let resources = [
31
31
  * {name: "a4_level1", type: "tmx", src: "data/level/a4_level1.tmx"},
32
32
  * {name: "a4_level2", type: "tmx", src: "data/level/a4_level2.tmx"},
33
33
  * {name: "a4_level3", type: "tmx", src: "data/level/a4_level3.tmx"},
@@ -41,7 +41,7 @@ declare namespace level {
41
41
  * ...
42
42
  * ...
43
43
  * // load a level into a specific container
44
- * var levelContainer = new me.Container();
44
+ * let levelContainer = new me.Container();
45
45
  * me.level.load("a4_level2", {container:levelContainer});
46
46
  * // add a simple transformation
47
47
  * levelContainer.currentTransform.translate(levelContainer.width / 2, levelContainer.height / 2 );
@@ -75,7 +75,7 @@ export default class TMXLayer extends Renderable {
75
75
  * @param {TMXRenderer} renderer
76
76
  * @example
77
77
  * // use the parent map default renderer
78
- * var layer = new me.TMXLayer(...);
78
+ * let layer = new me.TMXLayer(...);
79
79
  * layer.setRenderer(map.getRenderer());
80
80
  */
81
81
  setRenderer(renderer: TMXRenderer): void;
@@ -99,9 +99,9 @@ export default class TMXLayer extends Renderable {
99
99
  * @returns {Tile} corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds
100
100
  * @example
101
101
  * // get the TMX Map Layer called "Front layer"
102
- * var layer = me.game.world.getChildByName("Front Layer")[0];
102
+ * let layer = me.game.world.getChildByName("Front Layer")[0];
103
103
  * // get the tile object corresponding to the latest pointer position
104
- * var tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);
104
+ * let tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);
105
105
  */
106
106
  getTile(x: number, y: number): Tile;
107
107
  /**
@@ -128,7 +128,7 @@ export default class TMXLayer extends Renderable {
128
128
  * @returns {Tile} corresponding tile or null if there is no defined tile at the position or if outside of the layer bounds
129
129
  * @example
130
130
  * // return the first tile at offset 0, 0
131
- * var tile = layer.cellAt(0, 0);
131
+ * let tile = layer.cellAt(0, 0);
132
132
  */
133
133
  cellAt(x: number, y: number, boundsCheck?: number | undefined): Tile;
134
134
  /**
@@ -9,7 +9,7 @@ export default class TMXTileMap {
9
9
  * @param {object} data - TMX map in JSON format
10
10
  * @example
11
11
  * // create a new level object based on the TMX JSON object
12
- * var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
12
+ * let level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
13
13
  * // add the level to the game world container
14
14
  * level.addTo(me.game.world, true);
15
15
  */
@@ -115,7 +115,7 @@ export default class TMXTileMap {
115
115
  * @param {boolean} [setViewportBounds=false] - if true, set the viewport bounds to the map size, this should be set to true especially if adding a level to the game world container.
116
116
  * @example
117
117
  * // create a new level object based on the TMX JSON object
118
- * var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
118
+ * let level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
119
119
  * // add the level to the game world container
120
120
  * level.addTo(me.game.world, true, true);
121
121
  */
@@ -1,11 +1,12 @@
1
1
  /**
2
- * decompress zlib/gzip data (NOT IMPLEMENTED)
2
+ * decompress and decode zlib/gzip data
3
3
  * @ignore
4
4
  * @name decompress
5
- * @param {number[]} data- - Array of bytes
6
- * @param {string} format- - compressed data format ("gzip","zlib")
5
+ * @param {string} input - Base64 encoded and compressed data
6
+ * @param {string} format - compressed data format ("gzip","zlib", "zstd")
7
+ * @returns {Uint32Array} Decoded and decompress data
7
8
  */
8
- export function decompress(): void;
9
+ export function decompress(data: any, format: string): Uint32Array;
9
10
  /**
10
11
  * Decode a CSV encoded array into a binary array
11
12
  * @ignore
@@ -41,7 +41,7 @@
41
41
  * ];
42
42
  * ...
43
43
  * // set all resources to be loaded
44
- * me.loader.preload(game.resources, this.loaded.bind(this));
44
+ * me.loader.preload(game.resources, () => this.loaded());
45
45
  */
46
46
  export function preload(res: {
47
47
  name: string;
@@ -64,7 +64,7 @@ export function preload(res: {
64
64
  * @returns {number} the amount of corresponding resource to be preloaded
65
65
  * @example
66
66
  * // load an image asset
67
- * me.loader.load({name: "avatar", type:"image", src: "data/avatar.png"}, this.onload.bind(this), this.onerror.bind(this));
67
+ * me.loader.load({name: "avatar", type:"image", src: "data/avatar.png"}, () => this.onload(), () => this.onerror());
68
68
  * // load a base64 image asset
69
69
  * me.loader.load({name: "avatar", type:"image", src: "data:image/png;base64,iVBORw0KAAAQAAAAEACA..."};
70
70
  * // start loading music
@@ -35,7 +35,7 @@ export let baseURL: {};
35
35
  * me.loader.crossOrigin = "anonymous";
36
36
  *
37
37
  * // set all ressources to be loaded
38
- * me.loader.preload(game.resources, this.loaded.bind(this));
38
+ * me.loader.preload(game.resources, () => this.loaded());
39
39
  */
40
40
  export let crossOrigin: string;
41
41
  /**
@@ -52,6 +52,6 @@ export let crossOrigin: string;
52
52
  * me.loader.withCredentials = true;
53
53
  *
54
54
  * // set all ressources to be loaded
55
- * me.loader.preload(game.resources, this.loaded.bind(this));
55
+ * me.loader.preload(game.resources, () => this.loaded());
56
56
  */
57
57
  export let withCredentials: boolean;
@@ -10,7 +10,7 @@ export default class ParticleEmitter extends Container {
10
10
  * @param {ParticleEmitterSettings} [settings=ParticleEmitterSettings] - the settings for the particle emitter.
11
11
  * @example
12
12
  * // Create a particle emitter at position 100, 100
13
- * var emitter = new ParticleEmitter(100, 100, {
13
+ * let emitter = new ParticleEmitter(100, 100, {
14
14
  * width: 16,
15
15
  * height : 16,
16
16
  * tint: "#f00",
@@ -24,7 +24,7 @@ declare namespace collision {
24
24
  * @returns {Array.<Renderable>} an array of intersecting physic objects
25
25
  * @example
26
26
  * // define a line accross the viewport
27
- * var ray = new me.Line(
27
+ * let ray = new me.Line(
28
28
  * // absolute position of the line
29
29
  * 0, 0, [
30
30
  * // starting point relative to the initial position
@@ -43,7 +43,7 @@ export default class Detector {
43
43
  * @returns {Array.<Renderable>} an array of intersecting physic objects
44
44
  * @example
45
45
  * // define a line accross the viewport
46
- * var ray = new me.Line(
46
+ * let ray = new me.Line(
47
47
  * // absolute position of the line
48
48
  * 0, 0, [
49
49
  * // starting point relative to the initial position
@@ -3,8 +3,8 @@
3
3
  * @see plugin.register
4
4
  * @namespace plugins
5
5
  */
6
- export const plugins: {};
6
+ export let plugins: {};
7
7
  /**
8
8
  * @namespace plugin
9
9
  */
10
- export const plugin: any;
10
+ export let plugin: any;
@@ -28,10 +28,10 @@ export default class Container extends Renderable {
28
28
  */
29
29
  children: any[] | undefined;
30
30
  /**
31
- * The property of the child object that should be used to sort on <br>
31
+ * The property of the child object that should be used to sort on this container
32
32
  * value : "x", "y", "z"
33
33
  * @type {string}
34
- * @default me.game.sortOn
34
+ * @default "z"
35
35
  */
36
36
  sortOn: string;
37
37
  /**
@@ -87,9 +87,9 @@ export default class Container extends Renderable {
87
87
  * Add a child to the container <br>
88
88
  * if auto-sort is disable, the object will be appended at the bottom of the list.
89
89
  * Adding a child to the container will automatically remove it from its other container.
90
- * Meaning a child can only have one parent. This is important if you add a renderable
91
- * to a container then add it to the me.game.world container it will move it out of the
92
- * orginal container. Then when the me.game.world.reset() is called the renderable
90
+ * Meaning a child can only have one parent. This is important if you add a renderable
91
+ * to a container then add it to the World container it will move it out of the
92
+ * orginal container. Then when the World container reset() method is called the renderable
93
93
  * will not be in any container. <br>
94
94
  * if the given child implements a onActivateEvent method, that method will be called
95
95
  * once the child is added to this container.
@@ -115,14 +115,14 @@ export default class Container extends Renderable {
115
115
  * @param {Function} callback - fnction to execute on each element
116
116
  * @param {object} [thisArg] - value to use as this(i.e reference Object) when executing callback.
117
117
  * @example
118
- * // iterate through all children of the root container
119
- * me.game.world.forEach((child) => {
118
+ * // iterate through all children of this container
119
+ * container.forEach((child) => {
120
120
  * // do something with the child
121
121
  * child.doSomething();
122
122
  * });
123
- * me.game.world.forEach((child, index) => { ... });
124
- * me.game.world.forEach((child, index, array) => { ... });
125
- * me.game.world.forEach((child, index, array) => { ... }, thisArg);
123
+ * container.forEach((child, index) => { ... });
124
+ * container.forEach((child, index, array) => { ... });
125
+ * container.forEach((child, index, array) => { ... }, thisArg);
126
126
  */
127
127
  forEach(callback: Function, thisArg?: object | undefined, ...args: any[]): void;
128
128
  /**
@@ -164,18 +164,18 @@ export default class Container extends Renderable {
164
164
  * @returns {Renderable[]} Array of childs
165
165
  * @example
166
166
  * // get the first child object called "mainPlayer" in a specific container :
167
- * var ent = myContainer.getChildByProp("name", "mainPlayer");
167
+ * let ent = myContainer.getChildByProp("name", "mainPlayer");
168
168
  *
169
169
  * // or query the whole world :
170
- * var ent = me.game.world.getChildByProp("name", "mainPlayer");
170
+ * let ent = container.getChildByProp("name", "mainPlayer");
171
171
  *
172
172
  * // partial property matches are also allowed by using a RegExp.
173
173
  * // the following matches "redCOIN", "bluecoin", "bagOfCoins", etc :
174
- * var allCoins = me.game.world.getChildByProp("name", /coin/i);
174
+ * let allCoins = container.getChildByProp("name", /coin/i);
175
175
  *
176
176
  * // searching for numbers or other data types :
177
- * var zIndex10 = me.game.world.getChildByProp("z", 10);
178
- * var inViewport = me.game.world.getChildByProp("inViewport", true);
177
+ * let zIndex10 = container.getChildByProp("z", 10);
178
+ * let inViewport = container.getChildByProp("inViewport", true);
179
179
  */
180
180
  getChildByProp(prop: string, value: string | RegExp | number | boolean): Renderable[];
181
181
  /**
@@ -208,10 +208,14 @@ export default class Container extends Renderable {
208
208
  getChildren(): Renderable[];
209
209
  /**
210
210
  * Checks if this container is root or if it's attached to the root container.
211
- * @private
212
211
  * @returns {boolean}
213
212
  */
214
- private isAttachedToRoot;
213
+ isAttachedToRoot(): boolean;
214
+ /**
215
+ * Returns the instance of the root container (i.e. the current application World container).
216
+ * @returns {Container}
217
+ */
218
+ getRootAncestor(): Container;
215
219
  /**
216
220
  * @ignore
217
221
  */
@@ -19,7 +19,7 @@ export default class Sprite extends Renderable {
19
19
  * @param {Vector2d} [settings.anchorPoint={x:0.5, y:0.5}] - Anchor point to draw the frame at (defaults to the center of the frame).
20
20
  * @example
21
21
  * // create a single sprite from a standalone image, with anchor in the center
22
- * var sprite = new me.Sprite(0, 0, {
22
+ * let sprite = new me.Sprite(0, 0, {
23
23
  * image : "PlayerTexture",
24
24
  * framewidth : 64,
25
25
  * frameheight : 64,
@@ -27,12 +27,12 @@ export default class Sprite extends Renderable {
27
27
  * });
28
28
  *
29
29
  * // create a single sprite from a packed texture
30
- * game.texture = new me.TextureAtlas(
30
+ * mytexture = new me.TextureAtlas(
31
31
  * me.loader.getJSON("texture"),
32
32
  * me.loader.getImage("texture")
33
33
  * );
34
- * var sprite = new me.Sprite(0, 0, {
35
- * image : game.texture,
34
+ * let sprite = new me.Sprite(0, 0, {
35
+ * image : mytexture,
36
36
  * region : "npc2.png",
37
37
  * });
38
38
  */
@@ -119,7 +119,7 @@ export default class Sprite extends Renderable {
119
119
  * // make the object flicker for 1 second
120
120
  * // and then remove it
121
121
  * this.flicker(1000, function () {
122
- * me.game.world.removeChild(this);
122
+ * world.removeChild(this);
123
123
  * });
124
124
  */
125
125
  flicker(duration: number, callback: Function): Sprite;
@@ -179,13 +179,13 @@ export default class Sprite extends Renderable {
179
179
  * this.setCurrentAnimation("eat", "walk");
180
180
  *
181
181
  * // set "die" animation, and remove the object when finished
182
- * this.setCurrentAnimation("die", (function () {
183
- * me.game.world.removeChild(this);
182
+ * this.setCurrentAnimation("die", () => {
183
+ * world.removeChild(this);
184
184
  * return false; // do not reset to first frame
185
- * }).bind(this));
185
+ * });
186
186
  *
187
187
  * // set "attack" animation, and pause for a short duration
188
- * this.setCurrentAnimation("die", (function () {
188
+ * this.setCurrentAnimation("die", () => {
189
189
  * this.animationpause = true;
190
190
  *
191
191
  * // back to "standing" animation after 1 second
@@ -194,7 +194,7 @@ export default class Sprite extends Renderable {
194
194
  * }, 1000);
195
195
  *
196
196
  * return false; // do not reset to first frame
197
- * }).bind(this));
197
+ * });
198
198
  */
199
199
  setCurrentAnimation(name: string, resetAnim?: string | Function | undefined, preserve_dt?: boolean | undefined): Sprite;
200
200
  /**
@@ -227,7 +227,7 @@ export default class Sprite extends Renderable {
227
227
  * @returns {Sprite} Reference to this object for method chaining
228
228
  * @example
229
229
  * // change the sprite to "shadedDark13.png";
230
- * mySprite.setRegion(game.texture.getRegion("shadedDark13.png"));
230
+ * mySprite.setRegion(mytexture.getRegion("shadedDark13.png"));
231
231
  */
232
232
  setRegion(region: object): Sprite;
233
233
  /**
@@ -19,7 +19,7 @@ export default class Trigger extends Renderable {
19
19
  * @param {boolean} [settings.flatten] - Flatten all objects into the target container. See {@link level.load}
20
20
  * @param {boolean} [settings.setViewportBounds] - Resize the viewport to match the level. See {@link level.load}
21
21
  * @example
22
- * me.game.world.addChild(new me.Trigger(
22
+ * world.addChild(new me.Trigger(
23
23
  * x, y, {
24
24
  * shapes: [new me.Rect(0, 0, 100, 100)],
25
25
  * "duration" : 250,
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @classdesc
3
- * This is a basic clickable container which you can use in your game UI.
4
- * Use this for example if you want to display a button which contains
5
- * text and images.
3
+ * This is a basic clickable and draggable container which you can use in your game UI.
4
+ * Use this for example if you want to display a panel that contains text, images or other UI elements.
6
5
  * @augments Container
7
6
  */
8
7
  export default class UIBaseElement extends Container {
@@ -10,15 +9,22 @@ export default class UIBaseElement extends Container {
10
9
  *
11
10
  * @param {number} x - The x position of the container
12
11
  * @param {number} y - The y position of the container
13
- * @param {number} w - width of the container (default: viewport width)
14
- * @param {number} h - height of the container (default: viewport height)
12
+ * @param {number} w - width of the container
13
+ * @param {number} h - height of the container
15
14
  */
16
15
  constructor(x: number, y: number, w: number, h: number);
17
16
  /**
18
17
  * object can be clicked or not
19
18
  * @type {boolean}
19
+ * @default true
20
20
  */
21
21
  isClickable: boolean;
22
+ /**
23
+ * object can be clicked or not
24
+ * @type {boolean}
25
+ * @default false
26
+ */
27
+ isDraggable: boolean;
22
28
  /**
23
29
  * Tap and hold threshold timeout in ms
24
30
  * @type {number}
@@ -37,8 +43,13 @@ export default class UIBaseElement extends Container {
37
43
  * @default false
38
44
  */
39
45
  hover: boolean;
40
- holdTimeout: number | null;
46
+ /**
47
+ * false if the pointer is down, or true when the pointer status is up
48
+ * @type {boolean}
49
+ * @default false
50
+ */
41
51
  released: boolean;
52
+ holdTimeout: number;
42
53
  /**
43
54
  * function callback for the pointerdown event
44
55
  * @ignore
@@ -56,6 +67,17 @@ export default class UIBaseElement extends Container {
56
67
  * @ignore
57
68
  */
58
69
  enter(event: any): void;
70
+ grabOffset: object | undefined;
71
+ /**
72
+ * pointermove function
73
+ * @ignore
74
+ */
75
+ pointerMove(event: any): void;
76
+ /**
77
+ * function called when the pointer is moved over the object
78
+ * @param {Pointer} event - the event object
79
+ */
80
+ onMove(event: Pointer): void;
59
81
  /**
60
82
  * function called when the pointer is over the object
61
83
  * @param {Pointer} event - the event object
@@ -1,30 +1,28 @@
1
1
  /**
2
2
  * @classdesc
3
- * This is a basic sprite based button which you can use in your Game UI.
3
+ * This is a basic sprite based button which you can use in your Game UI.
4
4
  * @augments Sprite
5
5
  */
6
6
  export default class UISpriteElement extends Sprite {
7
7
  /**
8
- * @param {number} x - the x coordinate of the GUI Object
9
- * @param {number} y - the y coordinate of the GUI Object
8
+ * @param {number} x - the x coordinate of the UISpriteElement Object
9
+ * @param {number} y - the y coordinate of the UISpriteElement Object
10
10
  * @param {object} settings - See {@link Sprite}
11
11
  * @example
12
12
  * // create a basic GUI Object
13
13
  * class myButton extends UISpriteElement {
14
14
  * constructor(x, y) {
15
- * var settings = {}
16
- * settings.image = "button";
17
- * settings.framewidth = 100;
18
- * settings.frameheight = 50;
19
- * // super constructor
20
- * super(x, y, settings);
21
- * // define the object z order
22
- * this.pos.z = 4;
15
+ * // call the UISpriteElement parent constructor
16
+ * super(x, y, {
17
+ * image: "button",
18
+ * framewidth: 100,
19
+ * frameheight: 50
20
+ * });
23
21
  * }
24
22
  *
25
23
  * // output something in the console
26
24
  * // when the object is clicked
27
- * onClick:function (event) {
25
+ * onClick(event) {
28
26
  * console.log("clicked!");
29
27
  * // don't propagate the event
30
28
  * return false;
@@ -32,7 +30,7 @@ export default class UISpriteElement extends Sprite {
32
30
  * });
33
31
  *
34
32
  * // add the object at pos (10,10)
35
- * me.game.world.addChild(new myButton(10,10));
33
+ * world.addChild(new myButton(10,10));
36
34
  */
37
35
  constructor(x: number, y: number, settings: object);
38
36
  /**
@@ -59,7 +57,7 @@ export default class UISpriteElement extends Sprite {
59
57
  * @default false
60
58
  */
61
59
  hover: boolean;
62
- holdTimeout: number | null;
60
+ holdTimeout: number;
63
61
  released: boolean;
64
62
  /**
65
63
  * function callback for the pointerdown event