melonjs 15.15.0 → 16.1.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 (204) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
  2. package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
  3. package/dist/melonjs.mjs/_virtual/howler.js +2 -2
  4. package/dist/melonjs.mjs/_virtual/index.js +2 -2
  5. package/dist/melonjs.mjs/application/application.js +2 -2
  6. package/dist/melonjs.mjs/application/header.js +2 -2
  7. package/dist/melonjs.mjs/application/resize.js +2 -2
  8. package/dist/melonjs.mjs/application/settings.js +5 -3
  9. package/dist/melonjs.mjs/audio/audio.js +5 -3
  10. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  11. package/dist/melonjs.mjs/const.js +2 -2
  12. package/dist/melonjs.mjs/geometries/ellipse.js +6 -8
  13. package/dist/melonjs.mjs/geometries/line.js +2 -2
  14. package/dist/melonjs.mjs/geometries/path2d.js +131 -5
  15. package/dist/melonjs.mjs/geometries/point.js +7 -9
  16. package/dist/melonjs.mjs/geometries/poly.js +4 -14
  17. package/dist/melonjs.mjs/geometries/rectangle.js +2 -2
  18. package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
  19. package/dist/melonjs.mjs/geometries/toarccanvas.js +103 -0
  20. package/dist/melonjs.mjs/index.js +3 -3
  21. package/dist/melonjs.mjs/input/gamepad.js +2 -2
  22. package/dist/melonjs.mjs/input/input.js +2 -2
  23. package/dist/melonjs.mjs/input/keyboard.js +2 -2
  24. package/dist/melonjs.mjs/input/pointer.js +2 -2
  25. package/dist/melonjs.mjs/input/pointerevent.js +2 -2
  26. package/dist/melonjs.mjs/lang/console.js +2 -2
  27. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  28. package/dist/melonjs.mjs/level/level.js +2 -2
  29. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -2
  30. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +2 -2
  31. package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -2
  32. package/dist/melonjs.mjs/level/tiled/TMXTile.js +2 -2
  33. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
  34. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +2 -2
  35. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
  36. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +2 -2
  37. package/dist/melonjs.mjs/level/tiled/constants.js +2 -2
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  43. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +2 -2
  44. package/dist/melonjs.mjs/loader/cache.js +6 -3
  45. package/dist/melonjs.mjs/loader/loader.js +59 -10
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +4 -4
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +3 -4
  48. package/dist/melonjs.mjs/loader/parsers/binary.js +15 -22
  49. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +62 -0
  50. package/dist/melonjs.mjs/loader/parsers/fontface.js +2 -2
  51. package/dist/melonjs.mjs/loader/parsers/image.js +47 -11
  52. package/dist/melonjs.mjs/loader/parsers/json.js +14 -31
  53. package/dist/melonjs.mjs/loader/parsers/script.js +2 -2
  54. package/dist/melonjs.mjs/loader/parsers/tmx.js +48 -74
  55. package/dist/melonjs.mjs/loader/parsers/video.js +98 -0
  56. package/dist/melonjs.mjs/loader/settings.js +6 -5
  57. package/dist/melonjs.mjs/math/color.js +2 -2
  58. package/dist/melonjs.mjs/math/math.js +13 -3
  59. package/dist/melonjs.mjs/math/matrix2.js +2 -2
  60. package/dist/melonjs.mjs/math/matrix3.js +2 -2
  61. package/dist/melonjs.mjs/math/observable_vector2.js +2 -2
  62. package/dist/melonjs.mjs/math/observable_vector3.js +2 -2
  63. package/dist/melonjs.mjs/math/vector2.js +7 -9
  64. package/dist/melonjs.mjs/math/vector3.js +6 -10
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +2 -2
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +2 -2
  67. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
  68. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  69. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
  70. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
  71. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  72. package/dist/melonjs.mjs/particles/particle.js +2 -2
  73. package/dist/melonjs.mjs/particles/settings.js +3 -5
  74. package/dist/melonjs.mjs/physics/body.js +6 -8
  75. package/dist/melonjs.mjs/physics/bounds.js +2 -2
  76. package/dist/melonjs.mjs/physics/collision.js +3 -5
  77. package/dist/melonjs.mjs/physics/detector.js +2 -2
  78. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  79. package/dist/melonjs.mjs/physics/response.js +2 -2
  80. package/dist/melonjs.mjs/physics/sat.js +2 -2
  81. package/dist/melonjs.mjs/physics/world.js +2 -2
  82. package/dist/melonjs.mjs/plugin/plugin.js +5 -5
  83. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  84. package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
  85. package/dist/melonjs.mjs/renderable/container.js +2 -2
  86. package/dist/melonjs.mjs/renderable/draggable.js +2 -2
  87. package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
  88. package/dist/melonjs.mjs/renderable/entity/entity.js +2 -2
  89. package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
  90. package/dist/melonjs.mjs/renderable/light2d.js +2 -2
  91. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -6
  92. package/dist/melonjs.mjs/renderable/renderable.js +2 -2
  93. package/dist/melonjs.mjs/renderable/sprite.js +136 -81
  94. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +2 -2
  95. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +2 -2
  96. package/dist/melonjs.mjs/renderable/text/glyph.js +2 -2
  97. package/dist/melonjs.mjs/renderable/text/text.js +2 -2
  98. package/dist/melonjs.mjs/renderable/text/textmetrics.js +2 -2
  99. package/dist/melonjs.mjs/renderable/text/textstyle.js +2 -2
  100. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  101. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
  102. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
  103. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
  104. package/dist/melonjs.mjs/state/stage.js +2 -2
  105. package/dist/melonjs.mjs/state/state.js +3 -4
  106. package/dist/melonjs.mjs/system/device.js +46 -3
  107. package/dist/melonjs.mjs/system/dom.js +2 -2
  108. package/dist/melonjs.mjs/system/event.js +2 -2
  109. package/dist/melonjs.mjs/system/platform.js +2 -2
  110. package/dist/melonjs.mjs/system/pooling.js +3 -20
  111. package/dist/melonjs.mjs/system/save.js +2 -2
  112. package/dist/melonjs.mjs/system/timer.js +3 -19
  113. package/dist/melonjs.mjs/tweens/easing.js +2 -2
  114. package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
  115. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  116. package/dist/melonjs.mjs/utils/agent.js +2 -2
  117. package/dist/melonjs.mjs/utils/array.js +2 -2
  118. package/dist/melonjs.mjs/utils/file.js +2 -2
  119. package/dist/melonjs.mjs/utils/function.js +2 -2
  120. package/dist/melonjs.mjs/utils/string.js +2 -2
  121. package/dist/melonjs.mjs/utils/utils.js +2 -2
  122. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
  123. package/dist/melonjs.mjs/video/renderer.js +14 -17
  124. package/dist/melonjs.mjs/video/texture/atlas.js +28 -14
  125. package/dist/melonjs.mjs/video/texture/cache.js +6 -7
  126. package/dist/melonjs.mjs/video/texture/canvas_texture.js +16 -19
  127. package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
  128. package/dist/melonjs.mjs/video/video.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
  130. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +2 -2
  131. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +8 -5
  133. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
  135. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
  137. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
  138. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/precision.js +2 -2
  140. package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
  141. package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
  142. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
  143. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +5 -4
  144. package/dist/melonjs.module.js +1475 -398
  145. package/dist/types/application/application.d.ts +1 -1
  146. package/dist/types/application/settings.d.ts +5 -0
  147. package/dist/types/geometries/path2d.d.ts +24 -0
  148. package/dist/types/geometries/rectangle.d.ts +4 -4
  149. package/dist/types/geometries/roundrect.d.ts +1 -1
  150. package/dist/types/geometries/toarccanvas.d.ts +10 -0
  151. package/dist/types/loader/cache.d.ts +1 -0
  152. package/dist/types/loader/loader.d.ts +37 -8
  153. package/dist/types/loader/parsers/binary.d.ts +0 -8
  154. package/dist/types/loader/parsers/fetchdata.d.ts +15 -0
  155. package/dist/types/loader/parsers/tmx.d.ts +1 -0
  156. package/dist/types/loader/parsers/video.d.ts +9 -0
  157. package/dist/types/loader/settings.d.ts +3 -3
  158. package/dist/types/math/color.d.ts +4 -4
  159. package/dist/types/math/math.d.ts +6 -0
  160. package/dist/types/math/observable_vector2.d.ts +2 -2
  161. package/dist/types/math/observable_vector3.d.ts +3 -3
  162. package/dist/types/physics/bounds.d.ts +4 -4
  163. package/dist/types/renderable/entity/entity.d.ts +1 -1
  164. package/dist/types/renderable/imagelayer.d.ts +1 -1
  165. package/dist/types/renderable/nineslicesprite.d.ts +12 -0
  166. package/dist/types/renderable/renderable.d.ts +3 -3
  167. package/dist/types/renderable/sprite.d.ts +41 -40
  168. package/dist/types/renderable/text/bitmaptext.d.ts +1 -1
  169. package/dist/types/system/device.d.ts +16 -0
  170. package/dist/types/video/renderer.d.ts +11 -23
  171. package/dist/types/video/texture/canvas_texture.d.ts +11 -23
  172. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +2 -1
  173. package/package.json +16 -15
  174. package/src/application/settings.js +3 -1
  175. package/src/audio/audio.js +3 -1
  176. package/src/geometries/ellipse.js +4 -6
  177. package/src/geometries/path2d.js +129 -4
  178. package/src/geometries/point.js +5 -7
  179. package/src/geometries/poly.js +2 -12
  180. package/src/geometries/toarccanvas.js +94 -0
  181. package/src/loader/cache.js +3 -0
  182. package/src/loader/loader.js +57 -7
  183. package/src/loader/parsers/binary.js +13 -56
  184. package/src/loader/parsers/fetchdata.js +53 -0
  185. package/src/loader/parsers/image.js +45 -12
  186. package/src/loader/parsers/json.js +12 -30
  187. package/src/loader/parsers/tmx.js +46 -72
  188. package/src/loader/parsers/video.js +89 -0
  189. package/src/loader/settings.js +4 -3
  190. package/src/math/math.js +10 -0
  191. package/src/math/vector2.js +5 -7
  192. package/src/math/vector3.js +4 -8
  193. package/src/physics/body.js +4 -6
  194. package/src/plugin/plugin.js +1 -1
  195. package/src/polyfill/index.js +3 -0
  196. package/src/renderable/nineslicesprite.js +0 -4
  197. package/src/renderable/sprite.js +134 -79
  198. package/src/system/device.js +43 -0
  199. package/src/video/renderer.js +12 -15
  200. package/src/video/texture/atlas.js +26 -12
  201. package/src/video/texture/cache.js +3 -3
  202. package/src/video/texture/canvas_texture.js +14 -17
  203. package/src/video/webgl/compositors/quad_compositor.js +6 -3
  204. package/src/video/webgl/webgl_renderer.js +3 -2
