melonjs 15.2.1 → 15.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.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 +1 -1
- package/dist/melonjs.mjs/application/application.js +75 -23
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +13 -11
- package/dist/melonjs.mjs/application/settings.js +37 -1
- package/dist/melonjs.mjs/audio/audio.js +4 -6
- package/dist/melonjs.mjs/camera/camera2d.js +12 -14
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +3 -4
- package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
- package/dist/melonjs.mjs/geometries/line.js +18 -25
- package/dist/melonjs.mjs/geometries/path2d.js +16 -13
- package/dist/melonjs.mjs/geometries/point.js +8 -16
- package/dist/melonjs.mjs/geometries/poly.js +40 -97
- package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
- package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
- package/dist/melonjs.mjs/index.js +6 -6
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +3 -3
- package/dist/melonjs.mjs/input/pointer.js +4 -4
- package/dist/melonjs.mjs/input/pointerevent.js +6 -7
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +2 -2
- package/dist/melonjs.mjs/level/level.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +16 -33
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -47
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
- 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 +1 -1
- package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parser.js +4 -5
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +5 -5
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +5 -59
- package/dist/melonjs.mjs/math/matrix3.js +82 -141
- package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
- package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
- package/dist/melonjs.mjs/math/vector2.js +7 -91
- package/dist/melonjs.mjs/math/vector3.js +6 -90
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- 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 +2 -2
- package/dist/melonjs.mjs/particles/particle.js +2 -2
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +22 -20
- package/dist/melonjs.mjs/physics/bounds.js +27 -33
- package/dist/melonjs.mjs/physics/collision.js +5 -5
- package/dist/melonjs.mjs/physics/detector.js +10 -10
- package/dist/melonjs.mjs/physics/quadtree.js +5 -5
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +3 -4
- package/dist/melonjs.mjs/physics/world.js +6 -9
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
- package/dist/melonjs.mjs/renderable/container.js +25 -25
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
- package/dist/melonjs.mjs/renderable/light2d.js +3 -3
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
- package/dist/melonjs.mjs/renderable/renderable.js +31 -39
- package/dist/melonjs.mjs/renderable/sprite.js +3 -3
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
- package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
- package/dist/melonjs.mjs/renderable/text/text.js +422 -0
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
- package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
- package/dist/melonjs.mjs/renderable/trigger.js +10 -10
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
- package/dist/melonjs.mjs/state/stage.js +13 -14
- package/dist/melonjs.mjs/state/state.js +4 -51
- package/dist/melonjs.mjs/system/device.js +51 -10
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +46 -2
- package/dist/melonjs.mjs/system/platform.js +18 -18
- package/dist/melonjs.mjs/system/pooling.js +10 -10
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptextdata.js +3 -6
- package/dist/melonjs.mjs/text/glyph.js +1 -1
- package/dist/melonjs.mjs/text/text.js +1 -1
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +2 -2
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +2 -3
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +5 -18
- package/dist/melonjs.mjs/video/renderer.js +17 -30
- package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +5 -29
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
- package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
- 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 +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +4 -4
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +62 -67
- package/dist/melonjs.module.js +1272 -1713
- package/dist/types/application/application.d.ts +32 -31
- package/dist/types/application/header.d.ts +2 -2
- package/dist/types/application/settings.d.ts +80 -16
- package/dist/types/audio/audio.d.ts +4 -6
- package/dist/types/camera/camera2d.d.ts +13 -16
- package/dist/types/entity/entity.d.ts +0 -1
- package/dist/types/geometries/ellipse.d.ts +18 -50
- package/dist/types/geometries/path2d.d.ts +1 -1
- package/dist/types/geometries/point.d.ts +5 -13
- package/dist/types/geometries/poly.d.ts +26 -75
- package/dist/types/geometries/rectangle.d.ts +12 -58
- package/dist/types/geometries/roundrect.d.ts +2 -11
- package/dist/types/index.d.ts +3 -3
- package/dist/types/input/gamepad.d.ts +31 -31
- package/dist/types/input/keyboard.d.ts +105 -105
- package/dist/types/input/pointer.d.ts +21 -21
- package/dist/types/input/pointerevent.d.ts +6 -6
- package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
- package/dist/types/level/tiled/TMXUtils.d.ts +4 -6
- package/dist/types/math/matrix2.d.ts +9 -63
- package/dist/types/math/matrix3.d.ts +9 -68
- package/dist/types/math/observable_vector2.d.ts +2 -2
- package/dist/types/math/observable_vector3.d.ts +2 -2
- package/dist/types/math/vector2.d.ts +8 -92
- package/dist/types/math/vector3.d.ts +8 -92
- package/dist/types/particles/settings.d.ts +29 -29
- package/dist/types/physics/body.d.ts +10 -8
- package/dist/types/physics/bounds.d.ts +24 -30
- package/dist/types/physics/collision.d.ts +12 -12
- package/dist/types/physics/detector.d.ts +1 -1
- package/dist/types/physics/world.d.ts +4 -7
- package/dist/types/renderable/container.d.ts +19 -19
- package/dist/types/renderable/imagelayer.d.ts +6 -6
- package/dist/types/renderable/light2d.d.ts +7 -7
- package/dist/types/renderable/renderable.d.ts +10 -18
- package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
- package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
- package/dist/types/renderable/text/glyph.d.ts +28 -0
- package/dist/types/renderable/text/text.d.ts +159 -0
- package/dist/types/renderable/text/textmetrics.d.ts +47 -0
- package/dist/types/renderable/text/textstyle.d.ts +5 -0
- package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
- package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
- package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
- package/dist/types/state/stage.d.ts +3 -2
- package/dist/types/state/state.d.ts +11 -11
- package/dist/types/system/device.d.ts +16 -9
- package/dist/types/system/event.d.ts +40 -0
- package/dist/types/system/platform.d.ts +17 -17
- package/dist/types/utils/function.d.ts +1 -2
- package/dist/types/video/canvas/canvas_renderer.d.ts +0 -23
- package/dist/types/video/renderer.d.ts +16 -43
- package/dist/types/video/texture/canvas_texture.d.ts +14 -14
- package/dist/types/video/video.d.ts +4 -38
- package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
- package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
- package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
- package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
- package/dist/types/video/webgl/utils/precision.d.ts +1 -1
- package/dist/types/video/webgl/webgl_renderer.d.ts +48 -84
- package/package.json +15 -15
- package/src/application/application.js +73 -21
- package/src/application/header.js +1 -1
- package/src/application/resize.js +11 -9
- package/src/application/settings.js +36 -0
- package/src/audio/audio.js +3 -5
- package/src/camera/camera2d.js +11 -13
- package/src/entity/entity.js +2 -3
- package/src/geometries/ellipse.js +25 -58
- package/src/geometries/line.js +17 -24
- package/src/geometries/path2d.js +15 -12
- package/src/geometries/point.js +7 -15
- package/src/geometries/poly.js +39 -96
- package/src/geometries/rectangle.js +36 -90
- package/src/geometries/roundrect.js +25 -34
- package/src/index.js +4 -4
- package/src/input/keyboard.js +2 -2
- package/src/input/pointer.js +3 -3
- package/src/input/pointerevent.js +5 -6
- package/src/lang/deprecated.js +1 -1
- package/src/level/tiled/TMXLayer.js +15 -32
- package/src/level/tiled/TMXObject.js +2 -3
- package/src/level/tiled/TMXTile.js +3 -3
- package/src/level/tiled/TMXTileMap.js +2 -2
- package/src/level/tiled/TMXTileset.js +3 -6
- package/src/level/tiled/TMXTilesetGroup.js +1 -1
- package/src/level/tiled/TMXUtils.js +36 -46
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/src/loader/parser.js +3 -4
- package/src/math/color.js +4 -4
- package/src/math/matrix2.js +4 -58
- package/src/math/matrix3.js +81 -140
- package/src/math/observable_vector2.js +6 -6
- package/src/math/observable_vector3.js +4 -4
- package/src/math/vector2.js +6 -90
- package/src/math/vector3.js +5 -89
- package/src/particles/emitter.js +1 -1
- package/src/particles/particle.js +1 -1
- package/src/physics/body.js +21 -19
- package/src/physics/bounds.js +26 -32
- package/src/physics/collision.js +4 -4
- package/src/physics/detector.js +9 -9
- package/src/physics/quadtree.js +4 -4
- package/src/physics/sat.js +2 -3
- package/src/physics/world.js +5 -8
- package/src/polyfill/roundrect.js +163 -163
- package/src/renderable/collectable.js +1 -1
- package/src/renderable/colorlayer.js +3 -3
- package/src/renderable/container.js +24 -24
- package/src/renderable/imagelayer.js +3 -3
- package/src/renderable/light2d.js +2 -2
- package/src/renderable/nineslicesprite.js +1 -1
- package/src/renderable/renderable.js +30 -38
- package/src/renderable/sprite.js +2 -2
- package/src/{text → renderable/text}/bitmaptext.js +8 -8
- package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
- package/src/{text → renderable/text}/glyph.js +1 -1
- package/src/{text → renderable/text}/text.js +16 -17
- package/src/{text → renderable/text}/textmetrics.js +2 -2
- package/src/renderable/trigger.js +9 -9
- package/src/renderable/ui/uibaseelement.js +6 -6
- package/src/renderable/ui/uispriteelement.js +6 -6
- package/src/renderable/ui/uitextbutton.js +2 -2
- package/src/state/stage.js +12 -13
- package/src/state/state.js +2 -61
- package/src/system/device.js +50 -9
- package/src/system/event.js +44 -0
- package/src/system/platform.js +18 -18
- package/src/system/pooling.js +9 -9
- package/src/tweens/tween.js +1 -1
- package/src/utils/function.js +1 -2
- package/src/video/canvas/canvas_renderer.js +4 -17
- package/src/video/renderer.js +16 -29
- package/src/video/texture/atlas.js +12 -12
- package/src/video/texture/canvas_texture.js +14 -14
- package/src/video/video.js +7 -28
- package/src/video/webgl/buffer/vertex.js +2 -2
- package/src/video/webgl/compositors/compositor.js +12 -13
- package/src/video/webgl/compositors/primitive_compositor.js +4 -4
- package/src/video/webgl/compositors/quad_compositor.js +1 -2
- package/src/video/webgl/glshader.js +1 -1
- package/src/video/webgl/utils/precision.js +3 -3
- package/src/video/webgl/webgl_renderer.js +61 -66
- /package/src/{text → renderable/text}/textstyle.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -39,11 +39,8 @@ class RoundRect extends Rect {
|
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* the radius of the rounded corner
|
|
42
|
-
* @public
|
|
43
42
|
* @type {number}
|
|
44
43
|
* @default 20
|
|
45
|
-
* @name radius
|
|
46
|
-
* @memberof RoundRect
|
|
47
44
|
*/
|
|
48
45
|
get radius() {
|
|
49
46
|
return this._radius;
|
|
@@ -61,8 +58,6 @@ class RoundRect extends Rect {
|
|
|
61
58
|
|
|
62
59
|
/**
|
|
63
60
|
* copy the position, size and radius of the given rounded rectangle into this one
|
|
64
|
-
* @name copy
|
|
65
|
-
* @memberof RoundRect
|
|
66
61
|
* @param {RoundRect} rrect - source rounded rectangle
|
|
67
62
|
* @returns {RoundRect} new rectangle
|
|
68
63
|
*/
|
|
@@ -73,38 +68,38 @@ class RoundRect extends Rect {
|
|
|
73
68
|
}
|
|
74
69
|
|
|
75
70
|
/**
|
|
76
|
-
* Returns true if the rounded rectangle contains the given point
|
|
77
|
-
* @
|
|
78
|
-
* @
|
|
79
|
-
* @
|
|
80
|
-
* @
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
71
|
+
* Returns true if the rounded rectangle contains the given point or rectangle
|
|
72
|
+
* @param {number|Vector2d|Rect} x - x coordinate or a vector point, or a Rect to test
|
|
73
|
+
* @param {number} [y] - y coordinate
|
|
74
|
+
* @returns {boolean} True if the rounded rectangle contain the given point or rectangle, otherwise false
|
|
75
|
+
* @example
|
|
76
|
+
* if (rect.contains(10, 10)) {
|
|
77
|
+
* // do something
|
|
78
|
+
* }
|
|
79
|
+
* // or
|
|
80
|
+
* if (rect.contains(myVector2d)) {
|
|
81
|
+
* // do something
|
|
82
|
+
* }
|
|
83
|
+
* if (rect.contains(myRect)) {
|
|
84
|
+
* // do something
|
|
85
|
+
* }
|
|
91
86
|
*/
|
|
92
87
|
contains() {
|
|
93
88
|
let arg0 = arguments[0];
|
|
94
89
|
let _x, _y;
|
|
95
90
|
if (arguments.length === 2) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
91
|
+
// x, y
|
|
92
|
+
_x = arg0;
|
|
93
|
+
_y = arguments[1];
|
|
94
|
+
} else {
|
|
95
|
+
if ((typeof arg0.radius === "undefined") && (typeof arg0.bottom === "number")) {
|
|
96
|
+
// it's a rect
|
|
97
|
+
return super.contains(arg0);
|
|
98
|
+
} else {
|
|
99
|
+
// else a vector or point
|
|
105
100
|
_x = arg0.x;
|
|
106
101
|
_y = arg0.y;
|
|
107
|
-
|
|
102
|
+
}
|
|
108
103
|
}
|
|
109
104
|
|
|
110
105
|
// check whether point is outside the bounding box
|
|
@@ -144,8 +139,6 @@ class RoundRect extends Rect {
|
|
|
144
139
|
|
|
145
140
|
/**
|
|
146
141
|
* check if this RoundRect is identical to the specified one
|
|
147
|
-
* @name equals
|
|
148
|
-
* @memberof RoundRect
|
|
149
142
|
* @param {RoundRect} rrect
|
|
150
143
|
* @returns {boolean} true if equals
|
|
151
144
|
*/
|
|
@@ -155,8 +148,6 @@ class RoundRect extends Rect {
|
|
|
155
148
|
|
|
156
149
|
/**
|
|
157
150
|
* clone this RoundRect
|
|
158
|
-
* @name clone
|
|
159
|
-
* @memberof RoundRect
|
|
160
151
|
* @returns {RoundRect} new RoundRect
|
|
161
152
|
*/
|
|
162
153
|
clone() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -42,9 +42,9 @@ export { default as UISpriteElement } from './renderable/ui/uispriteelement.js';
|
|
|
42
42
|
import Collectable from './renderable/collectable.js';
|
|
43
43
|
import Trigger from './renderable/trigger.js';
|
|
44
44
|
import Light2d from './renderable/light2d.js';
|
|
45
|
-
import Text from './text/text.js';
|
|
46
|
-
import BitmapText from './text/bitmaptext.js';
|
|
47
|
-
import BitmapTextData from './text/bitmaptextdata.js';
|
|
45
|
+
import Text from './renderable/text/text.js';
|
|
46
|
+
import BitmapText from './renderable/text/bitmaptext.js';
|
|
47
|
+
import BitmapTextData from './renderable/text/bitmaptextdata.js';
|
|
48
48
|
export { Draggable } from './renderable/draggable.js';
|
|
49
49
|
export { DropTarget } from './renderable/dragndrop.js';
|
|
50
50
|
export { default as TMXRenderer } from './level/tiled/renderer/TMXRenderer.js';
|
|
@@ -112,7 +112,7 @@ import { initKeyboardEvent } from './input/keyboard.js';
|
|
|
112
112
|
* @name version
|
|
113
113
|
* @type {string}
|
|
114
114
|
*/
|
|
115
|
-
const version = "15.
|
|
115
|
+
const version = "15.4.0";
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
118
|
* a flag indicating that melonJS is fully initialized
|
|
@@ -232,7 +232,7 @@ function boot() {
|
|
|
232
232
|
// call the library init function when ready
|
|
233
233
|
onReady(() => {
|
|
234
234
|
{
|
|
235
|
-
|
|
235
|
+
boot();
|
|
236
236
|
}
|
|
237
237
|
});
|
|
238
238
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -102,14 +102,14 @@ let keyUpEvent = function (e, keyCode, mouseButton) {
|
|
|
102
102
|
* PUBLIC STUFF
|
|
103
103
|
*/
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
/**
|
|
106
106
|
* the default target element for keyboard events (usually the window element in which the game is running)
|
|
107
107
|
* @public
|
|
108
108
|
* @type {EventTarget}
|
|
109
109
|
* @name keyBoardEventTarget
|
|
110
110
|
* @memberof input
|
|
111
111
|
*/
|
|
112
|
-
|
|
112
|
+
let keyBoardEventTarget = null;
|
|
113
113
|
|
|
114
114
|
/**
|
|
115
115
|
* standard keyboard constants
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -135,7 +135,7 @@ class Pointer extends Bounds {
|
|
|
135
135
|
*/
|
|
136
136
|
this.clientX = 0;
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
/**
|
|
139
139
|
* the vertical coordinate within the application's client area at which the event occurred
|
|
140
140
|
* @public
|
|
141
141
|
* @type {number}
|
|
@@ -155,7 +155,7 @@ class Pointer extends Bounds {
|
|
|
155
155
|
*/
|
|
156
156
|
this.movementX = 0;
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
/**
|
|
159
159
|
* the difference in the Y coordinate of the pointer since the previous move event
|
|
160
160
|
* @public
|
|
161
161
|
* @type {number}
|
|
@@ -279,7 +279,7 @@ class Pointer extends Bounds {
|
|
|
279
279
|
*/
|
|
280
280
|
this.gameLocalY = 0;
|
|
281
281
|
|
|
282
|
-
|
|
282
|
+
/**
|
|
283
283
|
* The unique identifier of the contact for a touch, mouse or pen
|
|
284
284
|
* @public
|
|
285
285
|
* @type {number}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -165,10 +165,9 @@ function enablePointerEvent() {
|
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
// if time interval <= 16, disable the feature
|
|
168
|
-
let i;
|
|
169
168
|
let events = findAllActiveEvents(activeEventList, POINTER_MOVE);
|
|
170
169
|
if (throttlingInterval < 17) {
|
|
171
|
-
for (i = 0; i < events.length; i++) {
|
|
170
|
+
for (let i = 0; i < events.length; i++) {
|
|
172
171
|
if (activeEventList.indexOf(events[i]) !== -1) {
|
|
173
172
|
pointerEventTarget.addEventListener(
|
|
174
173
|
events[i],
|
|
@@ -180,7 +179,7 @@ function enablePointerEvent() {
|
|
|
180
179
|
}
|
|
181
180
|
}
|
|
182
181
|
else {
|
|
183
|
-
for (i = 0; i < events.length; i++) {
|
|
182
|
+
for (let i = 0; i < events.length; i++) {
|
|
184
183
|
if (activeEventList.indexOf(events[i]) !== -1) {
|
|
185
184
|
pointerEventTarget.addEventListener(
|
|
186
185
|
events[i],
|
|
@@ -490,14 +489,14 @@ function onPointerEvent(e) {
|
|
|
490
489
|
* PUBLIC STUFF
|
|
491
490
|
*/
|
|
492
491
|
|
|
493
|
-
|
|
492
|
+
/**
|
|
494
493
|
* the default target element for pointer events (usually the canvas element in which the game is rendered)
|
|
495
494
|
* @public
|
|
496
495
|
* @type {EventTarget}
|
|
497
496
|
* @name pointerEventTarget
|
|
498
497
|
* @memberof input
|
|
499
498
|
*/
|
|
500
|
-
|
|
499
|
+
let pointerEventTarget = null;
|
|
501
500
|
|
|
502
501
|
/**
|
|
503
502
|
* Pointer information (current position and size)
|
|
@@ -620,7 +619,7 @@ function unbindPointer(button) {
|
|
|
620
619
|
// clear the event status
|
|
621
620
|
pointer.bind[
|
|
622
621
|
typeof(button) === "undefined" ?
|
|
623
|
-
|
|
622
|
+
pointer.LEFT : button
|
|
624
623
|
] = null;
|
|
625
624
|
}
|
|
626
625
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -107,7 +107,7 @@ Renderer.prototype.getScreenContext = function() {
|
|
|
107
107
|
* @deprecated since 14.0.0
|
|
108
108
|
* @see UISpriteElement
|
|
109
109
|
*/
|
|
110
|
-
|
|
110
|
+
class GUI_Object extends UISpriteElement {
|
|
111
111
|
/**
|
|
112
112
|
* @param {number} x - the x coordinate of the GUI Object
|
|
113
113
|
* @param {number} y - the y coordinate of the GUI Object
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -11,7 +11,6 @@ import { applyTMXProperties, decode } from './TMXUtils.js';
|
|
|
11
11
|
import Tile from './TMXTile.js';
|
|
12
12
|
import Renderable from '../../renderable/renderable.js';
|
|
13
13
|
import CanvasRenderer from '../../video/canvas/canvas_renderer.js';
|
|
14
|
-
import { game } from '../../index.js';
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* Create required arrays for the given layer object
|
|
@@ -59,32 +58,13 @@ function setLayerData(layer, bounds, data) {
|
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
|
|
62
|
-
/**
|
|
63
|
-
* preRender a tile layer using the given renderer
|
|
64
|
-
* @ignore
|
|
65
|
-
*/
|
|
66
|
-
function preRenderLayer(layer, renderer) {
|
|
67
|
-
// set everything
|
|
68
|
-
for (let y = 0; y < layer.rows; y++) {
|
|
69
|
-
for (let x = 0; x < layer.cols; x++) {
|
|
70
|
-
// get the value of the gid
|
|
71
|
-
const tile = layer.layerData[x][y];
|
|
72
|
-
// draw the tile if defined
|
|
73
|
-
if (tile instanceof Tile) {
|
|
74
|
-
// add a new tile to the layer
|
|
75
|
-
layer.getRenderer().drawTile(renderer, x, y, tile);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
61
|
/**
|
|
82
62
|
* @classdesc
|
|
83
63
|
* a TMX Tile Layer Object
|
|
84
64
|
* Tiled QT 0.7.x format
|
|
85
65
|
* @augments Renderable
|
|
86
66
|
*/
|
|
87
|
-
|
|
67
|
+
class TMXLayer extends Renderable {
|
|
88
68
|
/**
|
|
89
69
|
* @param {object} map - layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})
|
|
90
70
|
* @param {object} data - layer data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#layer})
|
|
@@ -199,11 +179,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
199
179
|
// check if we have any user-defined properties
|
|
200
180
|
applyTMXProperties(this, data);
|
|
201
181
|
|
|
202
|
-
// check for the correct rendering method
|
|
203
|
-
if (typeof (this.preRender) === "undefined") {
|
|
204
|
-
this.preRender = game.world.preRender;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
182
|
// set a renderer
|
|
208
183
|
this.setRenderer(map.getRenderer());
|
|
209
184
|
|
|
@@ -258,8 +233,11 @@ function preRenderLayer(layer, renderer) {
|
|
|
258
233
|
|
|
259
234
|
this.isAnimated = this.animatedTilesets.length > 0;
|
|
260
235
|
|
|
261
|
-
//
|
|
262
|
-
if (this.isAnimated) {
|
|
236
|
+
// check for the correct rendering method
|
|
237
|
+
if (typeof this.preRender === "undefined" && this.isAnimated === false) {
|
|
238
|
+
this.preRender = this.ancestor.getRootAncestor().preRender;
|
|
239
|
+
} else {
|
|
240
|
+
// Force pre-render off when tileset animation is used
|
|
263
241
|
this.preRender = false;
|
|
264
242
|
}
|
|
265
243
|
|
|
@@ -271,8 +249,11 @@ function preRenderLayer(layer, renderer) {
|
|
|
271
249
|
heigth : this.height,
|
|
272
250
|
transparent : true
|
|
273
251
|
});
|
|
274
|
-
|
|
252
|
+
// pre render the layer on the canvas
|
|
253
|
+
this.getRenderer().drawTileLayer(this.canvasRenderer, this, this);
|
|
275
254
|
}
|
|
255
|
+
|
|
256
|
+
this.isDirty = true;
|
|
276
257
|
}
|
|
277
258
|
|
|
278
259
|
// called when the layer is removed from the game world or a container
|
|
@@ -292,6 +273,7 @@ function preRenderLayer(layer, renderer) {
|
|
|
292
273
|
*/
|
|
293
274
|
setRenderer(renderer) {
|
|
294
275
|
this.renderer = renderer;
|
|
276
|
+
this.isDirty = true;
|
|
295
277
|
}
|
|
296
278
|
|
|
297
279
|
/**
|
|
@@ -344,6 +326,7 @@ function preRenderLayer(layer, renderer) {
|
|
|
344
326
|
*/
|
|
345
327
|
setTile(tile, x, y) {
|
|
346
328
|
this.layerData[x][y] = tile;
|
|
329
|
+
this.isDirty = true;
|
|
347
330
|
return tile;
|
|
348
331
|
}
|
|
349
332
|
|
|
@@ -402,6 +385,7 @@ function preRenderLayer(layer, renderer) {
|
|
|
402
385
|
if (this.preRender) {
|
|
403
386
|
this.canvasRenderer.clearRect(x * this.tilewidth, y * this.tileheight, this.tilewidth, this.tileheight);
|
|
404
387
|
}
|
|
388
|
+
this.isDirty = true;
|
|
405
389
|
}
|
|
406
390
|
|
|
407
391
|
/**
|
|
@@ -409,14 +393,13 @@ function preRenderLayer(layer, renderer) {
|
|
|
409
393
|
* @ignore
|
|
410
394
|
*/
|
|
411
395
|
update(dt) {
|
|
396
|
+
let result = this.isDirty;
|
|
412
397
|
if (this.isAnimated) {
|
|
413
|
-
let result = false;
|
|
414
398
|
for (let i = 0; i < this.animatedTilesets.length; i++) {
|
|
415
399
|
result = this.animatedTilesets[i].update(dt) || result;
|
|
416
400
|
}
|
|
417
|
-
return result;
|
|
418
401
|
}
|
|
419
|
-
return
|
|
402
|
+
return result;
|
|
420
403
|
}
|
|
421
404
|
|
|
422
405
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -216,7 +216,6 @@ class TMXObject {
|
|
|
216
216
|
* @returns {Polygon[]|Line[]|Ellipse[]} an array of shape objects
|
|
217
217
|
*/
|
|
218
218
|
parseTMXShapes() {
|
|
219
|
-
let i = 0;
|
|
220
219
|
let shapes = [];
|
|
221
220
|
|
|
222
221
|
// add an ellipse shape
|
|
@@ -244,7 +243,7 @@ class TMXObject {
|
|
|
244
243
|
let p = this.points;
|
|
245
244
|
let p1, p2;
|
|
246
245
|
let segments = p.length - 1;
|
|
247
|
-
for (i = 0; i < segments; i++) {
|
|
246
|
+
for (let i = 0; i < segments; i++) {
|
|
248
247
|
// clone the value before, as [i + 1]
|
|
249
248
|
// is reused later by the next segment
|
|
250
249
|
p1 = pool.pull("Vector2d", p[i].x, p[i].y);
|
|
@@ -271,7 +270,7 @@ class TMXObject {
|
|
|
271
270
|
|
|
272
271
|
// Apply isometric projection
|
|
273
272
|
if (this.orientation === "isometric") {
|
|
274
|
-
for (i = 0; i < shapes.length; i++) {
|
|
273
|
+
for (let i = 0; i < shapes.length; i++) {
|
|
275
274
|
if (typeof shapes[i].toIso === "function") {
|
|
276
275
|
shapes[i].toIso();
|
|
277
276
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -15,7 +15,7 @@ import { TMX_CLEAR_BIT_MASK, TMX_FLIP_H, TMX_FLIP_V, TMX_FLIP_AD } from './const
|
|
|
15
15
|
* a basic tile object
|
|
16
16
|
* @augments Bounds
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
class Tile extends Bounds {
|
|
19
19
|
/**
|
|
20
20
|
* @param {number} x - x index of the Tile in the map
|
|
21
21
|
* @param {number} y - y index of the Tile in the map
|
|
@@ -115,8 +115,8 @@ import { TMX_CLEAR_BIT_MASK, TMX_FLIP_H, TMX_FLIP_V, TMX_FLIP_AD } from './const
|
|
|
115
115
|
}
|
|
116
116
|
if (this.flippedY) {
|
|
117
117
|
transform.scale(
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
this.flippedAD ? -1 : 1, this.flippedAD ? 1 : -1
|
|
119
|
+
);
|
|
120
120
|
}
|
|
121
121
|
transform.translate(-this.width / 2, -this.height / 2);
|
|
122
122
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -81,7 +81,7 @@ function readObjectGroup(map, data, z) {
|
|
|
81
81
|
* a TMX Tile Map Object
|
|
82
82
|
* Tiled QT +0.7.x format
|
|
83
83
|
*/
|
|
84
|
-
|
|
84
|
+
class TMXTileMap {
|
|
85
85
|
/**
|
|
86
86
|
* @param {string} levelId - name of TMX map
|
|
87
87
|
* @param {object} data - TMX map in JSON format
|
|
@@ -276,7 +276,7 @@ function readObjectGroup(map, data, z) {
|
|
|
276
276
|
image : this.background_image,
|
|
277
277
|
z : zOrder++
|
|
278
278
|
}
|
|
279
|
-
|
|
279
|
+
));
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
data.layers.forEach((layer) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -15,14 +15,11 @@ import { getTMX, getImage } from '../../loader/loader.js';
|
|
|
15
15
|
* @classdesc
|
|
16
16
|
* a TMX Tile Set Object
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
class TMXTileset {
|
|
19
19
|
/**
|
|
20
20
|
* @param {object} tileset - tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})
|
|
21
21
|
*/
|
|
22
22
|
constructor(tileset) {
|
|
23
|
-
let i = 0;
|
|
24
|
-
// first gid
|
|
25
|
-
|
|
26
23
|
// tile properties (collidable, etc..)
|
|
27
24
|
this.TileProperties = [];
|
|
28
25
|
|
|
@@ -84,7 +81,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
|
|
|
84
81
|
this._lastUpdate = 0;
|
|
85
82
|
|
|
86
83
|
let tiles = tileset.tiles;
|
|
87
|
-
for (i in tiles) {
|
|
84
|
+
for (let i in tiles) {
|
|
88
85
|
if (tiles.hasOwnProperty(i)) {
|
|
89
86
|
if ("animation" in tiles[i]) {
|
|
90
87
|
this.isAnimated = true;
|
|
@@ -128,7 +125,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
|
|
|
128
125
|
// set tile properties, if any (JSON old format)
|
|
129
126
|
let tileInfo = tileset.tileproperties;
|
|
130
127
|
if (tileInfo) {
|
|
131
|
-
for (i in tileInfo) {
|
|
128
|
+
for (let i in tileInfo) {
|
|
132
129
|
if (tileInfo.hasOwnProperty(i)) {
|
|
133
130
|
this.setTileProperty(+i + this.firstgid, tileInfo[i]);
|
|
134
131
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -11,7 +11,7 @@ import { TMX_CLEAR_BIT_MASK } from './constants.js';
|
|
|
11
11
|
* @classdesc
|
|
12
12
|
* an object containing all tileset
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
class TMXTilesetGroup {
|
|
15
15
|
|
|
16
16
|
constructor() {
|
|
17
17
|
this.tilesets = [];
|