melonjs 15.0.0 → 15.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- 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 +17 -17
- 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 +53 -53
- 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 +5 -5
- 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 +58 -58
- 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 +21 -21
- 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 +107 -63
- 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 +11 -11
- 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 -63
- 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 +2 -2
- 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 +10 -9
- package/dist/melonjs.mjs/text/textmetrics.js +15 -15
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- 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 +35 -109
- package/dist/melonjs.mjs/video/renderer.js +74 -7
- package/dist/melonjs.mjs/video/texture/atlas.js +37 -37
- 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 +3 -3
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +5 -5
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +18 -15
- 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 +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- 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 +55 -38
- package/dist/melonjs.module.js +1777 -1813
- package/dist/types/application/application.d.ts +11 -8
- package/dist/types/audio/audio.d.ts +3 -3
- package/dist/types/index.d.ts +4 -3
- 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/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 -11
- 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 +1 -1
- package/dist/types/utils/array.d.ts +2 -2
- package/dist/types/video/canvas/canvas_renderer.d.ts +8 -76
- package/dist/types/video/renderer.d.ts +48 -0
- 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/glshader.d.ts +1 -1
- package/dist/types/video/webgl/webgl_renderer.d.ts +13 -9
- package/package.json +14 -14
- 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 +16 -16
- 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 +52 -52
- 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 +3 -2
- 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 +20 -20
- 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/renderable/collectable.js +1 -1
- package/src/renderable/container.js +106 -62
- 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 +10 -10
- 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 -65
- package/src/state/stage.js +6 -6
- package/src/state/state.js +14 -14
- package/src/system/device.js +1 -1
- 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 +9 -8
- package/src/text/textmetrics.js +14 -14
- 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 +34 -108
- package/src/video/renderer.js +72 -5
- package/src/video/texture/atlas.js +36 -36
- 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 +2 -2
- package/src/video/webgl/compositors/compositor.js +4 -4
- package/src/video/webgl/compositors/primitive_compositor.js +4 -4
- package/src/video/webgl/compositors/quad_compositor.js +17 -14
- package/src/video/webgl/glshader.js +6 -6
- 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 +54 -37
|
@@ -5,25 +5,27 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export default class UITextButton extends UIBaseElement {
|
|
7
7
|
/**
|
|
8
|
-
* A Text Button with an outlined background border, filled with background color.
|
|
8
|
+
* A Bitmap Text Button with an outlined background border, filled with background color.
|
|
9
9
|
* It uses a RoundRect as background and changes the background color on hovering over.
|
|
10
10
|
* The background will be drawn with 0.5 opacity, so that the background of the button is
|
|
11
11
|
* slightly shining through.
|
|
12
12
|
* @param {number} x - x pos of the button
|
|
13
13
|
* @param {number} y - y pos of the button
|
|
14
14
|
* @param {string} [settings.font] - The name of the BitmapText font to use
|
|
15
|
-
* @param {number} [settings.size] - The scale factor of the
|
|
16
|
-
* @param {string} [settings.text] - The text to display
|
|
15
|
+
* @param {number} [settings.size=1] - The scale factor of the BitmapText
|
|
16
|
+
* @param {string} [settings.text] - The text to display
|
|
17
17
|
* @param {string} [settings.bindKey] - The key to bind the action to (default: none)
|
|
18
|
-
* @param {string} [settings.backgroundColor] - The css value of a background color
|
|
19
|
-
* @param {string} [settings.hoverColor] - The css value of a color to be used if the pointer hovers over the button
|
|
20
|
-
* @param {string} [settings.borderStrokeColor] - The css value of a color to be used to draw the border
|
|
21
|
-
* @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the
|
|
18
|
+
* @param {string} [settings.backgroundColor="#00aa0080"] - The css value of a background color
|
|
19
|
+
* @param {string} [settings.hoverColor="#00ff00ff"] - The css value of a color to be used if the pointer hovers over the button
|
|
20
|
+
* @param {string} [settings.borderStrokeColor="#000000"] - The css value of a color to be used to draw the border
|
|
21
|
+
* @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the BitmapText
|
|
22
|
+
* @param {string} [settings.textAlign="center"] - horizontal text alignment
|
|
23
|
+
* @param {string} [settings.textBaseline="middle"] - the text baseline
|
|
22
24
|
* @param {number} [settings.borderWidth] - Width of the button
|
|
23
25
|
* @param {number} [settings.borderHeight] - Height of the button
|
|
24
26
|
* @example
|
|
25
27
|
* // Create a new Button
|
|
26
|
-
* class PlayButton extends
|
|
28
|
+
* class PlayButton extends UITextButton {
|
|
27
29
|
* constructor(x,y) {
|
|
28
30
|
* super(x,y, {
|
|
29
31
|
* font: 'my-font',
|
|
@@ -39,13 +41,52 @@ export default class UITextButton extends UIBaseElement {
|
|
|
39
41
|
* }
|
|
40
42
|
* }
|
|
41
43
|
*
|
|
42
|
-
*
|
|
44
|
+
* world.addChild(new PlayButton(15,200));
|
|
43
45
|
*/
|
|
44
46
|
constructor(x: number, y: number, settings: any);
|
|
45
|
-
|
|
47
|
+
/**
|
|
48
|
+
* The key to bind the action to
|
|
49
|
+
* @type {string}
|
|
50
|
+
*/
|
|
51
|
+
bindKey: string;
|
|
52
|
+
/**
|
|
53
|
+
* The css value of a background color
|
|
54
|
+
* @type {string}
|
|
55
|
+
*/
|
|
56
|
+
backgroundColor: string;
|
|
57
|
+
/**
|
|
58
|
+
* The css value of a color to be used if the pointer hovers over the button
|
|
59
|
+
* @type {string}
|
|
60
|
+
*/
|
|
61
|
+
hoverColor: string;
|
|
62
|
+
/**
|
|
63
|
+
* The css value of a color to be used to draw the border
|
|
64
|
+
* @type {string}
|
|
65
|
+
*/
|
|
66
|
+
borderStrokeColor: string;
|
|
67
|
+
/**
|
|
68
|
+
* Set the default text alignment (or justification),<br>
|
|
69
|
+
* possible values are "left", "right", and "center".
|
|
70
|
+
* @public
|
|
71
|
+
* @type {string}
|
|
72
|
+
* @default "center"
|
|
73
|
+
*/
|
|
74
|
+
public textAlign: string;
|
|
75
|
+
/**
|
|
76
|
+
* Set the text baseline (e.g. the Y-coordinate for the draw operation), <br>
|
|
77
|
+
* possible values are "top", "hanging, "middle, "alphabetic, "ideographic, "bottom"<br>
|
|
78
|
+
* @public
|
|
79
|
+
* @type {string}
|
|
80
|
+
* @default "middle"
|
|
81
|
+
*/
|
|
82
|
+
public textBaseline: string;
|
|
83
|
+
/**
|
|
84
|
+
* the bitmapText used by the UITextButton class
|
|
85
|
+
* @type {BitmapText}
|
|
86
|
+
*/
|
|
87
|
+
bitmapText: BitmapText;
|
|
46
88
|
dimensions: import("../../text/textmetrics.js").default;
|
|
47
89
|
border: RoundRect;
|
|
48
|
-
settings: any;
|
|
49
90
|
draw(renderer: any): void;
|
|
50
91
|
}
|
|
51
92
|
import UIBaseElement from "./uibaseelement.js";
|
|
@@ -38,7 +38,7 @@ export default class Stage {
|
|
|
38
38
|
* @see Stage.ambientLight
|
|
39
39
|
* @example
|
|
40
40
|
* // create a white spot light
|
|
41
|
-
*
|
|
41
|
+
* let whiteLight = new me.Light2d(0, 0, 140, "#fff", 0.7);
|
|
42
42
|
* // and add the light to this current stage
|
|
43
43
|
* this.lights.set("whiteLight", whiteLight);
|
|
44
44
|
* // set a dark ambient light
|
|
@@ -10,7 +10,7 @@ export function onDeviceRotate(e: any): void;
|
|
|
10
10
|
* @param {Function} fn - the function to be executed
|
|
11
11
|
* @example
|
|
12
12
|
* // small game skeleton
|
|
13
|
-
*
|
|
13
|
+
* let game = {
|
|
14
14
|
* // called by the me.device.onReady function
|
|
15
15
|
* onload = function () {
|
|
16
16
|
* // init video
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default pool;
|
|
2
|
-
declare
|
|
2
|
+
declare let pool: ObjectPool;
|
|
3
3
|
/**
|
|
4
4
|
* @classdesc
|
|
5
5
|
* Object pooling - a technique that might speed up your game if used properly.<br>
|
|
@@ -46,11 +46,11 @@ declare class ObjectPool {
|
|
|
46
46
|
* me.pool.register("enemy", EnemyEntity, true);
|
|
47
47
|
* // ...
|
|
48
48
|
* // when we need to manually create a new bullet:
|
|
49
|
-
*
|
|
49
|
+
* let bullet = me.pool.pull("bullet", x, y, direction);
|
|
50
50
|
* // ...
|
|
51
51
|
* // params aren't a fixed number
|
|
52
52
|
* // when we need new enemy we can add more params, that the object construct requires:
|
|
53
|
-
*
|
|
53
|
+
* let enemy = me.pool.pull("enemy", x, y, direction, speed, power, life);
|
|
54
54
|
* // ...
|
|
55
55
|
* // when we want to destroy existing object, the remove
|
|
56
56
|
* // function will ensure the object can then be reallocated later
|
|
@@ -60,7 +60,7 @@ declare class Timer {
|
|
|
60
60
|
* @param {number} delay - the number of milliseconds (thousandths of a second) that the function call should be delayed by.
|
|
61
61
|
* @param {boolean} [pauseable=true] - respects the pause state of the engine.
|
|
62
62
|
* @param {...*} args - optional parameters which are passed through to the function specified by fn once the timer expires.
|
|
63
|
-
* @returns {number}
|
|
63
|
+
* @returns {number} a positive integer value which identifies the timer created by the call to setTimeout(), which can be used later with me.timer.clearTimeout().
|
|
64
64
|
* @example
|
|
65
65
|
* // set a timer to call "myFunction" after 1000ms
|
|
66
66
|
* me.timer.setTimeout(myFunction, 1000);
|
|
@@ -74,7 +74,7 @@ declare class Timer {
|
|
|
74
74
|
* @param {number} delay - the number of milliseconds (thousandths of a second) on how often to execute the function
|
|
75
75
|
* @param {boolean} [pauseable=true] - respects the pause state of the engine.
|
|
76
76
|
* @param {...*} args - optional parameters which are passed through to the function specified by fn once the timer expires.
|
|
77
|
-
* @returns {number}
|
|
77
|
+
* @returns {number} a numeric, non-zero value which identifies the timer created by the call to setInterval(), which can be used later with me.timer.clearInterval().
|
|
78
78
|
* @example
|
|
79
79
|
* // set a timer to call "myFunction" every 1000ms
|
|
80
80
|
* me.timer.setInterval(myFunction, 1000);
|
|
@@ -83,12 +83,12 @@ declare class Timer {
|
|
|
83
83
|
*/
|
|
84
84
|
setInterval(fn: Function, delay: number, pauseable?: boolean | undefined, ...args: any[]): number;
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
87
|
-
* @param {number} timeoutID - ID of the timeout to be
|
|
86
|
+
* Cancels a timeout previously established by calling setTimeout().
|
|
87
|
+
* @param {number} timeoutID - ID of the timeout to be cancelled
|
|
88
88
|
*/
|
|
89
89
|
clearTimeout(timeoutID: number): void;
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
91
|
+
* cancels the timed, repeating action which was previously established by a call to setInterval().
|
|
92
92
|
* @param {number} intervalID - ID of the interval to be cleared
|
|
93
93
|
*/
|
|
94
94
|
clearInterval(intervalID: number): void;
|
|
@@ -26,7 +26,7 @@ export default class BitmapText extends Renderable {
|
|
|
26
26
|
* { name: "arial", type: "image" src: "data/font/arial.png" },
|
|
27
27
|
* ])
|
|
28
28
|
* // Then create an instance of your bitmap font:
|
|
29
|
-
*
|
|
29
|
+
* let myFont = new me.BitmapText(x, y, {font:"arial", text:"Hello"});
|
|
30
30
|
* // two possibilities for using "myFont"
|
|
31
31
|
* // either call the draw function from your Renderable draw function
|
|
32
32
|
* myFont.draw(renderer, "Hello!", 0, 0);
|
|
@@ -20,7 +20,7 @@ export default class Text extends Renderable {
|
|
|
20
20
|
* @param {number} [settings.wordWrapWidth] - the maximum length in CSS pixel for a single segment of text
|
|
21
21
|
* @param {(string|string[])} [settings.text=""] - a string, or an array of strings
|
|
22
22
|
* @example
|
|
23
|
-
*
|
|
23
|
+
* let font = new me.Text(0, 0, {font: "Arial", size: 8, fillStyle: this.color});
|
|
24
24
|
*/
|
|
25
25
|
constructor(x: number, y: number, settings: {
|
|
26
26
|
font: string;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @param {Array} arr - array from which to remove an object
|
|
11
11
|
* @param {object} obj - to be removed
|
|
12
12
|
* @returns {Array} the modified Array
|
|
13
|
-
*
|
|
13
|
+
* let arr = [ "foo", "bar", "baz" ];
|
|
14
14
|
* // remove "foo" from the array
|
|
15
15
|
* me.utils.array.remove(arr, "foo");
|
|
16
16
|
*/
|
|
@@ -24,7 +24,7 @@ export function remove(arr: any[], obj: object): any[];
|
|
|
24
24
|
* @returns {any} random member of array
|
|
25
25
|
* @example
|
|
26
26
|
* // Select a random array element
|
|
27
|
-
*
|
|
27
|
+
* let arr = [ "foo", "bar", "baz" ];
|
|
28
28
|
* console.log(me.utils.array.random(arr));
|
|
29
29
|
*/
|
|
30
30
|
export function random(arr: any[]): any;
|
|
@@ -31,8 +31,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
31
31
|
cache: TextureCache;
|
|
32
32
|
/**
|
|
33
33
|
* Reset the canvas transform to identity
|
|
34
|
-
* @name resetTransform
|
|
35
|
-
* @memberof CanvasRenderer
|
|
36
34
|
*/
|
|
37
35
|
resetTransform(): void;
|
|
38
36
|
/**
|
|
@@ -46,25 +44,19 @@ export default class CanvasRenderer extends Renderer {
|
|
|
46
44
|
* <img src="images/lighter-blendmode.png" width="510"/> <br>
|
|
47
45
|
* - "screen" : The pixels are inverted, multiplied, and inverted again. A lighter picture is the result (opposite of multiply) <br>
|
|
48
46
|
* <img src="images/screen-blendmode.png" width="510"/> <br>
|
|
49
|
-
* @name setBlendMode
|
|
50
47
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
|
|
51
|
-
* @memberof CanvasRenderer
|
|
52
48
|
* @param {string} [mode="normal"] - blend mode : "normal", "multiply", "lighter, "additive", "screen"
|
|
53
49
|
* @param {CanvasRenderingContext2D} [context]
|
|
54
50
|
*/
|
|
55
51
|
setBlendMode(mode?: string | undefined, context?: CanvasRenderingContext2D | undefined): void;
|
|
56
52
|
/**
|
|
57
53
|
* Clears the main framebuffer with the given color
|
|
58
|
-
* @name clearColor
|
|
59
|
-
* @memberof CanvasRenderer
|
|
60
54
|
* @param {Color|string} [color="#000000"] - CSS color.
|
|
61
55
|
* @param {boolean} [opaque=false] - Allow transparency [default] or clear the surface completely [true]
|
|
62
56
|
*/
|
|
63
57
|
clearColor(color?: string | Color | undefined, opaque?: boolean | undefined): void;
|
|
64
58
|
/**
|
|
65
59
|
* Erase the pixels in the given rectangular area by setting them to transparent black (rgba(0,0,0,0)).
|
|
66
|
-
* @name clearRect
|
|
67
|
-
* @memberof CanvasRenderer
|
|
68
60
|
* @param {number} x - x axis of the coordinate for the rectangle starting point.
|
|
69
61
|
* @param {number} y - y axis of the coordinate for the rectangle starting point.
|
|
70
62
|
* @param {number} width - The rectangle's width.
|
|
@@ -73,24 +65,20 @@ export default class CanvasRenderer extends Renderer {
|
|
|
73
65
|
clearRect(x: number, y: number, width: number, height: number): void;
|
|
74
66
|
/**
|
|
75
67
|
* Create a pattern with the specified repetition
|
|
76
|
-
* @
|
|
77
|
-
* @memberof CanvasRenderer
|
|
78
|
-
* @param {Image} image - Source image
|
|
68
|
+
* @param {HTMLImageElement|SVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas|VideoFrame} image - Source image to be used as the pattern's image
|
|
79
69
|
* @param {string} repeat - Define how the pattern should be repeated
|
|
80
70
|
* @returns {CanvasPattern}
|
|
81
71
|
* @see ImageLayer#repeat
|
|
82
72
|
* @example
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
73
|
+
* let tileable = renderer.createPattern(image, "repeat");
|
|
74
|
+
* let horizontal = renderer.createPattern(image, "repeat-x");
|
|
75
|
+
* let vertical = renderer.createPattern(image, "repeat-y");
|
|
76
|
+
* let basic = renderer.createPattern(image, "no-repeat");
|
|
87
77
|
*/
|
|
88
|
-
createPattern(image:
|
|
78
|
+
createPattern(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame, repeat: string): CanvasPattern;
|
|
89
79
|
/**
|
|
90
80
|
* Draw an image onto the main using the canvas api
|
|
91
|
-
* @
|
|
92
|
-
* @memberof CanvasRenderer
|
|
93
|
-
* @param {Image} image - An element to draw into the context. The specification permits any canvas image source (CanvasImageSource), specifically, a CSSImageValue, an HTMLImageElement, an SVGImageElement, an HTMLVideoElement, an HTMLCanvasElement, an ImageBitmap, or an OffscreenCanvas.
|
|
81
|
+
* @param {HTMLImageElement|SVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas|VideoFrame} image - An element to draw into the context.
|
|
94
82
|
* @param {number} sx - The X coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
95
83
|
* @param {number} sy - The Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
96
84
|
* @param {number} sw - The width of the sub-rectangle of the source image to draw into the destination context. If not specified, the entire rectangle from the coordinates specified by sx and sy to the bottom-right corner of the image is used.
|
|
@@ -107,11 +95,9 @@ export default class CanvasRenderer extends Renderer {
|
|
|
107
95
|
* // Clip the image and position the clipped part on the canvas:
|
|
108
96
|
* renderer.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);
|
|
109
97
|
*/
|
|
110
|
-
drawImage(image:
|
|
98
|
+
drawImage(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
|
|
111
99
|
/**
|
|
112
100
|
* Draw a pattern within the given rectangle.
|
|
113
|
-
* @name drawPattern
|
|
114
|
-
* @memberof CanvasRenderer
|
|
115
101
|
* @param {CanvasPattern} pattern - Pattern object
|
|
116
102
|
* @param {number} x
|
|
117
103
|
* @param {number} y
|
|
@@ -122,8 +108,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
122
108
|
drawPattern(pattern: CanvasPattern, x: number, y: number, width: number, height: number): void;
|
|
123
109
|
/**
|
|
124
110
|
* Stroke an arc at the specified coordinates with given radius, start and end points
|
|
125
|
-
* @name strokeArc
|
|
126
|
-
* @memberof CanvasRenderer
|
|
127
111
|
* @param {number} x - arc center point x-axis
|
|
128
112
|
* @param {number} y - arc center point y-axis
|
|
129
113
|
* @param {number} radius
|
|
@@ -135,8 +119,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
135
119
|
strokeArc(x: number, y: number, radius: number, start: number, end: number, antiClockwise?: boolean | undefined, fill?: boolean | undefined): void;
|
|
136
120
|
/**
|
|
137
121
|
* Fill an arc at the specified coordinates with given radius, start and end points
|
|
138
|
-
* @name fillArc
|
|
139
|
-
* @memberof CanvasRenderer
|
|
140
122
|
* @param {number} x - arc center point x-axis
|
|
141
123
|
* @param {number} y - arc center point y-axis
|
|
142
124
|
* @param {number} radius
|
|
@@ -147,8 +129,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
147
129
|
fillArc(x: number, y: number, radius: number, start: number, end: number, antiClockwise?: boolean | undefined): void;
|
|
148
130
|
/**
|
|
149
131
|
* Stroke an ellipse at the specified coordinates with given radius
|
|
150
|
-
* @name strokeEllipse
|
|
151
|
-
* @memberof CanvasRenderer
|
|
152
132
|
* @param {number} x - ellipse center point x-axis
|
|
153
133
|
* @param {number} y - ellipse center point y-axis
|
|
154
134
|
* @param {number} w - horizontal radius of the ellipse
|
|
@@ -158,8 +138,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
158
138
|
strokeEllipse(x: number, y: number, w: number, h: number, fill?: boolean | undefined): void;
|
|
159
139
|
/**
|
|
160
140
|
* Fill an ellipse at the specified coordinates with given radius
|
|
161
|
-
* @name fillEllipse
|
|
162
|
-
* @memberof CanvasRenderer
|
|
163
141
|
* @param {number} x - ellipse center point x-axis
|
|
164
142
|
* @param {number} y - ellipse center point y-axis
|
|
165
143
|
* @param {number} w - horizontal radius of the ellipse
|
|
@@ -168,8 +146,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
168
146
|
fillEllipse(x: number, y: number, w: number, h: number): void;
|
|
169
147
|
/**
|
|
170
148
|
* Stroke a line of the given two points
|
|
171
|
-
* @name strokeLine
|
|
172
|
-
* @memberof CanvasRenderer
|
|
173
149
|
* @param {number} startX - the start x coordinate
|
|
174
150
|
* @param {number} startY - the start y coordinate
|
|
175
151
|
* @param {number} endX - the end x coordinate
|
|
@@ -178,8 +154,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
178
154
|
strokeLine(startX: number, startY: number, endX: number, endY: number): void;
|
|
179
155
|
/**
|
|
180
156
|
* Fill a line of the given two points
|
|
181
|
-
* @name fillLine
|
|
182
|
-
* @memberof CanvasRenderer
|
|
183
157
|
* @param {number} startX - the start x coordinate
|
|
184
158
|
* @param {number} startY - the start y coordinate
|
|
185
159
|
* @param {number} endX - the end x coordinate
|
|
@@ -188,23 +162,17 @@ export default class CanvasRenderer extends Renderer {
|
|
|
188
162
|
fillLine(startX: number, startY: number, endX: number, endY: number): void;
|
|
189
163
|
/**
|
|
190
164
|
* Stroke the given me.Polygon on the screen
|
|
191
|
-
* @name strokePolygon
|
|
192
|
-
* @memberof CanvasRenderer
|
|
193
165
|
* @param {Polygon} poly - the shape to draw
|
|
194
166
|
* @param {boolean} [fill=false] - also fill the shape with the current color if true
|
|
195
167
|
*/
|
|
196
168
|
strokePolygon(poly: Polygon, fill?: boolean | undefined): void;
|
|
197
169
|
/**
|
|
198
170
|
* Fill the given me.Polygon on the screen
|
|
199
|
-
* @name fillPolygon
|
|
200
|
-
* @memberof CanvasRenderer
|
|
201
171
|
* @param {Polygon} poly - the shape to draw
|
|
202
172
|
*/
|
|
203
173
|
fillPolygon(poly: Polygon): void;
|
|
204
174
|
/**
|
|
205
175
|
* Stroke a rectangle at the specified coordinates
|
|
206
|
-
* @name strokeRect
|
|
207
|
-
* @memberof CanvasRenderer
|
|
208
176
|
* @param {number} x
|
|
209
177
|
* @param {number} y
|
|
210
178
|
* @param {number} width
|
|
@@ -214,8 +182,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
214
182
|
strokeRect(x: number, y: number, width: number, height: number, fill?: boolean | undefined): void;
|
|
215
183
|
/**
|
|
216
184
|
* Draw a filled rectangle at the specified coordinates
|
|
217
|
-
* @name fillRect
|
|
218
|
-
* @memberof CanvasRenderer
|
|
219
185
|
* @param {number} x
|
|
220
186
|
* @param {number} y
|
|
221
187
|
* @param {number} width
|
|
@@ -224,8 +190,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
224
190
|
fillRect(x: number, y: number, width: number, height: number): void;
|
|
225
191
|
/**
|
|
226
192
|
* Stroke a rounded rectangle at the specified coordinates
|
|
227
|
-
* @name strokeRoundRect
|
|
228
|
-
* @memberof CanvasRenderer
|
|
229
193
|
* @param {number} x
|
|
230
194
|
* @param {number} y
|
|
231
195
|
* @param {number} width
|
|
@@ -236,8 +200,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
236
200
|
strokeRoundRect(x: number, y: number, width: number, height: number, radius: number, fill?: boolean | undefined): void;
|
|
237
201
|
/**
|
|
238
202
|
* Draw a rounded filled rectangle at the specified coordinates
|
|
239
|
-
* @name fillRoundRect
|
|
240
|
-
* @memberof CanvasRenderer
|
|
241
203
|
* @param {number} x
|
|
242
204
|
* @param {number} y
|
|
243
205
|
* @param {number} width
|
|
@@ -247,16 +209,12 @@ export default class CanvasRenderer extends Renderer {
|
|
|
247
209
|
fillRoundRect(x: number, y: number, width: number, height: number, radius: number): void;
|
|
248
210
|
/**
|
|
249
211
|
* Stroke a Point at the specified coordinates
|
|
250
|
-
* @name strokePoint
|
|
251
|
-
* @memberof CanvasRenderer
|
|
252
212
|
* @param {number} x
|
|
253
213
|
* @param {number} y
|
|
254
214
|
*/
|
|
255
215
|
strokePoint(x: number, y: number): void;
|
|
256
216
|
/**
|
|
257
217
|
* Draw a a point at the specified coordinates
|
|
258
|
-
* @name fillPoint
|
|
259
|
-
* @memberof CanvasRenderer
|
|
260
218
|
* @param {number} x
|
|
261
219
|
* @param {number} y
|
|
262
220
|
* @param {number} width
|
|
@@ -265,27 +223,19 @@ export default class CanvasRenderer extends Renderer {
|
|
|
265
223
|
fillPoint(x: number, y: number): void;
|
|
266
224
|
/**
|
|
267
225
|
* save the canvas context
|
|
268
|
-
* @name save
|
|
269
|
-
* @memberof CanvasRenderer
|
|
270
226
|
*/
|
|
271
227
|
save(): void;
|
|
272
228
|
/**
|
|
273
229
|
* restores the canvas context
|
|
274
|
-
* @name restore
|
|
275
|
-
* @memberof CanvasRenderer
|
|
276
230
|
*/
|
|
277
231
|
restore(): void;
|
|
278
232
|
/**
|
|
279
233
|
* rotates the canvas context
|
|
280
|
-
* @name rotate
|
|
281
|
-
* @memberof CanvasRenderer
|
|
282
234
|
* @param {number} angle - in radians
|
|
283
235
|
*/
|
|
284
236
|
rotate(angle: number): void;
|
|
285
237
|
/**
|
|
286
238
|
* scales the canvas context
|
|
287
|
-
* @name scale
|
|
288
|
-
* @memberof CanvasRenderer
|
|
289
239
|
* @param {number} x
|
|
290
240
|
* @param {number} y
|
|
291
241
|
*/
|
|
@@ -293,51 +243,37 @@ export default class CanvasRenderer extends Renderer {
|
|
|
293
243
|
/**
|
|
294
244
|
* Set the current fill & stroke style color.
|
|
295
245
|
* By default, or upon reset, the value is set to #000000.
|
|
296
|
-
* @name setColor
|
|
297
|
-
* @memberof CanvasRenderer
|
|
298
246
|
* @param {Color|string} color - css color value
|
|
299
247
|
*/
|
|
300
248
|
setColor(color: Color | string): void;
|
|
301
249
|
/**
|
|
302
250
|
* Set the global alpha
|
|
303
|
-
* @name setGlobalAlpha
|
|
304
|
-
* @memberof CanvasRenderer
|
|
305
251
|
* @param {number} alpha - 0.0 to 1.0 values accepted.
|
|
306
252
|
*/
|
|
307
253
|
setGlobalAlpha(alpha: number): void;
|
|
308
254
|
/**
|
|
309
255
|
* Return the global alpha
|
|
310
|
-
* @name getGlobalAlpha
|
|
311
|
-
* @memberof CanvasRenderer
|
|
312
256
|
* @returns {number} global alpha value
|
|
313
257
|
*/
|
|
314
258
|
getGlobalAlpha(): number;
|
|
315
259
|
/**
|
|
316
260
|
* Set the line width on the context
|
|
317
|
-
* @name setLineWidth
|
|
318
|
-
* @memberof CanvasRenderer
|
|
319
261
|
* @param {number} width - Line width
|
|
320
262
|
*/
|
|
321
263
|
setLineWidth(width: number): void;
|
|
322
264
|
/**
|
|
323
265
|
* Reset (overrides) the renderer transformation matrix to the
|
|
324
266
|
* identity one, and then apply the given transformation matrix.
|
|
325
|
-
* @name setTransform
|
|
326
|
-
* @memberof CanvasRenderer
|
|
327
267
|
* @param {Matrix2d} mat2d - Matrix to transform by
|
|
328
268
|
*/
|
|
329
269
|
setTransform(mat2d: Matrix2d): void;
|
|
330
270
|
/**
|
|
331
271
|
* Multiply given matrix into the renderer tranformation matrix
|
|
332
|
-
* @name transform
|
|
333
|
-
* @memberof CanvasRenderer
|
|
334
272
|
* @param {Matrix2d} mat2d - Matrix to transform by
|
|
335
273
|
*/
|
|
336
274
|
transform(mat2d: Matrix2d): void;
|
|
337
275
|
/**
|
|
338
276
|
* Translates the context to the given position
|
|
339
|
-
* @name translate
|
|
340
|
-
* @memberof CanvasRenderer
|
|
341
277
|
* @param {number} x
|
|
342
278
|
* @param {number} y
|
|
343
279
|
*/
|
|
@@ -348,8 +284,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
348
284
|
* You can however save the current region using the save(),
|
|
349
285
|
* and restore it (with the restore() method) any time in the future.
|
|
350
286
|
* (<u>this is an experimental feature !</u>)
|
|
351
|
-
* @name clipRect
|
|
352
|
-
* @memberof CanvasRenderer
|
|
353
287
|
* @param {number} x
|
|
354
288
|
* @param {number} y
|
|
355
289
|
* @param {number} width
|
|
@@ -360,8 +294,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
360
294
|
* A mask limits rendering elements to the shape and position of the given mask object.
|
|
361
295
|
* So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible.
|
|
362
296
|
* Mask are not preserved through renderer context save and restore.
|
|
363
|
-
* @name setMask
|
|
364
|
-
* @memberof CanvasRenderer
|
|
365
297
|
* @param {Rect|RoundRect|Polygon|Line|Ellipse} [mask] - the shape defining the mask to be applied
|
|
366
298
|
* @param {boolean} [invert=false] - either the given shape should define what is visible (default) or the opposite
|
|
367
299
|
*/
|
|
@@ -13,6 +13,7 @@ export default class Renderer {
|
|
|
13
13
|
* @param {boolean} [options.transparent=false] - Whether to enable transparency on the canvas
|
|
14
14
|
* @param {boolean} [options.premultipliedAlpha=true] - in WebGL, whether the renderer will assume that colors have premultiplied alpha when canvas transparency is enabled
|
|
15
15
|
* @param {boolean} [options.blendMode="normal"] - the default blend mode to use ("normal", "multiply")
|
|
16
|
+
* @param {boolean} [options.depthBuffer="sorting"] - ~Experimental~ the default method to sort object on the z axis in WebGL ("sorting", "z-buffer")
|
|
16
17
|
* @param {boolean} [options.subPixel=false] - Whether to enable subpixel rendering (performance hit when enabled)
|
|
17
18
|
* @param {boolean} [options.verbose=false] - Enable the verbose mode that provides additional details as to what the renderer is doing
|
|
18
19
|
* @param {number} [options.zoomX=width] - The actual width of the canvas with scaling applied
|
|
@@ -27,6 +28,7 @@ export default class Renderer {
|
|
|
27
28
|
transparent?: boolean | undefined;
|
|
28
29
|
premultipliedAlpha?: boolean | undefined;
|
|
29
30
|
blendMode?: boolean | undefined;
|
|
31
|
+
depthBuffer?: boolean | undefined;
|
|
30
32
|
subPixel?: boolean | undefined;
|
|
31
33
|
verbose?: boolean | undefined;
|
|
32
34
|
zoomX?: number | undefined;
|
|
@@ -56,6 +58,12 @@ export default class Renderer {
|
|
|
56
58
|
* @type {boolean}
|
|
57
59
|
*/
|
|
58
60
|
isContextValid: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* the default method to sort object ("sorting", "z-buffer")
|
|
63
|
+
* @type {string}
|
|
64
|
+
* @default "sorting"
|
|
65
|
+
*/
|
|
66
|
+
depthTest: string;
|
|
59
67
|
/**
|
|
60
68
|
* The Path2D instance used by the renderer to draw primitives
|
|
61
69
|
* @type {Path2D}
|
|
@@ -205,6 +213,46 @@ export default class Renderer {
|
|
|
205
213
|
* @see Renderer#setTint
|
|
206
214
|
*/
|
|
207
215
|
clearTint(): void;
|
|
216
|
+
/**
|
|
217
|
+
* creates a Blob object representing the last rendered frame
|
|
218
|
+
* @param {Object} [options] - An object with the following properties:
|
|
219
|
+
* @param {String} [options.type="image/png"] - A string indicating the image format
|
|
220
|
+
* @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
|
|
221
|
+
* @return {Promise} A Promise returning a Blob object representing the last rendered frame
|
|
222
|
+
* @example
|
|
223
|
+
* renderer.convertToBlob().then((blob) => console.log(blob));
|
|
224
|
+
*/
|
|
225
|
+
toBlob(options?: {
|
|
226
|
+
type?: string | undefined;
|
|
227
|
+
quality?: number | undefined;
|
|
228
|
+
} | undefined): Promise<any>;
|
|
229
|
+
/**
|
|
230
|
+
* creates an ImageBitmap object of the last frame rendered
|
|
231
|
+
* (not supported by standard Canvas)
|
|
232
|
+
* @param {Object} [options] - An object with the following properties:
|
|
233
|
+
* @param {String} [options.type="image/png"] - A string indicating the image format
|
|
234
|
+
* @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
|
|
235
|
+
* @return {Promise} A Promise returning an ImageBitmap.
|
|
236
|
+
* @example
|
|
237
|
+
* renderer.transferToImageBitmap().then((image) => console.log(image));
|
|
238
|
+
*/
|
|
239
|
+
toImageBitmap(options?: {
|
|
240
|
+
type?: string | undefined;
|
|
241
|
+
quality?: number | undefined;
|
|
242
|
+
} | undefined): Promise<any>;
|
|
243
|
+
/**
|
|
244
|
+
* returns a data URL containing a representation of the last frame rendered
|
|
245
|
+
* @param {Object} [options] - An object with the following properties:
|
|
246
|
+
* @param {String} [options.type="image/png"] - A string indicating the image format
|
|
247
|
+
* @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
|
|
248
|
+
* @return {Promise} A Promise returning a string containing the requested data URL.
|
|
249
|
+
* @example
|
|
250
|
+
* renderer.toDataURL().then((dataURL) => console.log(dataURL));
|
|
251
|
+
*/
|
|
252
|
+
toDataURL(options?: {
|
|
253
|
+
type?: string | undefined;
|
|
254
|
+
quality?: number | undefined;
|
|
255
|
+
} | undefined): Promise<any>;
|
|
208
256
|
}
|
|
209
257
|
import Vector2d from "../math/vector2.js";
|
|
210
258
|
import Path2D from "./../geometries/path2d.js";
|
|
@@ -152,13 +152,13 @@ export class TextureAtlas {
|
|
|
152
152
|
* ...
|
|
153
153
|
* ...
|
|
154
154
|
* // create a new "coin" sprite
|
|
155
|
-
*
|
|
155
|
+
* let sprite = game.texture.createSpriteFromName("coin.png");
|
|
156
156
|
* // set the renderable position to bottom center
|
|
157
157
|
* sprite.anchorPoint.set(0.5, 1.0);
|
|
158
158
|
* ...
|
|
159
159
|
* ...
|
|
160
160
|
* // create a 9-slice sprite
|
|
161
|
-
*
|
|
161
|
+
* let dialogPanel = game.texture.createSpriteFromName(
|
|
162
162
|
* "rpg_dialo.png",
|
|
163
163
|
* // width & height are mandatory for 9-slice sprites
|
|
164
164
|
* { width: this.width, height: this.height },
|
|
@@ -180,7 +180,7 @@ export class TextureAtlas {
|
|
|
180
180
|
* );
|
|
181
181
|
*
|
|
182
182
|
* // create a new Animated Sprite
|
|
183
|
-
*
|
|
183
|
+
* let sprite = game.texture.createAnimationFromName([
|
|
184
184
|
* "walk0001.png", "walk0002.png", "walk0003.png",
|
|
185
185
|
* "walk0004.png", "walk0005.png", "walk0006.png",
|
|
186
186
|
* "walk0007.png", "walk0008.png", "walk0009.png",
|
|
@@ -57,6 +57,46 @@ declare class CanvasTexture {
|
|
|
57
57
|
* @return {ImageData} The ImageData extracted from this CanvasTexture.
|
|
58
58
|
*/
|
|
59
59
|
getImageData(x: number, y: number, width: number, height: number): ImageData;
|
|
60
|
+
/**
|
|
61
|
+
* creates a Blob object representing the image contained in this canvas texture
|
|
62
|
+
* @param {Object} [options] - An object with the following properties:
|
|
63
|
+
* @param {String} [options.type="image/png"] - A string indicating the image format
|
|
64
|
+
* @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
|
|
65
|
+
* @return {Promise} A Promise returning a Blob object representing the image contained in this canvas texture
|
|
66
|
+
* @example
|
|
67
|
+
* canvasTexture.convertToBlob().then((blob) => console.log(blob));
|
|
68
|
+
*/
|
|
69
|
+
toBlob(options?: {
|
|
70
|
+
type?: string | undefined;
|
|
71
|
+
quality?: number | undefined;
|
|
72
|
+
} | undefined): Promise<any>;
|
|
73
|
+
/**
|
|
74
|
+
* creates an ImageBitmap object from the most recently rendered image of this canvas texture
|
|
75
|
+
* @param {Object} [options] - An object with the following properties:
|
|
76
|
+
* @param {String} [options.type="image/png"] - A string indicating the image format
|
|
77
|
+
* @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
|
|
78
|
+
* @return {Promise} A Promise returning an ImageBitmap.
|
|
79
|
+
* @example
|
|
80
|
+
* canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap));
|
|
81
|
+
*/
|
|
82
|
+
toImageBitmap(options?: {
|
|
83
|
+
type?: string | undefined;
|
|
84
|
+
quality?: number | undefined;
|
|
85
|
+
} | undefined): Promise<any>;
|
|
86
|
+
/**
|
|
87
|
+
* returns a data URL containing a representation of the most recently rendered image of this canvas texture
|
|
88
|
+
* (not supported by OffscreenCanvas)
|
|
89
|
+
* @param {Object} [options] - An object with the following properties:
|
|
90
|
+
* @param {String} [options.type="image/png"] - A string indicating the image format
|
|
91
|
+
* @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
|
|
92
|
+
* @return {Promise} A Promise returning a string containing the requested data URL.
|
|
93
|
+
* @example
|
|
94
|
+
* renderer.toDataURL().then((dataURL) => console.log(dataURL));
|
|
95
|
+
*/
|
|
96
|
+
toDataURL(options?: {
|
|
97
|
+
type?: string | undefined;
|
|
98
|
+
quality?: number | undefined;
|
|
99
|
+
} | undefined): Promise<any>;
|
|
60
100
|
/**
|
|
61
101
|
* @ignore
|
|
62
102
|
*/
|
|
@@ -11,7 +11,7 @@ export default class GLShader {
|
|
|
11
11
|
* @see https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/GLSL_Shaders
|
|
12
12
|
* @example
|
|
13
13
|
* // create a basic shader
|
|
14
|
-
*
|
|
14
|
+
* let myShader = new me.GLShader(
|
|
15
15
|
* // WebGL rendering context
|
|
16
16
|
* gl,
|
|
17
17
|
* // vertex shader
|