@@ -102,7 +102,7 @@ export default class Application {
102
102
  * destroy all current objects
103
103
  */
104
104
  reset(): void;
105
- set sortOn(arg: string);
105
+ set sortOn(value: string);
106
106
  /**
107
107
  * Specify the property to be used when sorting renderables for this application game world.
108
108
  * Accepted values : "x", "y", "z", "depth"
@@ -17,6 +17,7 @@ export namespace defaultSettings {
17
17
  let verbose: boolean;
18
18
  let consoleHeader: boolean;
19
19
  let legacy: boolean;
20
+ let canvas: undefined;
20
21
  }
21
22
  /**
22
23
  * Application & Renderer Settings definition.
@@ -26,6 +27,10 @@ export type Settings = {
26
27
  * - the DOM parent element to hold the canvas in the HTML file
27
28
  */
28
29
  parent?: string | HTMLElement | undefined;
30
+ /**
31
+ * - an existing canvas element to use as the renderer target (by default melonJS will create its own canvas based on given parameters)
32
+ */
33
+ canvas?: HTMLCanvasElement | undefined;
29
34
  /**
30
35
  * - renderer to use (CANVAS, WEBGL, AUTO), or a custom renderer class
31
36
  */
@@ -3,6 +3,7 @@
3
3
  * a simplified path2d implementation, supporting only one path
4
4
  */
5
5
  export default class Path2D {
6
+ constructor(svgPath: any);
6
7
  /**
7
8
  * the points defining the current path
8
9
  * @type {Point[]}
@@ -17,6 +18,11 @@ export default class Path2D {
17
18
  vertices: any[];
18
19
  startPoint: object;
19
20
  isDirty: boolean;
21
+ /**
22
+ * Parses an SVG path string and adds the points to the current path.
23
+ * @param {string} svgPath - The SVG path string to parse.
24
+ */
25
+ parseSVGPath(svgPath: string): void;
20
26
  /**
21
27
  * begin a new path
22
28
  */
@@ -77,6 +83,24 @@ export default class Path2D {
77
83
  * @param {boolean} [anticlockwise=false] - an optional boolean value which, if true, draws the ellipse counterclockwise (anticlockwise).
78
84
  */
79
85
  ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean | undefined): void;
86
+ /**
87
+ * Adds a quadratic Bézier curve to the path.
88
+ * @param {number} cpX - The x-coordinate of the control point.
89
+ * @param {number} cpY - The y-coordinate of the control point.
90
+ * @param {number} x - The x-coordinate of the end point of the curve.
91
+ * @param {number} y - The y-coordinate of the end point of the curve.
92
+ */
93
+ quadraticCurveTo(cpX: number, cpY: number, x: number, y: number): void;
94
+ /**
95
+ * Adds a cubic Bézier curve to the path.
96
+ * @param {number} cp1X - The x-coordinate of the first control point.
97
+ * @param {number} cp1Y - The y-coordinate of the first control point.
98
+ * @param {number} cp2X - The x-coordinate of the second control point.
99
+ * @param {number} cp2Y - The y-coordinate of the second control point.
100
+ * @param {number} x - The x-coordinate of the end point of the curve.
101
+ * @param {number} y - The y-coordinate of the end point of the curve.
102
+ */
103
+ bezierCurveTo(cp1X: number, cp1Y: number, cp2X: number, cp2Y: number, x: number, y: number): void;
80
104
  /**
81
105
  * creates a path for a rectangle at position (x, y) with a size that is determined by width and height.
82
106
  * @param {number} x - the x-axis coordinate of the rectangle's starting point.
@@ -42,25 +42,25 @@ export default class Rect extends Polygon {
42
42
  * @type {number}
43
43
  */
44
44
  get bottom(): number;
45
- set width(arg: number);
45
+ set width(value: number);
46
46
  /**
47
47
  * width of the Rectangle
48
48
  * @type {number}
49
49
  */
50
50
  get width(): number;
51
- set height(arg: number);
51
+ set height(value: number);
52
52
  /**
53
53
  * height of the Rectangle
54
54
  * @type {number}
55
55
  */
56
56
  get height(): number;
57
- set centerX(arg: number);
57
+ set centerX(value: number);
58
58
  /**
59
59
  * absolute center of this rectangle on the horizontal axis
60
60
  * @type {number}
61
61
  */
62
62
  get centerX(): number;
63
- set centerY(arg: number);
63
+ set centerY(value: number);
64
64
  /**
65
65
  * absolute center of this rectangle on the vertical axis
66
66
  * @type {number}
@@ -12,7 +12,7 @@ export default class RoundRect extends Rect {
12
12
  * @param {number} [radius=20] - the radius of the rounded corner
13
13
  */
14
14
  constructor(x: number, y: number, width: number, height: number, radius?: number | undefined);
15
- set radius(arg: number);
15
+ set radius(value: number);
16
16
  /**
17
17
  * the radius of the rounded corner
18
18
  * @type {number}
@@ -0,0 +1,10 @@
1
+ export function endpointToCenterParameterization(x1: any, y1: any, x2: any, y2: any, largeArcFlag: any, sweepFlag: any, srx: any, sry: any, xAxisRotationDeg: any): {
2
+ cx: any;
3
+ cy: any;
4
+ rx: number;
5
+ ry: number;
6
+ startAngle: number;
7
+ endAngle: number;
8
+ xAxisRotation: number;
9
+ anticlockwise: boolean;
10
+ };
@@ -5,3 +5,4 @@ export let imgList: {};
5
5
  export let tmxList: {};
6
6
  export let binList: {};
7
7
  export let jsonList: {};
8
+ export let videoList: {};
@@ -2,10 +2,12 @@
2
2
  * an asset definition to be used with the loader
3
3
  * @typedef {object} loader.Asset
4
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")
5
+ * @property {string} type - the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx"|"tmj"|"tsx"|"tsj"|"fontface"|"video")
6
6
  * @property {string} [src] - path and/or file name of the resource (for audio assets only the path is required)
7
7
  * @property {string} [data] - TMX data if not provided through a src url
8
- * @property {boolean} [stream=false] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
8
+ * @property {boolean} [stream=false] - Set to true to not to wait for large audio or video file to be downloaded before playing.
9
+ * @property {boolean} [autoplay=false] - Set to true to automatically start playing audio or video when loaded or added to a scene (using autoplay might require user iteraction to enable it)
10
+ * @property {boolean} [loop=false] - Set to true to automatically loop the audio or video when playing
9
11
  * @see loader.preload
10
12
  * @see loader.load
11
13
  * @example
@@ -35,6 +37,8 @@
35
37
  * {name: "plugin", type: "js", src: "data/js/plugin.js"}
36
38
  * // Font Face
37
39
  * { name: "'kenpixel'", type: "fontface", src: "url('data/font/kenvector_future.woff2')" }
40
+ * // video resources
41
+ * {name: "intro", type: "video", src: "data/video/"}
38
42
  */
39
43
  /**
40
44
  * specify a parser/preload function for the given asset type
@@ -91,7 +95,11 @@ export function setParser(type: string, parserFn: Function): void;
91
95
  * // JavaScript file
92
96
  * {name: "plugin", type: "js", src: "data/js/plugin.js"},
93
97
  * // Font Face
94
- * { name: "'kenpixel'", type: "fontface", src: "url('data/font/kenvector_future.woff2')" }
98
+ * {name: "'kenpixel'", type: "fontface", src: "url('data/font/kenvector_future.woff2')"},
99
+ * // video resources
100
+ * {name: "intro", type: "video", src: "data/video/"},
101
+ * // base64 encoded video asset
102
+ * me.loader.load({name: "avatar", type:"video", src: "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZ..."};
95
103
  * ];
96
104
  * ...
97
105
  * // set all resources to be loaded
@@ -127,6 +135,12 @@ export function reload(src: string): void;
127
135
  * me.loader.load({name: "avatar", type:"image", src: "data/avatar.png"}, () => this.onload(), () => this.onerror());
128
136
  * // load a base64 image asset
129
137
  * me.loader.load({name: "avatar", type:"image", src: "data:image/png;base64,iVBORw0KAAAQAAAAEACA..."};
138
+ * // load a base64 video asset
139
+ * me.loader.load({
140
+ * name: "avatar",
141
+ * type:"video",
142
+ * src: "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZ.."
143
+ * };
130
144
  * // start loading music
131
145
  * me.loader.load({
132
146
  * name : "bgmusic",
@@ -175,10 +189,17 @@ export function getImage(image: string): HTMLImageElement;
175
189
  /**
176
190
  * return the specified JSON Object
177
191
  * @memberof loader
178
- * @param {string} elt - name of the json file to load
179
- * @returns {object}
192
+ * @param {string} elt - name of the json file
193
+ * @returns {JSON}
194
+ */
195
+ export function getJSON(elt: string): JSON;
196
+ /**
197
+ * return the specified Video Object
198
+ * @memberof loader
199
+ * @param {string} elt - name of the video file
200
+ * @returns {HTMLVideoElement}
180
201
  */
181
- export function getJSON(elt: string): object;
202
+ export function getVideo(elt: string): HTMLVideoElement;
182
203
  export * from "./settings.js";
183
204
  /**
184
205
  * onload callback
@@ -223,7 +244,7 @@ export namespace loader {
223
244
  */
224
245
  name: string;
225
246
  /**
226
- * - the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx"|"tmj"|"tsx"|"tsj"|"fontface")
247
+ * - the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx"|"tmj"|"tsx"|"tsj"|"fontface"|"video")
227
248
  */
228
249
  type: string;
229
250
  /**
@@ -235,8 +256,16 @@ export namespace loader {
235
256
  */
236
257
  data?: string | undefined;
237
258
  /**
238
- * - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
259
+ * - Set to true to not to wait for large audio or video file to be downloaded before playing.
239
260
  */
240
261
  stream?: boolean | undefined;
262
+ /**
263
+ * - Set to true to automatically start playing audio or video when loaded or added to a scene (using autoplay might require user iteraction to enable it)
264
+ */
265
+ autoplay?: boolean | undefined;
266
+ /**
267
+ * - Set to true to automatically loop the audio or video when playing
268
+ */
269
+ loop?: boolean | undefined;
241
270
  };
242
271
  }
