melonjs 14.5.0 → 15.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.
- package/LICENSE.md +1 -1
- package/README.md +6 -6
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +7 -3
- package/dist/melonjs.mjs/_virtual/index2.js +1 -1
- package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
- package/dist/melonjs.mjs/application/application.js +27 -17
- package/dist/melonjs.mjs/application/header.js +6 -5
- package/dist/melonjs.mjs/application/resize.js +20 -20
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +18 -20
- package/dist/melonjs.mjs/camera/camera2d.js +10 -10
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +4 -4
- package/dist/melonjs.mjs/geometries/ellipse.js +6 -6
- package/dist/melonjs.mjs/geometries/line.js +9 -9
- package/dist/melonjs.mjs/geometries/path2d.js +56 -56
- package/dist/melonjs.mjs/geometries/point.js +2 -2
- package/dist/melonjs.mjs/geometries/poly.js +29 -29
- package/dist/melonjs.mjs/geometries/rectangle.js +8 -8
- package/dist/melonjs.mjs/geometries/roundrect.js +6 -6
- package/dist/melonjs.mjs/index.js +8 -6
- package/dist/melonjs.mjs/input/gamepad.js +30 -30
- package/dist/melonjs.mjs/input/input.js +2 -2
- package/dist/melonjs.mjs/input/keyboard.js +15 -15
- package/dist/melonjs.mjs/input/pointer.js +2 -2
- package/dist/melonjs.mjs/input/pointerevent.js +59 -59
- package/dist/melonjs.mjs/lang/console.js +3 -3
- package/dist/melonjs.mjs/lang/deprecated.js +2 -2
- package/dist/melonjs.mjs/level/level.js +9 -9
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +31 -31
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +8 -8
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +8 -8
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +19 -19
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +15 -15
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +46 -41
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +30 -30
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +21 -21
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +10 -10
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +6 -6
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +7 -7
- package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parser.js +13 -13
- package/dist/melonjs.mjs/loader/settings.js +3 -3
- package/dist/melonjs.mjs/math/color.js +25 -24
- package/dist/melonjs.mjs/math/math.js +2 -2
- package/dist/melonjs.mjs/math/matrix2.js +22 -22
- package/dist/melonjs.mjs/math/matrix3.js +52 -52
- package/dist/melonjs.mjs/math/observable_vector2.js +12 -12
- package/dist/melonjs.mjs/math/observable_vector3.js +22 -22
- package/dist/melonjs.mjs/math/vector2.js +11 -11
- package/dist/melonjs.mjs/math/vector3.js +21 -21
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +45 -0
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +130 -0
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +5 -5
- package/dist/melonjs.mjs/particles/particle.js +8 -8
- package/dist/melonjs.mjs/particles/settings.js +3 -3
- package/dist/melonjs.mjs/physics/body.js +17 -17
- package/dist/melonjs.mjs/physics/bounds.js +12 -12
- package/dist/melonjs.mjs/physics/collision.js +3 -3
- package/dist/melonjs.mjs/physics/detector.js +14 -14
- package/dist/melonjs.mjs/physics/quadtree.js +19 -19
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +60 -60
- package/dist/melonjs.mjs/physics/world.js +4 -4
- package/dist/melonjs.mjs/plugin/plugin.js +11 -11
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +77 -59
- package/dist/melonjs.mjs/renderable/dragndrop.js +5 -5
- package/dist/melonjs.mjs/renderable/imagelayer.js +7 -6
- package/dist/melonjs.mjs/renderable/light2d.js +6 -6
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +12 -12
- package/dist/melonjs.mjs/renderable/renderable.js +35 -13
- package/dist/melonjs.mjs/renderable/sprite.js +25 -25
- package/dist/melonjs.mjs/renderable/trigger.js +11 -9
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +97 -27
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +25 -25
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +83 -65
- package/dist/melonjs.mjs/state/stage.js +7 -7
- package/dist/melonjs.mjs/state/state.js +15 -15
- package/dist/melonjs.mjs/system/device.js +3 -3
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +2 -2
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +9 -9
- package/dist/melonjs.mjs/system/save.js +6 -6
- package/dist/melonjs.mjs/system/timer.js +16 -12
- package/dist/melonjs.mjs/text/bitmaptext.js +20 -20
- package/dist/melonjs.mjs/text/bitmaptextdata.js +22 -22
- package/dist/melonjs.mjs/text/glyph.js +3 -3
- package/dist/melonjs.mjs/text/text.js +63 -92
- package/dist/melonjs.mjs/text/textmetrics.js +15 -15
- package/dist/melonjs.mjs/text/textstyle.js +4 -6
- package/dist/melonjs.mjs/tweens/easing.js +4 -4
- package/dist/melonjs.mjs/tweens/interpolation.js +8 -8
- package/dist/melonjs.mjs/tweens/tween.js +11 -11
- package/dist/melonjs.mjs/utils/agent.js +6 -6
- package/dist/melonjs.mjs/utils/array.js +4 -4
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +5 -5
- package/dist/melonjs.mjs/utils/string.js +3 -3
- package/dist/melonjs.mjs/utils/utils.js +16 -16
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +41 -119
- package/dist/melonjs.mjs/video/renderer.js +70 -14
- package/dist/melonjs.mjs/video/texture/atlas.js +39 -45
- package/dist/melonjs.mjs/video/texture/cache.js +9 -10
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +63 -3
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +2 -2
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +23 -19
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +80 -80
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +77 -0
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +252 -0
- package/dist/melonjs.mjs/video/webgl/compositors/webgl_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +7 -7
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +7 -7
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +4 -4
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +188 -181
- package/dist/melonjs.module.js +25040 -25193
- package/dist/types/application/application.d.ts +11 -8
- package/dist/types/audio/audio.d.ts +3 -3
- package/dist/types/entity/entity.d.ts +1 -1
- package/dist/types/index.d.ts +7 -4
- package/dist/types/input/input.d.ts +1 -1
- package/dist/types/input/keyboard.d.ts +1 -1
- package/dist/types/input/pointerevent.d.ts +6 -6
- package/dist/types/level/level.d.ts +2 -2
- package/dist/types/level/tiled/TMXLayer.d.ts +4 -4
- package/dist/types/level/tiled/TMXTileMap.d.ts +2 -2
- package/dist/types/level/tiled/TMXUtils.d.ts +5 -4
- package/dist/types/loader/loader.d.ts +2 -2
- package/dist/types/loader/settings.d.ts +2 -2
- package/dist/types/particles/emitter.d.ts +1 -1
- package/dist/types/physics/collision.d.ts +1 -1
- package/dist/types/physics/detector.d.ts +1 -1
- package/dist/types/plugin/plugin.d.ts +2 -2
- package/dist/types/renderable/container.d.ts +21 -17
- package/dist/types/renderable/renderable.d.ts +6 -0
- package/dist/types/renderable/sprite.d.ts +11 -11
- package/dist/types/renderable/trigger.d.ts +1 -1
- package/dist/types/renderable/ui/uibaseelement.d.ts +28 -6
- package/dist/types/renderable/ui/uispriteelement.d.ts +12 -14
- package/dist/types/renderable/ui/uitextbutton.d.ts +52 -12
- package/dist/types/state/stage.d.ts +1 -1
- package/dist/types/system/device.d.ts +1 -1
- package/dist/types/system/pooling.d.ts +3 -3
- package/dist/types/system/timer.d.ts +5 -5
- package/dist/types/text/bitmaptext.d.ts +1 -1
- package/dist/types/text/text.d.ts +7 -21
- package/dist/types/text/textstyle.d.ts +1 -1
- package/dist/types/utils/array.d.ts +2 -2
- package/dist/types/video/canvas/canvas_renderer.d.ts +8 -81
- package/dist/types/video/renderer.d.ts +48 -4
- package/dist/types/video/texture/atlas.d.ts +3 -3
- package/dist/types/video/texture/canvas_texture.d.ts +40 -0
- package/dist/types/video/webgl/buffer/vertex.d.ts +3 -3
- package/dist/types/video/webgl/compositors/compositor.d.ts +38 -32
- package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +22 -0
- package/dist/types/video/webgl/compositors/quad_compositor.d.ts +72 -0
- package/dist/types/video/webgl/glshader.d.ts +1 -1
- package/dist/types/video/webgl/webgl_renderer.d.ts +47 -37
- package/package.json +16 -17
- package/src/application/application.js +26 -16
- package/src/application/header.js +5 -4
- package/src/application/resize.js +19 -19
- package/src/audio/audio.js +17 -19
- package/src/camera/camera2d.js +9 -9
- package/src/entity/entity.js +3 -3
- package/src/geometries/ellipse.js +5 -5
- package/src/geometries/line.js +8 -8
- package/src/geometries/path2d.js +55 -55
- package/src/geometries/point.js +1 -1
- package/src/geometries/poly.js +28 -28
- package/src/geometries/rectangle.js +7 -7
- package/src/geometries/roundrect.js +5 -5
- package/src/index.js +9 -4
- package/src/input/gamepad.js +29 -29
- package/src/input/input.js +1 -1
- package/src/input/keyboard.js +14 -14
- package/src/input/pointer.js +1 -1
- package/src/input/pointerevent.js +52 -52
- package/src/lang/console.js +2 -2
- package/src/lang/deprecated.js +1 -1
- package/src/level/level.js +8 -8
- package/src/level/tiled/TMXGroup.js +2 -2
- package/src/level/tiled/TMXLayer.js +30 -30
- package/src/level/tiled/TMXObject.js +7 -7
- package/src/level/tiled/TMXTile.js +7 -7
- package/src/level/tiled/TMXTileMap.js +18 -18
- package/src/level/tiled/TMXTileset.js +14 -14
- package/src/level/tiled/TMXTilesetGroup.js +2 -2
- package/src/level/tiled/TMXUtils.js +45 -40
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +29 -29
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +20 -20
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +9 -9
- package/src/level/tiled/renderer/TMXRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +5 -5
- package/src/loader/loader.js +6 -6
- package/src/loader/loadingscreen.js +1 -1
- package/src/loader/parser.js +12 -12
- package/src/loader/settings.js +2 -2
- package/src/math/color.js +24 -23
- package/src/math/math.js +1 -1
- package/src/math/matrix2.js +21 -21
- package/src/math/matrix3.js +51 -51
- package/src/math/observable_vector2.js +11 -11
- package/src/math/observable_vector3.js +21 -21
- package/src/math/vector2.js +10 -10
- package/src/math/vector3.js +20 -20
- package/src/particles/emitter.js +4 -4
- package/src/particles/particle.js +7 -7
- package/src/particles/settings.js +2 -2
- package/src/physics/body.js +16 -16
- package/src/physics/bounds.js +11 -11
- package/src/physics/collision.js +2 -2
- package/src/physics/detector.js +13 -13
- package/src/physics/quadtree.js +18 -18
- package/src/physics/sat.js +59 -59
- package/src/physics/world.js +3 -3
- package/src/plugin/plugin.js +8 -8
- package/src/polyfill/index.js +0 -2
- package/src/renderable/collectable.js +1 -1
- package/src/renderable/container.js +76 -58
- package/src/renderable/dragndrop.js +4 -4
- package/src/renderable/imagelayer.js +6 -5
- package/src/renderable/light2d.js +5 -5
- package/src/renderable/nineslicesprite.js +11 -11
- package/src/renderable/renderable.js +34 -12
- package/src/renderable/sprite.js +24 -24
- package/src/renderable/trigger.js +10 -8
- package/src/renderable/ui/uibaseelement.js +96 -26
- package/src/renderable/ui/uispriteelement.js +24 -24
- package/src/renderable/ui/uitextbutton.js +85 -67
- package/src/state/stage.js +6 -6
- package/src/state/state.js +14 -14
- package/src/system/device.js +2 -2
- package/src/system/event.js +1 -1
- package/src/system/pooling.js +8 -8
- package/src/system/save.js +5 -5
- package/src/system/timer.js +15 -11
- package/src/text/bitmaptext.js +19 -19
- package/src/text/bitmaptextdata.js +21 -21
- package/src/text/glyph.js +2 -2
- package/src/text/text.js +62 -91
- package/src/text/textmetrics.js +14 -14
- package/src/text/textstyle.js +3 -5
- package/src/tweens/easing.js +3 -3
- package/src/tweens/interpolation.js +7 -7
- package/src/tweens/tween.js +10 -10
- package/src/utils/agent.js +5 -5
- package/src/utils/array.js +3 -3
- package/src/utils/function.js +4 -4
- package/src/utils/string.js +2 -2
- package/src/utils/utils.js +15 -15
- package/src/video/canvas/canvas_renderer.js +39 -117
- package/src/video/renderer.js +68 -12
- package/src/video/texture/atlas.js +38 -44
- package/src/video/texture/cache.js +6 -6
- package/src/video/texture/canvas_texture.js +62 -2
- package/src/video/video.js +1 -1
- package/src/video/webgl/buffer/vertex.js +22 -18
- package/src/video/webgl/compositors/compositor.js +79 -80
- package/src/video/webgl/compositors/primitive_compositor.js +68 -0
- package/src/video/webgl/compositors/{webgl_compositor.js → quad_compositor.js} +52 -109
- package/src/video/webgl/glshader.js +6 -6
- package/src/video/webgl/shaders/primitive.vert +2 -5
- package/src/video/webgl/shaders/quad.vert +3 -1
- package/src/video/webgl/utils/attributes.js +1 -1
- package/src/video/webgl/utils/program.js +6 -6
- package/src/video/webgl/utils/uniforms.js +3 -3
- package/src/video/webgl/webgl_renderer.js +186 -179
- package/dist/melonjs.mjs/_virtual/make-built-in.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-define-property.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-get-own-property-descriptor.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-get-own-property-names.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-get-own-property-symbols.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-property-is-enumerable.js +0 -10
- package/dist/melonjs.mjs/_virtual/shared.js +0 -10
- package/dist/melonjs.mjs/game.js +0 -29
- package/dist/melonjs.mjs/polyfill/console.js +0 -18
- package/dist/melonjs.mjs/polyfill/performance.js +0 -27
- package/dist/melonjs.mjs/polyfill/requestAnimationFrame.js +0 -46
- package/dist/melonjs.mjs/polyfill/roundrect.js +0 -242
- package/dist/melonjs.mjs/renderable/re_container.js +0 -1016
- package/dist/melonjs.mjs/video/utils/resize.js +0 -116
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +0 -494
- package/src/polyfill/performance.js +0 -20
- package/src/polyfill/requestAnimationFrame.js +0 -39
|
@@ -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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
138
|
+
* let id = me.audio.play("myClip");
|
|
139
139
|
* ...
|
|
140
140
|
* // pause it
|
|
141
141
|
* me.audio.pause("myClip", id);
|
|
@@ -33,7 +33,7 @@ export default class Entity extends Renderable {
|
|
|
33
33
|
frameheight?: number | undefined;
|
|
34
34
|
type?: string | undefined;
|
|
35
35
|
collisionMask?: number | undefined;
|
|
36
|
-
shapes?:
|
|
36
|
+
shapes?: Polygon[] | Line[] | Ellipse[] | Rect[] | undefined;
|
|
37
37
|
});
|
|
38
38
|
/**
|
|
39
39
|
* The array of renderable children of this entity.
|
package/dist/types/index.d.ts
CHANGED
|
@@ -23,14 +23,14 @@ export * from "./const.js";
|
|
|
23
23
|
* @default false
|
|
24
24
|
* @readonly
|
|
25
25
|
*/
|
|
26
|
-
export
|
|
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
|
|
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";
|
|
@@ -64,10 +64,13 @@ import RoundRect from "./geometries/roundrect.js";
|
|
|
64
64
|
import Tween from "./tweens/tween.js";
|
|
65
65
|
import QuadTree from "./physics/quadtree.js";
|
|
66
66
|
import GLShader from "./video/webgl/glshader.js";
|
|
67
|
-
import
|
|
67
|
+
import Compositor from "./video/webgl/compositors/compositor.js";
|
|
68
|
+
import PrimitiveCompositor from "./video/webgl/compositors/primitive_compositor.js";
|
|
69
|
+
import QuadCompositor from "./video/webgl/compositors/quad_compositor.js";
|
|
68
70
|
import Renderer from "./video/renderer.js";
|
|
69
71
|
import WebGLRenderer from "./video/webgl/webgl_renderer.js";
|
|
70
72
|
import CanvasRenderer from "./video/canvas/canvas_renderer.js";
|
|
73
|
+
import CanvasTexture from "./video/texture/canvas_texture.js";
|
|
71
74
|
import { TextureAtlas } from "./video/texture/atlas.js";
|
|
72
75
|
import Renderable from "./renderable/renderable.js";
|
|
73
76
|
import Body from "./physics/body.js";
|
|
@@ -107,4 +110,4 @@ import ParticleEmitterSettings from "./particles/settings.js";
|
|
|
107
110
|
import Particle from "./particles/particle.js";
|
|
108
111
|
import Entity from "./entity/entity.js";
|
|
109
112
|
import Application from "./application/application.js";
|
|
110
|
-
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,
|
|
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 };
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @example
|
|
12
12
|
* onMouseEvent : function (pointer) {
|
|
13
13
|
* // convert the given into local (viewport) relative coordinates
|
|
14
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
102
|
+
* let layer = me.game.world.getChildByName("Front Layer")[0];
|
|
103
103
|
* // get the tile object corresponding to the latest pointer position
|
|
104
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
2
|
+
* decompress and decode zlib/gzip data
|
|
3
3
|
* @ignore
|
|
4
4
|
* @name decompress
|
|
5
|
-
* @param
|
|
6
|
-
* @param
|
|
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():
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
@@ -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
|
|
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
|
|
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.
|
|
91
|
-
* to a container then add it to the
|
|
92
|
-
* orginal container. Then when the
|
|
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
|
|
119
|
-
*
|
|
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
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
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
|
-
*
|
|
167
|
+
* let ent = myContainer.getChildByProp("name", "mainPlayer");
|
|
168
168
|
*
|
|
169
169
|
* // or query the whole world :
|
|
170
|
-
*
|
|
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
|
-
*
|
|
174
|
+
* let allCoins = container.getChildByProp("name", /coin/i);
|
|
175
175
|
*
|
|
176
176
|
* // searching for numbers or other data types :
|
|
177
|
-
*
|
|
178
|
-
*
|
|
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
|
-
|
|
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
|
*/
|
|
@@ -162,6 +162,12 @@ export default class Renderable extends Rect {
|
|
|
162
162
|
* ]);
|
|
163
163
|
*/
|
|
164
164
|
mask: Rect | RoundRect | Polygon | Line | Ellipse;
|
|
165
|
+
/**
|
|
166
|
+
* (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL only)
|
|
167
|
+
* @type {GLShader}
|
|
168
|
+
* @default undefined
|
|
169
|
+
*/
|
|
170
|
+
shader: GLShader;
|
|
165
171
|
/**
|
|
166
172
|
* the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)
|
|
167
173
|
* @type {string}
|
|
@@ -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
|
-
*
|
|
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
|
-
*
|
|
30
|
+
* mytexture = new me.TextureAtlas(
|
|
31
31
|
* me.loader.getJSON("texture"),
|
|
32
32
|
* me.loader.getImage("texture")
|
|
33
33
|
* );
|
|
34
|
-
*
|
|
35
|
-
* image :
|
|
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
|
-
*
|
|
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", (
|
|
183
|
-
*
|
|
182
|
+
* this.setCurrentAnimation("die", () => {
|
|
183
|
+
* world.removeChild(this);
|
|
184
184
|
* return false; // do not reset to first frame
|
|
185
|
-
* })
|
|
185
|
+
* });
|
|
186
186
|
*
|
|
187
187
|
* // set "attack" animation, and pause for a short duration
|
|
188
|
-
* this.setCurrentAnimation("die", (
|
|
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
|
-
* })
|
|
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(
|
|
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
|
-
*
|
|
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
|
|
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
|
|
14
|
-
* @param {number} h - height of the container
|
|
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
|
-
|
|
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
|