melonjs 15.2.1 → 15.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/README.md +1 -1
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  6. package/dist/melonjs.mjs/application/application.js +75 -23
  7. package/dist/melonjs.mjs/application/header.js +2 -2
  8. package/dist/melonjs.mjs/application/resize.js +13 -11
  9. package/dist/melonjs.mjs/application/settings.js +37 -1
  10. package/dist/melonjs.mjs/audio/audio.js +4 -6
  11. package/dist/melonjs.mjs/camera/camera2d.js +12 -14
  12. package/dist/melonjs.mjs/const.js +1 -1
  13. package/dist/melonjs.mjs/entity/entity.js +3 -4
  14. package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
  15. package/dist/melonjs.mjs/geometries/line.js +18 -25
  16. package/dist/melonjs.mjs/geometries/path2d.js +16 -13
  17. package/dist/melonjs.mjs/geometries/point.js +8 -16
  18. package/dist/melonjs.mjs/geometries/poly.js +40 -97
  19. package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
  20. package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
  21. package/dist/melonjs.mjs/index.js +6 -6
  22. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  23. package/dist/melonjs.mjs/input/input.js +1 -1
  24. package/dist/melonjs.mjs/input/keyboard.js +3 -3
  25. package/dist/melonjs.mjs/input/pointer.js +4 -4
  26. package/dist/melonjs.mjs/input/pointerevent.js +6 -7
  27. package/dist/melonjs.mjs/lang/console.js +1 -1
  28. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  29. package/dist/melonjs.mjs/level/level.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  31. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +16 -33
  32. package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
  33. package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
  34. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
  36. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
  37. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -47
  38. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  44. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  45. package/dist/melonjs.mjs/loader/cache.js +1 -1
  46. package/dist/melonjs.mjs/loader/loader.js +1 -1
  47. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  48. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  49. package/dist/melonjs.mjs/loader/parser.js +4 -5
  50. package/dist/melonjs.mjs/loader/settings.js +1 -1
  51. package/dist/melonjs.mjs/math/color.js +5 -5
  52. package/dist/melonjs.mjs/math/math.js +1 -1
  53. package/dist/melonjs.mjs/math/matrix2.js +5 -59
  54. package/dist/melonjs.mjs/math/matrix3.js +82 -141
  55. package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
  56. package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
  57. package/dist/melonjs.mjs/math/vector2.js +7 -91
  58. package/dist/melonjs.mjs/math/vector3.js +6 -90
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  64. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  65. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  66. package/dist/melonjs.mjs/particles/particle.js +2 -2
  67. package/dist/melonjs.mjs/particles/settings.js +1 -1
  68. package/dist/melonjs.mjs/physics/body.js +22 -20
  69. package/dist/melonjs.mjs/physics/bounds.js +27 -33
  70. package/dist/melonjs.mjs/physics/collision.js +5 -5
  71. package/dist/melonjs.mjs/physics/detector.js +10 -10
  72. package/dist/melonjs.mjs/physics/quadtree.js +5 -5
  73. package/dist/melonjs.mjs/physics/response.js +1 -1
  74. package/dist/melonjs.mjs/physics/sat.js +3 -4
  75. package/dist/melonjs.mjs/physics/world.js +6 -9
  76. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  77. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  78. package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
  79. package/dist/melonjs.mjs/renderable/container.js +25 -25
  80. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  81. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  82. package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
  83. package/dist/melonjs.mjs/renderable/light2d.js +3 -3
  84. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  85. package/dist/melonjs.mjs/renderable/renderable.js +31 -39
  86. package/dist/melonjs.mjs/renderable/sprite.js +3 -3
  87. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
  88. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
  89. package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
  90. package/dist/melonjs.mjs/renderable/text/text.js +422 -0
  91. package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
  92. package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
  93. package/dist/melonjs.mjs/renderable/trigger.js +10 -10
  94. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
  95. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
  96. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
  97. package/dist/melonjs.mjs/state/stage.js +13 -14
  98. package/dist/melonjs.mjs/state/state.js +4 -51
  99. package/dist/melonjs.mjs/system/device.js +51 -10
  100. package/dist/melonjs.mjs/system/dom.js +1 -1
  101. package/dist/melonjs.mjs/system/event.js +46 -2
  102. package/dist/melonjs.mjs/system/platform.js +18 -18
  103. package/dist/melonjs.mjs/system/pooling.js +10 -10
  104. package/dist/melonjs.mjs/system/save.js +1 -1
  105. package/dist/melonjs.mjs/system/timer.js +1 -1
  106. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  107. package/dist/melonjs.mjs/text/bitmaptextdata.js +3 -6
  108. package/dist/melonjs.mjs/text/glyph.js +1 -1
  109. package/dist/melonjs.mjs/text/text.js +1 -1
  110. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  111. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  112. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  113. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  114. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  115. package/dist/melonjs.mjs/utils/agent.js +1 -1
  116. package/dist/melonjs.mjs/utils/array.js +1 -1
  117. package/dist/melonjs.mjs/utils/file.js +1 -1
  118. package/dist/melonjs.mjs/utils/function.js +2 -3
  119. package/dist/melonjs.mjs/utils/string.js +1 -1
  120. package/dist/melonjs.mjs/utils/utils.js +1 -1
  121. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +5 -18
  122. package/dist/melonjs.mjs/video/renderer.js +17 -30
  123. package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
  124. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  125. package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
  126. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  127. package/dist/melonjs.mjs/video/video.js +5 -29
  128. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  129. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
  130. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  131. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
  132. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  133. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  138. package/dist/melonjs.mjs/video/webgl/utils/precision.js +4 -4
  139. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  141. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +62 -67
  143. package/dist/melonjs.module.js +1272 -1713
  144. package/dist/types/application/application.d.ts +32 -31
  145. package/dist/types/application/header.d.ts +2 -2
  146. package/dist/types/application/settings.d.ts +80 -16
  147. package/dist/types/audio/audio.d.ts +4 -6
  148. package/dist/types/camera/camera2d.d.ts +13 -16
  149. package/dist/types/entity/entity.d.ts +0 -1
  150. package/dist/types/geometries/ellipse.d.ts +18 -50
  151. package/dist/types/geometries/path2d.d.ts +1 -1
  152. package/dist/types/geometries/point.d.ts +5 -13
  153. package/dist/types/geometries/poly.d.ts +26 -75
  154. package/dist/types/geometries/rectangle.d.ts +12 -58
  155. package/dist/types/geometries/roundrect.d.ts +2 -11
  156. package/dist/types/index.d.ts +3 -3
  157. package/dist/types/input/gamepad.d.ts +31 -31
  158. package/dist/types/input/keyboard.d.ts +105 -105
  159. package/dist/types/input/pointer.d.ts +21 -21
  160. package/dist/types/input/pointerevent.d.ts +6 -6
  161. package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
  162. package/dist/types/level/tiled/TMXUtils.d.ts +4 -6
  163. package/dist/types/math/matrix2.d.ts +9 -63
  164. package/dist/types/math/matrix3.d.ts +9 -68
  165. package/dist/types/math/observable_vector2.d.ts +2 -2
  166. package/dist/types/math/observable_vector3.d.ts +2 -2
  167. package/dist/types/math/vector2.d.ts +8 -92
  168. package/dist/types/math/vector3.d.ts +8 -92
  169. package/dist/types/particles/settings.d.ts +29 -29
  170. package/dist/types/physics/body.d.ts +10 -8
  171. package/dist/types/physics/bounds.d.ts +24 -30
  172. package/dist/types/physics/collision.d.ts +12 -12
  173. package/dist/types/physics/detector.d.ts +1 -1
  174. package/dist/types/physics/world.d.ts +4 -7
  175. package/dist/types/renderable/container.d.ts +19 -19
  176. package/dist/types/renderable/imagelayer.d.ts +6 -6
  177. package/dist/types/renderable/light2d.d.ts +7 -7
  178. package/dist/types/renderable/renderable.d.ts +10 -18
  179. package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
  180. package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
  181. package/dist/types/renderable/text/glyph.d.ts +28 -0
  182. package/dist/types/renderable/text/text.d.ts +159 -0
  183. package/dist/types/renderable/text/textmetrics.d.ts +47 -0
  184. package/dist/types/renderable/text/textstyle.d.ts +5 -0
  185. package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
  186. package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
  187. package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
  188. package/dist/types/state/stage.d.ts +3 -2
  189. package/dist/types/state/state.d.ts +11 -11
  190. package/dist/types/system/device.d.ts +16 -9
  191. package/dist/types/system/event.d.ts +40 -0
  192. package/dist/types/system/platform.d.ts +17 -17
  193. package/dist/types/utils/function.d.ts +1 -2
  194. package/dist/types/video/canvas/canvas_renderer.d.ts +0 -23
  195. package/dist/types/video/renderer.d.ts +16 -43
  196. package/dist/types/video/texture/canvas_texture.d.ts +14 -14
  197. package/dist/types/video/video.d.ts +4 -38
  198. package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
  199. package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
  200. package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
  201. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
  202. package/dist/types/video/webgl/utils/precision.d.ts +1 -1
  203. package/dist/types/video/webgl/webgl_renderer.d.ts +48 -84
  204. package/package.json +15 -15
  205. package/src/application/application.js +73 -21
  206. package/src/application/header.js +1 -1
  207. package/src/application/resize.js +11 -9
  208. package/src/application/settings.js +36 -0
  209. package/src/audio/audio.js +3 -5
  210. package/src/camera/camera2d.js +11 -13
  211. package/src/entity/entity.js +2 -3
  212. package/src/geometries/ellipse.js +25 -58
  213. package/src/geometries/line.js +17 -24
  214. package/src/geometries/path2d.js +15 -12
  215. package/src/geometries/point.js +7 -15
  216. package/src/geometries/poly.js +39 -96
  217. package/src/geometries/rectangle.js +36 -90
  218. package/src/geometries/roundrect.js +25 -34
  219. package/src/index.js +4 -4
  220. package/src/input/keyboard.js +2 -2
  221. package/src/input/pointer.js +3 -3
  222. package/src/input/pointerevent.js +5 -6
  223. package/src/lang/deprecated.js +1 -1
  224. package/src/level/tiled/TMXLayer.js +15 -32
  225. package/src/level/tiled/TMXObject.js +2 -3
  226. package/src/level/tiled/TMXTile.js +3 -3
  227. package/src/level/tiled/TMXTileMap.js +2 -2
  228. package/src/level/tiled/TMXTileset.js +3 -6
  229. package/src/level/tiled/TMXTilesetGroup.js +1 -1
  230. package/src/level/tiled/TMXUtils.js +36 -46
  231. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  232. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  233. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  234. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  235. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  236. package/src/loader/parser.js +3 -4
  237. package/src/math/color.js +4 -4
  238. package/src/math/matrix2.js +4 -58
  239. package/src/math/matrix3.js +81 -140
  240. package/src/math/observable_vector2.js +6 -6
  241. package/src/math/observable_vector3.js +4 -4
  242. package/src/math/vector2.js +6 -90
  243. package/src/math/vector3.js +5 -89
  244. package/src/particles/emitter.js +1 -1
  245. package/src/particles/particle.js +1 -1
  246. package/src/physics/body.js +21 -19
  247. package/src/physics/bounds.js +26 -32
  248. package/src/physics/collision.js +4 -4
  249. package/src/physics/detector.js +9 -9
  250. package/src/physics/quadtree.js +4 -4
  251. package/src/physics/sat.js +2 -3
  252. package/src/physics/world.js +5 -8
  253. package/src/polyfill/roundrect.js +163 -163
  254. package/src/renderable/collectable.js +1 -1
  255. package/src/renderable/colorlayer.js +3 -3
  256. package/src/renderable/container.js +24 -24
  257. package/src/renderable/imagelayer.js +3 -3
  258. package/src/renderable/light2d.js +2 -2
  259. package/src/renderable/nineslicesprite.js +1 -1
  260. package/src/renderable/renderable.js +30 -38
  261. package/src/renderable/sprite.js +2 -2
  262. package/src/{text → renderable/text}/bitmaptext.js +8 -8
  263. package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
  264. package/src/{text → renderable/text}/glyph.js +1 -1
  265. package/src/{text → renderable/text}/text.js +16 -17
  266. package/src/{text → renderable/text}/textmetrics.js +2 -2
  267. package/src/renderable/trigger.js +9 -9
  268. package/src/renderable/ui/uibaseelement.js +6 -6
  269. package/src/renderable/ui/uispriteelement.js +6 -6
  270. package/src/renderable/ui/uitextbutton.js +2 -2
  271. package/src/state/stage.js +12 -13
  272. package/src/state/state.js +2 -61
  273. package/src/system/device.js +50 -9
  274. package/src/system/event.js +44 -0
  275. package/src/system/platform.js +18 -18
  276. package/src/system/pooling.js +9 -9
  277. package/src/tweens/tween.js +1 -1
  278. package/src/utils/function.js +1 -2
  279. package/src/video/canvas/canvas_renderer.js +4 -17
  280. package/src/video/renderer.js +16 -29
  281. package/src/video/texture/atlas.js +12 -12
  282. package/src/video/texture/canvas_texture.js +14 -14
  283. package/src/video/video.js +7 -28
  284. package/src/video/webgl/buffer/vertex.js +2 -2
  285. package/src/video/webgl/compositors/compositor.js +12 -13
  286. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  287. package/src/video/webgl/compositors/quad_compositor.js +1 -2
  288. package/src/video/webgl/glshader.js +1 -1
  289. package/src/video/webgl/utils/precision.js +3 -3
  290. package/src/video/webgl/webgl_renderer.js +61 -66
  291. /package/src/{text → renderable/text}/textstyle.js +0 -0