@@ -7,11 +7,3 @@
7
7
  * @ignore
8
8
  */
9
9
  export function preloadBinary(data: loader.Asset, onload?: Function | undefined, onerror?: Function | undefined): number;
10
- /**
11
- * parse/preload a Javascript files
12
- * @param {loader.Asset} data - asset data
13
- * @param {Function} [onload] - function to be called when the asset is loaded
14
- * @param {Function} [onerror] - function to be called in case of error
15
- * @ignore
16
- */
17
- export function preloadJavascript(data: loader.Asset, onload?: Function | undefined, onerror?: Function | undefined): number;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Fetches data from the specified URL.
3
+ * @param {string} url - The URL to fetch the data from.
4
+ * @param {string} responseType - The type of response expected ('json', 'text', 'blob', 'arrayBuffer').
5
+ * @returns {Promise} A promise that resolves with the fetched data or rejects with an error.
6
+ * @example
7
+ * fetchData('https://api.example.com/data', 'json')
8
+ * .then(data => {
9
+ * // Handle the fetched JSON data
10
+ * })
11
+ * .catch(error => {
12
+ * // Handle the error
13
+ * });
14
+ */
15
+ export function fetchData(url: string, responseType: string): Promise<any>;
@@ -3,6 +3,7 @@
3
3
  * @param {loader.Asset} data - asset data
4
4
  * @param {Function} [onload] - function to be called when the asset is loaded
5
5
  * @param {Function} [onerror] - function to be called in case of error
6
+ * @param {Function} [fetchData] - function to use instead of default window.fetch, has some error handling and things
6
7
  * @returns {number} the amount of corresponding resource parsed/preloaded
7
8
  * @ignore
8
9
  */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * parse/preload a Video file
3
+ * @param {loader.Asset} data - asset data
4
+ * @param {Function} [onload] - function to be called when the asset is loaded
5
+ * @param {Function} [onerror] - function to be called in case of error
6
+ * @returns {number} the amount of corresponding resource parsed/preloaded
7
+ * @ignore
8
+ */
9
+ export function preloadVideo(data: loader.Asset, onload?: Function | undefined, onerror?: Function | undefined): number;
@@ -9,7 +9,7 @@ export function setNocache(enable?: boolean): void;
9
9
  * @name setBaseURL
10
10
  * @memberof loader
11
11
  * @public
12
- * @param {string} type - "*", "audio", binary", "image", "json", "js", "tmx", "tsx"
12
+ * @param {string} type - "*", "audio", "video", "binary", "image", "json", "js", "tmx", "tsx"
13
13
  * @param {string} [url="./"] - default base URL
14
14
  * @example