@@ -12,18 +12,16 @@ export default class Vector3d {
12
12
  /**
13
13
  * @ignore
14
14
  */
15
- onResetEvent(x?: number, y?: number, z?: number): Vector3d;
15
+ onResetEvent(x?: number, y?: number, z?: number): this;
16
16
  x: any;
17
17
  y: any;
18
18
  z: any;
19
19
  /**
20
20
  * @ignore
21
21
  */
22
- _set(x: any, y: any, z?: number): Vector3d;
22
+ _set(x: any, y: any, z?: number): this;
23
23
  /**
24
24
  * set the Vector x and y properties to the given values<br>
25
- * @name set
26
- * @memberof Vector3d
27
25
  * @param {number} x
28
26
  * @param {number} y
29
27
  * @param {number} [z=0]
@@ -32,39 +30,29 @@ export default class Vector3d {
32
30
  set(x: number, y: number, z?: number | undefined): Vector3d;
33
31
  /**
34
32
  * set the Vector x and y properties to 0
35
- * @name setZero
36
- * @memberof Vector3d
37
33
  * @returns {Vector3d} Reference to this object for method chaining
38
34
  */
39
35
  setZero(): Vector3d;
40
36
  /**
41
37
  * set the Vector x and y properties using the passed vector
42
- * @name setV
43
- * @memberof Vector3d
44
38
  * @param {Vector2d|Vector3d} v
45
39
  * @returns {Vector3d} Reference to this object for method chaining
46
40
  */
47
41
  setV(v: Vector2d | Vector3d): Vector3d;
48
42
  /**
49
43
  * Add the passed vector to this vector
50
- * @name add
51
- * @memberof Vector3d
52
44
  * @param {Vector2d|Vector3d} v
53
45
  * @returns {Vector3d} Reference to this object for method chaining
54
46
  */
55
47
  add(v: Vector2d | Vector3d): Vector3d;
56
48
  /**
57
49
  * Substract the passed vector to this vector
58
- * @name sub
59
- * @memberof Vector3d
60
50
  * @param {Vector2d|Vector3d} v
61
51
  * @returns {Vector3d} Reference to this object for method chaining
62
52
  */
63
53
  sub(v: Vector2d | Vector3d): Vector3d;
64
54
  /**
65
55
  * Multiply this vector values by the given scalar
66
- * @name scale
67
- * @memberof Vector3d
68
56
  * @param {number} x
69
57
  * @param {number} [y=x]
70
58
  * @param {number} [z=1]
@@ -73,45 +61,33 @@ export default class Vector3d {
73
61
  scale(x: number, y?: number | undefined, z?: number | undefined): Vector3d;
74
62
  /**
75
63
  * Multiply this vector values by the passed vector
76
- * @name scaleV
77
- * @memberof Vector3d
78
64
  * @param {Vector2d|Vector3d} v
79
65
  * @returns {Vector3d} Reference to this object for method chaining
80
66
  */
81
67
  scaleV(v: Vector2d | Vector3d): Vector3d;
82
68
  /**
83
69
  * Convert this vector into isometric coordinate space
84
- * @name toIso
85
- * @memberof Vector3d
86
70
  * @returns {Vector3d} Reference to this object for method chaining
87
71
  */
88
72
  toIso(): Vector3d;
89
73
  /**
90
74
  * Convert this vector into 2d coordinate space
91
- * @name to2d
92
- * @memberof Vector3d
93
75
  * @returns {Vector3d} Reference to this object for method chaining
94
76
  */
95
77
  to2d(): Vector3d;
96
78
  /**
97
79
  * Divide this vector values by the passed value
98
- * @name div
99
- * @memberof Vector3d
100
80
  * @param {number} n - the value to divide the vector by
101
81
  * @returns {Vector3d} Reference to this object for method chaining
102
82
  */
103
83
  div(n: number): Vector3d;
104
84
  /**
105
85
  * Update this vector values to absolute values
106
- * @name abs
107
- * @memberof Vector3d
108
86
  * @returns {Vector3d} Reference to this object for method chaining
109
87
  */
110
88
  abs(): Vector3d;
111
89
  /**
112
90
  * Clamp the vector value within the specified value range
113
- * @name clamp
114
- * @memberof Vector3d
115
91
  * @param {number} low
116
92
  * @param {number} high
117
93
  * @returns {Vector3d} new me.Vector3d
@@ -119,8 +95,6 @@ export default class Vector3d {
119
95
  clamp(low: number, high: number): Vector3d;
120
96
  /**
121
97
  * Clamp this vector value within the specified value range
122
- * @name clampSelf
123
- * @memberof Vector3d
124
98
  * @param {number} low
125
99
  * @param {number} high
126
100
  * @returns {Vector3d} Reference to this object for method chaining
@@ -128,107 +102,73 @@ export default class Vector3d {
128
102
  clampSelf(low: number, high: number): Vector3d;
129
103
  /**
130
104
  * Update this vector with the minimum value between this and the passed vector
131
- * @name minV
132
- * @memberof Vector3d
133
105
  * @param {Vector2d|Vector3d} v
134
106
  * @returns {Vector3d} Reference to this object for method chaining
135
107
  */
136
108
  minV(v: Vector2d | Vector3d): Vector3d;
137
109
  /**
138
110
  * Update this vector with the maximum value between this and the passed vector
139
- * @name maxV
140
- * @memberof Vector3d
141
111
  * @param {Vector2d|Vector3d} v
142
112
  * @returns {Vector3d} Reference to this object for method chaining
143
113
  */
144
114
  maxV(v: Vector2d | Vector3d): Vector3d;
145
115
  /**
146
116
  * Floor the vector values
147
- * @name floor
148
- * @memberof Vector3d
149
117
  * @returns {Vector3d} new me.Vector3d
150
118
  */
151
119
  floor(): Vector3d;
152
120
  /**
153
121
  * Floor this vector values
154
- * @name floorSelf
155
- * @memberof Vector3d
156
122
  * @returns {Vector3d} Reference to this object for method chaining
157
123
  */
158
124
  floorSelf(): Vector3d;
159
125
  /**
160
126
  * Ceil the vector values
161
- * @name ceil
162
- * @memberof Vector3d
163
127
  * @returns {Vector3d} new me.Vector3d
164
128
  */
165
129
  ceil(): Vector3d;
166
130
  /**
167
131
  * Ceil this vector values
168
- * @name ceilSelf
169
- * @memberof Vector3d
170
132
  * @returns {Vector3d} Reference to this object for method chaining
171
133
  */
172
134
  ceilSelf(): Vector3d;
173
135
  /**
174
136
  * Negate the vector values
175
- * @name negate
176
- * @memberof Vector3d
177
137
  * @returns {Vector3d} new me.Vector3d
178
138
  */
179
139
  negate(): Vector3d;
180
140
  /**
181
141
  * Negate this vector values
182
- * @name negateSelf
183
- * @memberof Vector3d
184
142
  * @returns {Vector3d} Reference to this object for method chaining
185
143
  */
186
144
  negateSelf(): Vector3d;
187
145
  /**
188
146
  * Copy the components of the given vector into this one
189
- * @name copy
190
- * @memberof Vector3d
191
147
  * @param {Vector2d|Vector3d} v
192
148
  * @returns {Vector3d} Reference to this object for method chaining
193
149
  */
194
150
  copy(v: Vector2d | Vector3d): Vector3d;
195
151
  /**
196
- * return true if the two vectors are the same
197
- * @name equals
198
- * @memberof Vector3d
199
- * @method
200
- * @param {Vector2d|Vector3d} v
201
- * @returns {boolean}
202
- */
203
- /**
204
- * return true if this vector is equal to the given values
205
- * @name equals
206
- * @memberof Vector3d
207
- * @param {number} x
208
- * @param {number} y
152
+ * return true if this vector is equal to the given values or vector
153
+ * @param {number|Vector2d|ObservableVector2d|Vector3d|ObservableVector3d} x
154
+ * @param {number} [y]
209
155
  * @param {number} [z]
210
156
  * @returns {boolean}
211
157
  */
212
158
  equals(...args: any[]): boolean;
213
159
  /**
214
160
  * normalize this vector (scale the vector so that its magnitude is 1)
215
- * @name normalize
216
- * @memberof Vector3d
217
161
  * @returns {Vector3d} Reference to this object for method chaining
218
162
  */
219
163
  normalize(): Vector3d;
220
164
  /**
221
165
  * change this vector to be perpendicular to what it was before.<br>
222
166
  * (Effectively rotates it 90 degrees in a clockwise direction around the z axis)
223
- * @name perp
224
- * @memberof Vector3d
225
167
  * @returns {Vector3d} Reference to this object for method chaining
226
168
  */
227
169
  perp(): Vector3d;
228
170
  /**
229
171
  * Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis
230
- * @name rotate
231
- * @memberof Vector3d
232
172
  * @param {number} angle - The angle to rotate (in radians)
233
173
  * @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around (on the same z axis)
234
174
  * @returns {Vector3d} Reference to this object for method chaining
@@ -236,38 +176,28 @@ export default class Vector3d {
236
176
  rotate(angle: number, v?: Vector2d | ObservableVector2d): Vector3d;
237
177
  /**
238
178
  * return the dot product of this vector and the passed one
239
- * @name dot
240
- * @memberof Vector3d
241
179
  * @param {Vector2d|Vector3d} v
242
180
  * @returns {number} The dot product.
243
181
  */
244
182
  dot(v: Vector2d | Vector3d): number;
245
183
  /**
246
184
  * calculate the cross product of this vector and the passed one
247
- * @name cross
248
- * @memberof Vector3d
249
185
  * @param {Vector3d} v
250
186
  * @returns {Vector3d} Reference to this object for method chaining
251
187
  */
252
188
  cross(v: Vector3d): Vector3d;
253
189
  /**
254
- * return the square length of this vector
255
- * @name length2
256
- * @memberof Vector3d
257
- * @returns {number} The length^2 of this vector.
258
- */
190
+ * return the square length of this vector
191
+ * @returns {number} The length^2 of this vector.
192
+ */
259
193
  length2(): number;
260
194
  /**
261
195
  * return the length (magnitude) of this vector
262
- * @name length
263
- * @memberof Vector3d
264
196
  * @returns {number} the length of this vector
265
197
  */
266
198
  length(): number;
267
199
  /**
268
200
  * Linearly interpolate between this vector and the given one.
269
- * @name lerp
270
- * @memberof Vector3d
271
201
  * @param {Vector3d} v
272
202
  * @param {number} alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
273
203
  * @returns {Vector3d} Reference to this object for method chaining
@@ -275,8 +205,6 @@ export default class Vector3d {
275
205
  lerp(v: Vector3d, alpha: number): Vector3d;
276
206
  /**
277
207
  * interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.
278
- * @name moveTowards
279
- * @memberof Vector3d
280
208
  * @param {Vector2d|Vector3d} target
281
209
  * @param {number} step - the maximum step per iteration (Negative values will push the vector away from the target)
282
210
  * @returns {Vector3d} Reference to this object for method chaining
@@ -284,24 +212,18 @@ export default class Vector3d {
284
212
  moveTowards(target: Vector2d | Vector3d, step: number): Vector3d;
285
213
  /**
286
214
  * return the distance between this vector and the passed one
287
- * @name distance
288
- * @memberof Vector3d
289
215
  * @param {Vector2d|Vector3d} v
290
216
  * @returns {number}
291
217
  */
292
218
  distance(v: Vector2d | Vector3d): number;
293
219
  /**
294
220
  * return the angle between this vector and the passed one
295
- * @name angle
296
- * @memberof Vector3d
297
221
  * @param {Vector2d|Vector3d} v
298
222
  * @returns {number} angle in radians
299
223
  */
300
224
  angle(v: Vector2d | Vector3d): number;
301
225
  /**
302
226
  * project this vector on to another vector.
303
- * @name project
304
- * @memberof Vector3d
305
227
  * @param {Vector2d|Vector3d} v - The vector to project onto.
306
228
  * @returns {Vector3d} Reference to this object for method chaining
307
229
  */
@@ -309,23 +231,17 @@ export default class Vector3d {
309
231
  /**
310
232
  * Project this vector onto a vector of unit length.<br>
311
233
  * This is slightly more efficient than `project` when dealing with unit vectors.
312
- * @name projectN
313
- * @memberof Vector3d
314
234
  * @param {Vector2d|Vector3d} v - The unit vector to project onto.
315
235
  * @returns {Vector3d} Reference to this object for method chaining
316
236
  */
317
237
  projectN(v: Vector2d | Vector3d): Vector3d;
318
238
  /**
319
239
  * return a clone copy of this vector
320
- * @name clone
321
- * @memberof Vector3d
322
240
  * @returns {Vector3d} new me.Vector3d
323
241
  */
324
242
  clone(): Vector3d;
325
243
  /**
326
244
  * convert the object to a string representation
327
- * @name toString
328
- * @memberof Vector3d
329
245
  * @returns {string}
330
246
  */
331
247
  toString(): string;
@@ -1,32 +1,32 @@
1
1
  export default ParticleEmitterSettings;
2
2
  declare namespace ParticleEmitterSettings {
3
- const width: number;
4
- const height: number;
5
- const image: HTMLCanvasElement;
6
- const textureSize: number;
7
- const tint: string;
8
- const totalParticles: number;
9
- const angle: number;
10
- const angleVariation: number;
11
- const minLife: number;
12
- const maxLife: number;
13
- const speed: number;
14
- const speedVariation: number;
15
- const minRotation: number;
16
- const maxRotation: number;
17
- const minStartScale: number;
18
- const maxStartScale: number;
19
- const minEndScale: number;
20
- const maxEndScale: number;
21
- const gravity: number;
22
- const wind: number;
23
- const followTrajectory: boolean;
24
- const textureAdditive: boolean;
25
- const blendMode: string;
26
- const onlyInViewport: boolean;
27
- const floating: boolean;
28
- const maxParticles: number;
29
- const frequency: number;
30
- const duration: number;
31
- const framesToSkip: number;
3
+ let width: number;
4
+ let height: number;
5
+ let image: HTMLCanvasElement;
6
+ let textureSize: number;
7
+ let tint: string;
8
+ let totalParticles: number;
9
+ let angle: number;
10
+ let angleVariation: number;
11
+ let minLife: number;
12
+ let maxLife: number;
13
+ let speed: number;
14
+ let speedVariation: number;
15
+ let minRotation: number;
16
+ let maxRotation: number;
17
+ let minStartScale: number;
18
+ let maxStartScale: number;
19
+ let minEndScale: number;
20
+ let maxEndScale: number;
21
+ let gravity: number;
22
+ let wind: number;
23
+ let followTrajectory: boolean;
24
+ let textureAdditive: boolean;
25
+ let blendMode: string;
26
+ let onlyInViewport: boolean;
27
+ let floating: boolean;
28
+ let maxParticles: number;
29
+ let frequency: number;
30
+ let duration: number;
31
+ let framesToSkip: number;
32
32
  }
@@ -272,15 +272,17 @@ export default class Body {
272
272
  forEach(callback: Function, thisArg?: object | undefined, ...args: any[]): void;
273
273
  /**
274
274
  * Returns true if the any of the shape composing the body contains the given point.
275
- * @method Body#contains
276
- * @param {Vector2d} point
277
- * @returns {boolean} true if contains
278
- */
279
- /**
280
- * Returns true if the any of the shape composing the body contains the given point.
281
- * @param {number} x - x coordinate
282
- * @param {number} y - y coordinate
275
+ * @param {number|Vector2d} x - x coordinate or a vector point to check
276
+ * @param {number} [y] - y coordinate
283
277
  * @returns {boolean} true if contains
278
+ * @example
279
+ * if (mySprite.body.contains(10, 10)) {
280
+ * // do something
281
+ * }
282
+ * // or
283
+ * if (mySprite.body.contains(myVector2d)) {
284
+ * // do something
285
+ * }
284
286
  */
285
287
  contains(...args: any[]): boolean;
286
288
  /**
@@ -96,7 +96,7 @@ export default class Bounds {
96
96
  * @param {number} x - the x coordinate around which to center this bounds
97
97
  * @param {number} y - the y coordinate around which to center this bounds
98
98
  */
99
- centerOn(x: number, y: number): Bounds;
99
+ centerOn(x: number, y: number): this;
100
100
  /**
101
101
  * Updates bounds using the given vertices
102
102
  * @param {Vector2d[]|Point[]} vertices - an array of Vector2d or Point
@@ -131,17 +131,17 @@ export default class Bounds {
131
131
  addFrame(x0: number, y0: number, x1: number, y1: number, m?: any): void;
132
132
  /**
133
133
  * Returns true if the bounds contains the given point.
134
- * @name contains
135
- * @memberof Bounds
136
- * @method
137
- * @param {Vector2d} point
138
- * @returns {boolean} True if the bounds contain the point, otherwise false
139
- */
140
- /**
141
- * Returns true if the bounds contains the given point.
142
- * @param {number} x
143
- * @param {number} y
134
+ * @param {number|Vector2d} x - x coordinate or a vector point to check
135
+ * @param {number} [y] - y coordinate
144
136
  * @returns {boolean} True if the bounds contain the point, otherwise false
137
+ * @example
138
+ * if (bounds.contains(10, 10)) {
139
+ * // do something
140
+ * }
141
+ * // or
142
+ * if (bounds.contains(myVector2d)) {
143
+ * // do something
144
+ * }
145
145
  */
146
146
  contains(...args: any[]): boolean;
147
147
  /**
@@ -156,29 +156,23 @@ export default class Bounds {
156
156
  */
157
157
  isFinite(): boolean;
158
158
  /**
159
- * Translates the bounds by the given vector.
160
- * @name translate
161
- * @memberof Bounds
162
- * @method
163
- * @param {Vector2d} vector
164
- */
165
- /**
166
- * Translates the bounds by x on the x axis, and y on the y axis
167
- * @param {number} x
168
- * @param {number} y
159
+ * Translates the bounds by the given point
160
+ * @param {number|Vector2d} x - x coordinate or a vector point to translate by
161
+ * @param {number} [y]
162
+ * @example
163
+ * bounds.translate(10, 10);
164
+ * // or
165
+ * bounds.translate(myVector2d);
169
166
  */
170
167
  translate(...args: any[]): void;
171
- /**
172
- * Shifts the bounds to the given position vector.
173
- * @name shift
174
- * @memberof Bounds
175
- * @method
176
- * @param {Vector2d} position
177
- */
178
168
  /**
179
169
  * Shifts the bounds to the given x, y position.
180
- * @param {number} x
181
- * @param {number} y
170
+ * @param {number|Vector2d} x - x coordinate or a vector point to shift to
171
+ * @param {number} [y]
172
+ * @example
173
+ * bounds.shift(10, 10);
174
+ * // or
175
+ * bounds.shift(myVector2d);
182
176
  */
183
177
  shift(...args: any[]): void;
184
178
  /**
@@ -1,18 +1,18 @@
1
1
  export default collision;
2
2
  declare namespace collision {
3
- const maxChildren: number;
4
- const maxDepth: number;
3
+ let maxChildren: number;
4
+ let maxDepth: number;
5
5
  namespace types {
6
- const NO_OBJECT: number;
7
- const PLAYER_OBJECT: number;
8
- const NPC_OBJECT: number;
9
- const ENEMY_OBJECT: number;
10
- const COLLECTABLE_OBJECT: number;
11
- const ACTION_OBJECT: number;
12
- const PROJECTILE_OBJECT: number;
13
- const WORLD_SHAPE: number;
14
- const USER: number;
15
- const ALL_OBJECT: number;
6
+ let NO_OBJECT: number;
7
+ let PLAYER_OBJECT: number;
8
+ let NPC_OBJECT: number;
9
+ let ENEMY_OBJECT: number;
10
+ let COLLECTABLE_OBJECT: number;
11
+ let ACTION_OBJECT: number;
12
+ let PROJECTILE_OBJECT: number;
13
+ let WORLD_SHAPE: number;
14
+ let USER: number;
15
+ let ALL_OBJECT: number;
16
16
  }
17
17
  /**
18
18
  * Checks for object colliding with the given line
@@ -25,7 +25,7 @@ export default class Detector {
25
25
  * detect collision between two bodies.
26
26
  * @param {Body} bodyA - a reference to body A.
27
27
  * @param {Body} bodyB - a reference to body B.
28
- * @returns {Boolean} true if colliding
28
+ * @returns {boolean} true if colliding
29
29
  */
30
30
  collides(bodyA: Body, bodyB: Body, response?: ResponseObject): boolean;
31
31
  /**
@@ -30,13 +30,10 @@ export default class World extends Container {
30
30
  */
31
31
  gravity: Vector2d;
32
32
  /**
33
- * Specify the rendering method for tile layers. <br>
34
- * if false visible part of the layers are rendered dynamically,<br>
35
- * if true the entire layers are first rendered into an offscreen canvas.<br>
36
- * the "best" rendering method depends of your game
37
- * (amount of layer, layer size, amount of tiles per layer, etc.)<br>
38
- * note : rendering method is also configurable per layer by adding this
39
- * property to your layer (in Tiled).
33
+ * Enabled pre-rendering for all tile layers. <br>
34
+ * If false layers are rendered dynamically, if true layers are first fully rendered into an offscreen canvas.<br>
35
+ * the "best" rendering method depends of your game (amount of layer, layer size, amount of tiles per layer, etc.)<br>
36
+ * Note : rendering method is also configurable per layer by adding a boolean "preRender" property to your layer in Tiled ({@link https://doc.mapeditor.org/en/stable/manual/custom-properties/#adding-properties}).
40
37
  * @type {boolean}
41
38
  * @default false
42
39
  */