15
15
  * // change the base URL relative address for audio assets
@@ -21,7 +21,7 @@ export function setBaseURL(type: string, url?: string | undefined): void;
21
21
  export let nocache: string;
22
22
  export let baseURL: {};
23
23
  /**
24
- * crossOrigin attribute to configure the CORS requests for Image data element.
24
+ * crossOrigin attribute to configure the CORS requests for Image and Video data element.
25
25
  * By default (that is, when the attribute is not specified), CORS is not used at all.
26
26
  * The "anonymous" keyword means that there will be no exchange of user credentials via cookies,
27
27
  * client-side SSL certificates or HTTP authentication as described in the Terminology section of the CORS specification.<br>
@@ -31,7 +31,7 @@ export let baseURL: {};
31
31
  * @memberof loader
32
32
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes
33
33
  * @example
34
- * // allow for cross-origin texture loading in WebGL
34
+ * // allow for cross-origin texture loading
35
35
  * me.loader.crossOrigin = "anonymous";
36
36
  *
37
37
  * // set all ressources to be loaded
@@ -15,25 +15,25 @@ export default class Color {
15
15
  */
16
16
  onResetEvent(r?: number, g?: number, b?: number, alpha?: number): void;
17
17
  glArray: Float32Array | undefined;
18
- set r(arg: number);
18
+ set r(value: number);
19
19
  /**
20
20
  * Color Red Component [0 .. 255]
21
21
  * @type {number}
22
22
  */
23
23
  get r(): number;
24
- set g(arg: number);
24
+ set g(value: number);
25
25
  /**
26
26
  * Color Green Component [0 .. 255]
27
27
  * @type {number}
28
28
  */
29
29
  get g(): number;
30
- set b(arg: number);
30
+ set b(value: number);
31
31
  /**
32
32
  * Color Blue Component [0 .. 255]
33
33
  * @type {number}
34
34
  */
35
35
  get b(): number;
36
- set alpha(arg: number);
36
+ set alpha(value: number);
37
37
  /**
38
38
  * Color Alpha Component [0.0 .. 1.0]
39
39
  * @type {number}
@@ -119,6 +119,12 @@ export function round(num: number, dec?: number | undefined): number;
119
119
  * }
120
120
  */
121
121
  export function toBeCloseTo(expected: number, actual: number, precision?: number | undefined): boolean;
122
+ /**
123
+ * Calculates the power of a number.
124
+ * @param {number} n - The number to be raised to the power of 2.
125
+ * @returns {number} The result of raising the number to the power of 2.
126
+ */
127
+ export function pow(n: number): number;
122
128
  /**
123
129
  * a collection of math utility functions
124
130
  * @namespace Math
@@ -19,7 +19,7 @@ export default class ObservableVector2d extends Vector2d {
19
19
  * @ignore
20
20
  */
21
21
  onResetEvent(x: number | undefined, y: number | undefined, settings: any): void;
22
- public set x(arg: number);
22
+ public set x(value: number);
23
23
  /**
24
24
  * x value of the vector
25
25
  * @public
@@ -29,7 +29,7 @@ export default class ObservableVector2d extends Vector2d {
29
29
  */
30
30
  public get x(): number;
31
31
  _x: any;
32
- public set y(arg: number);
32
+ public set y(value: number);
33
33
  /**
34
34
  * y value of the vector
35
35
  * @public
@@ -20,7 +20,7 @@ export default class ObservableVector3d extends Vector3d {
20
20
  * @ignore
21
21
  */
22
22
  onResetEvent(x: number | undefined, y: number | undefined, z: number | undefined, settings: any): this;
23
- public set x(arg: number);
23
+ public set x(value: number);
24
24
  /**
25
25
  * x value of the vector
26
26
  * @public
@@ -30,7 +30,7 @@ export default class ObservableVector3d extends Vector3d {
30
30
  */
31
31
  public get x(): number;
32
32
  _x: any;
33
- public set y(arg: number);
33
+ public set y(value: number);
34
34
  /**
35
35
  * y value of the vector
36
36
  * @public
@@ -40,7 +40,7 @@ export default class ObservableVector3d extends Vector3d {
40
40
  */
41
41
  public get y(): number;
42
42
  _y: any;
43
- public set z(arg: number);
43
+ public set z(value: number);
44
44
  /**
45
45
  * z value of the vector
46
46
  * @public
@@ -38,25 +38,25 @@ export default class Bounds {
38
38
  * @param {number} maxY
39
39
  */
40
40
  setMinMax(minX: number, minY: number, maxX: number, maxY: number): void;
41
- set x(arg: number);
41
+ set x(value: number);
42
42
  /**
43
43
  * x position of the bound
44
44
  * @type {number}
45
45
  */
46
46
  get x(): number;
47
- set y(arg: number);
47
+ set y(value: number);
48
48
  /**
49
49
  * y position of the bounds
50
50
  * @type {number}
51
51
  */
52
52
  get y(): number;
53
- set width(arg: number);
53
+ set width(value: number);
54
54
  /**
55
55
  * width of the bounds
56
56
  * @type {number}
57
57
  */
58
58
  get width(): number;
59
- set height(arg: number);
59
+ set height(value: number);
60
60
  /**
61
61
  * width of the bounds
62
62
  * @type {number}
@@ -39,7 +39,7 @@ export default class Entity extends Renderable {
39
39
  * @ignore
40
40
  */
41
41
  children: any[];
42
- set renderable(arg: Renderable);
42
+ set renderable(value: Renderable);
43
43
  /**
44
44
  * The entity renderable component (can be any objects deriving from me.Renderable, like me.Sprite for example)
45
45
  * @type {Renderable}
@@ -40,7 +40,7 @@ export default class ImageLayer extends Sprite {
40
40
  * @default <1.0,1.0>
41
41
  */
42
42
  ratio: Vector2d;
43
- set repeat(arg: string);
43
+ set repeat(value: string);
44
44
  /**
45
45
  * Define if and how an Image Layer should be repeated.<br>
46
46
  * By default, an Image Layer is repeated both vertically and horizontally.<br>
@@ -47,6 +47,18 @@ export default class NineSliceSprite extends Sprite {
47
47
  flipY?: number | undefined;
48
48
  anchorPoint?: any;
49
49
  });
50
+ set width(value: number);
51
+ /**
52
+ * width of the NineSliceSprite
53
+ * @type {number}
54
+ */
55
+ get width(): number;
56
+ set height(value: number);
57
+ /**
58
+ * height of the NineSliceSprite
59
+ * @type {number}
60
+ */
61
+ get height(): number;
50
62
  nss_width: number;
51
63
  nss_height: number;
52
64
  insetx: number | undefined;
@@ -212,7 +212,7 @@ export default class Renderable extends Rect {
212
212
  * @type {boolean}
213
213
  */
214
214
  get isFloating(): boolean;
215
- set tint(arg: Color);
215
+ set tint(value: Color);
216
216
  /**
217
217
  * define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.
218
218
  * @type {Color}
@@ -224,13 +224,13 @@ export default class Renderable extends Rect {
224
224
  * this.tint.setColor(255, 255, 255);
225
225
  */
226
226
  get tint(): Color;
227
- set depth(arg: number);
227
+ set depth(value: number);
228
228
  /**
229
229
  * the depth of this renderable on the z axis
230
230
  * @type {number}
231
231
  */
232
232
  get depth(): number;
233
- set inViewport(arg: boolean);
233
+ set inViewport(value: boolean);
234
234
  /**
235
235
  * Whether the renderable object is visible and within the viewport
236
236
  * @type {boolean}