melonjs 14.3.0 → 14.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/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
- package/dist/melonjs.mjs/_virtual/arraymultimap.js +2 -2
- package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
- package/dist/melonjs.mjs/_virtual/howler.js +2 -2
- package/dist/melonjs.mjs/_virtual/index.js +2 -2
- package/dist/melonjs.mjs/_virtual/index2.js +2 -2
- package/dist/melonjs.mjs/_virtual/multimap.js +2 -2
- package/dist/melonjs.mjs/_virtual/setmultimap.js +2 -2
- package/dist/melonjs.mjs/application/application.js +8 -21
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +4 -2
- package/dist/melonjs.mjs/application/settings.js +2 -2
- package/dist/melonjs.mjs/audio/audio.js +2 -2
- package/dist/melonjs.mjs/camera/camera2d.js +2 -2
- package/dist/melonjs.mjs/const.js +32 -0
- package/dist/melonjs.mjs/entity/entity.js +2 -2
- package/dist/melonjs.mjs/geometries/ellipse.js +2 -2
- package/dist/melonjs.mjs/geometries/line.js +2 -2
- package/dist/melonjs.mjs/geometries/path2d.js +2 -2
- package/dist/melonjs.mjs/geometries/point.js +2 -2
- package/dist/melonjs.mjs/geometries/poly.js +2 -2
- package/dist/melonjs.mjs/geometries/rectangle.js +2 -2
- package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
- package/dist/melonjs.mjs/index.js +5 -5
- package/dist/melonjs.mjs/input/gamepad.js +2 -2
- package/dist/melonjs.mjs/input/input.js +2 -2
- package/dist/melonjs.mjs/input/keyboard.js +2 -2
- package/dist/melonjs.mjs/input/pointer.js +2 -2
- package/dist/melonjs.mjs/input/pointerevent.js +2 -2
- package/dist/melonjs.mjs/lang/console.js +44 -0
- package/dist/melonjs.mjs/lang/deprecated.js +4 -40
- package/dist/melonjs.mjs/level/level.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +67 -57
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -64
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +10 -26
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +17 -83
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +2 -16
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -10
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -14
- package/dist/melonjs.mjs/level/tiled/constants.js +17 -0
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -6
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -14
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +38 -0
- package/dist/melonjs.mjs/loader/loader.js +5 -3
- package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
- package/dist/melonjs.mjs/math/color.js +2 -2
- package/dist/melonjs.mjs/math/math.js +2 -2
- package/dist/melonjs.mjs/math/matrix2.js +2 -2
- package/dist/melonjs.mjs/math/matrix3.js +2 -2
- package/dist/melonjs.mjs/math/observable_vector2.js +2 -2
- package/dist/melonjs.mjs/math/observable_vector3.js +2 -2
- package/dist/melonjs.mjs/math/vector2.js +2 -2
- package/dist/melonjs.mjs/math/vector3.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +2 -2
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
- 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 +2 -2
- package/dist/melonjs.mjs/physics/body.js +2 -2
- package/dist/melonjs.mjs/physics/bounds.js +2 -2
- package/dist/melonjs.mjs/physics/collision.js +3 -3
- package/dist/melonjs.mjs/physics/detector.js +2 -2
- package/dist/melonjs.mjs/physics/quadtree.js +2 -2
- package/dist/melonjs.mjs/physics/response.js +2 -2
- package/dist/melonjs.mjs/physics/sat.js +2 -2
- package/dist/melonjs.mjs/physics/world.js +2 -2
- package/dist/melonjs.mjs/plugin/plugin.js +4 -4
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
- package/dist/melonjs.mjs/renderable/container.js +2 -2
- package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
- package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
- package/dist/melonjs.mjs/renderable/light2d.js +2 -2
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
- package/dist/melonjs.mjs/renderable/renderable.js +2 -2
- package/dist/melonjs.mjs/renderable/sprite.js +2 -2
- package/dist/melonjs.mjs/renderable/trigger.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
- package/dist/melonjs.mjs/state/stage.js +2 -2
- package/dist/melonjs.mjs/state/state.js +2 -2
- package/dist/melonjs.mjs/system/device.js +2 -2
- package/dist/melonjs.mjs/system/dom.js +2 -2
- package/dist/melonjs.mjs/system/event.js +2 -2
- package/dist/melonjs.mjs/system/platform.js +2 -2
- package/dist/melonjs.mjs/system/pooling.js +2 -2
- package/dist/melonjs.mjs/system/save.js +2 -2
- package/dist/melonjs.mjs/system/timer.js +2 -2
- package/dist/melonjs.mjs/text/bitmaptext.js +2 -2
- package/dist/melonjs.mjs/text/bitmaptextdata.js +2 -2
- package/dist/melonjs.mjs/text/glyph.js +2 -2
- package/dist/melonjs.mjs/text/text.js +2 -2
- package/dist/melonjs.mjs/text/textmetrics.js +2 -2
- package/dist/melonjs.mjs/text/textstyle.js +2 -2
- package/dist/melonjs.mjs/tweens/easing.js +2 -2
- package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
- package/dist/melonjs.mjs/tweens/tween.js +2 -2
- package/dist/melonjs.mjs/utils/agent.js +2 -2
- package/dist/melonjs.mjs/utils/array.js +2 -2
- package/dist/melonjs.mjs/utils/file.js +2 -2
- package/dist/melonjs.mjs/utils/function.js +2 -2
- package/dist/melonjs.mjs/utils/string.js +2 -2
- package/dist/melonjs.mjs/utils/utils.js +2 -2
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
- package/dist/melonjs.mjs/video/renderer.js +2 -2
- package/dist/melonjs.mjs/video/texture/atlas.js +2 -2
- package/dist/melonjs.mjs/video/texture/cache.js +2 -2
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +2 -2
- package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
- package/dist/melonjs.mjs/video/video.js +16 -13
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
- package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
- 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 +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +2 -2
- package/dist/melonjs.module.js +2704 -2828
- package/dist/types/application/application.d.ts +5 -1
- package/dist/types/application/resize.d.ts +1 -0
- package/dist/types/const.d.ts +21 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/lang/console.d.ts +7 -0
- package/dist/types/lang/deprecated.d.ts +0 -8
- package/dist/types/level/tiled/TMXGroup.d.ts +7 -28
- package/dist/types/level/tiled/TMXLayer.d.ts +25 -47
- package/dist/types/level/tiled/TMXObject.d.ts +20 -82
- package/dist/types/level/tiled/TMXTile.d.ts +11 -25
- package/dist/types/level/tiled/TMXTileMap.d.ts +18 -56
- package/dist/types/level/tiled/TMXTileset.d.ts +7 -21
- package/dist/types/level/tiled/TMXTilesetGroup.d.ts +3 -9
- package/dist/types/level/tiled/constants.d.ts +5 -0
- package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +2 -6
- package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -6
- package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +6 -18
- package/dist/types/level/tiled/renderer/autodetect.d.ts +9 -0
- package/dist/types/video/video.d.ts +7 -6
- package/package.json +6 -6
- package/src/application/application.js +6 -19
- package/src/application/resize.js +2 -0
- package/src/const.js +23 -0
- package/src/index.js +2 -0
- package/src/lang/console.js +36 -0
- package/src/lang/deprecated.js +2 -37
- package/src/level/tiled/TMXGroup.js +0 -21
- package/src/level/tiled/TMXLayer.js +65 -55
- package/src/level/tiled/TMXObject.js +0 -62
- package/src/level/tiled/TMXTile.js +8 -24
- package/src/level/tiled/TMXTileMap.js +15 -81
- package/src/level/tiled/TMXTileset.js +0 -14
- package/src/level/tiled/TMXTilesetGroup.js +1 -9
- package/src/level/tiled/TMXUtils.js +38 -15
- package/src/level/tiled/constants.js +8 -0
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +5 -6
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -4
- package/src/level/tiled/renderer/TMXRenderer.js +0 -12
- package/src/level/tiled/renderer/autodetect.js +29 -0
- package/src/loader/loader.js +3 -1
- package/src/physics/collision.js +1 -1
- package/src/video/video.js +14 -11
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +0 -13
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +0 -13
- package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +0 -45
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +0 -43
- package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +0 -32
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +0 -17
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +0 -43
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +0 -39
- package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +0 -72
- package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +0 -16
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +0 -29
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +0 -25
- package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +0 -10
- package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +0 -27
- package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +0 -88
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +0 -34
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +0 -27
- package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +0 -68
- package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +0 -58
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +0 -12
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +0 -14
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +0 -35
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +0 -31
- package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +0 -28
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +0 -45
- package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +0 -26
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +0 -23
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +0 -21
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +0 -20
- package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +0 -24
- package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +0 -41
- package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +0 -12
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +0 -18
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +0 -22
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +0 -19
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +0 -22
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +0 -9
|
@@ -15,66 +15,45 @@ export default class TMXGroup {
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* group name
|
|
18
|
-
* @public
|
|
19
18
|
* @type {string}
|
|
20
|
-
* @name name
|
|
21
|
-
* @memberof TMXGroup
|
|
22
19
|
*/
|
|
23
20
|
this.name = data.name;
|
|
24
21
|
|
|
25
22
|
/**
|
|
26
23
|
* group width
|
|
27
|
-
* @public
|
|
28
24
|
* @type {number}
|
|
29
|
-
* @name width
|
|
30
|
-
* @memberof TMXGroup
|
|
31
25
|
*/
|
|
32
26
|
this.width = data.width || 0;
|
|
33
27
|
|
|
34
28
|
/**
|
|
35
29
|
* group height
|
|
36
|
-
* @public
|
|
37
30
|
* @type {number}
|
|
38
|
-
* @name height
|
|
39
|
-
* @memberof TMXGroup
|
|
40
31
|
*/
|
|
41
32
|
this.height = data.height || 0;
|
|
42
33
|
|
|
43
34
|
/**
|
|
44
35
|
* tint color
|
|
45
|
-
* @public
|
|
46
36
|
* @type {string}
|
|
47
|
-
* @name tintcolor
|
|
48
|
-
* @memberof TMXGroup
|
|
49
37
|
*/
|
|
50
38
|
this.tintcolor = data.tintcolor;
|
|
51
39
|
|
|
52
40
|
|
|
53
41
|
/**
|
|
54
42
|
* the group class
|
|
55
|
-
* @public
|
|
56
43
|
* @type {string}
|
|
57
|
-
* @name class
|
|
58
|
-
* @memberof TMXGroup
|
|
59
44
|
*/
|
|
60
45
|
this.class = data.class;
|
|
61
46
|
|
|
62
47
|
/**
|
|
63
48
|
* group z order
|
|
64
|
-
* @public
|
|
65
49
|
* @type {number}
|
|
66
|
-
* @name z
|
|
67
|
-
* @memberof TMXGroup
|
|
68
50
|
*/
|
|
69
51
|
this.z = z;
|
|
70
52
|
|
|
71
53
|
/**
|
|
72
54
|
* group objects list definition
|
|
73
55
|
* @see TMXObject
|
|
74
|
-
* @public
|
|
75
56
|
* @type {object[]}
|
|
76
|
-
* @name name
|
|
77
|
-
* @memberof TMXGroup
|
|
78
57
|
*/
|
|
79
58
|
this.objects = [];
|
|
80
59
|
|
|
@@ -10,34 +10,43 @@ import { game } from "../../index.js";
|
|
|
10
10
|
* Create required arrays for the given layer object
|
|
11
11
|
* @ignore
|
|
12
12
|
*/
|
|
13
|
-
function initArray(
|
|
13
|
+
function initArray(rows, cols) {
|
|
14
14
|
// initialize the array
|
|
15
|
-
|
|
16
|
-
for (var
|
|
17
|
-
|
|
18
|
-
for (var
|
|
19
|
-
|
|
15
|
+
var array = new Array(cols);
|
|
16
|
+
for (var col = 0; col < cols; col++) {
|
|
17
|
+
array[col] = new Array(rows);
|
|
18
|
+
for (var row = 0; row < rows; row++) {
|
|
19
|
+
array[col][row] = null;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
+
return array;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
/**
|
|
25
26
|
* Set a tiled layer Data
|
|
26
27
|
* @ignore
|
|
27
28
|
*/
|
|
28
|
-
function setLayerData(layer, data) {
|
|
29
|
+
function setLayerData(layer, bounds, data) {
|
|
29
30
|
var idx = 0;
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
var width, height;
|
|
32
|
+
|
|
33
|
+
// layer provide rows and cols, chunk width and height
|
|
34
|
+
if (typeof bounds.rows === "undefined") {
|
|
35
|
+
width = bounds.width;
|
|
36
|
+
height = bounds.height;
|
|
37
|
+
} else {
|
|
38
|
+
width = bounds.cols;
|
|
39
|
+
height = bounds.rows;
|
|
40
|
+
}
|
|
32
41
|
// set everything
|
|
33
|
-
for (var y = 0; y <
|
|
34
|
-
for (var x = 0; x <
|
|
42
|
+
for (var y = 0; y < height; y++) {
|
|
43
|
+
for (var x = 0; x < width; x++) {
|
|
35
44
|
// get the value of the gid
|
|
36
45
|
var gid = data[idx++];
|
|
37
46
|
// fill the array
|
|
38
47
|
if (gid !== 0) {
|
|
39
48
|
// add a new tile to the layer
|
|
40
|
-
layer.layerData[x][y] = layer.getTileById(gid, x, y);
|
|
49
|
+
layer.layerData[x + bounds.x][y + bounds.y] = layer.getTileById(gid, x + bounds.x, y + bounds.y);
|
|
41
50
|
}
|
|
42
51
|
}
|
|
43
52
|
}
|
|
@@ -89,11 +98,23 @@ function preRenderLayer(layer, renderer) {
|
|
|
89
98
|
// layer orientation
|
|
90
99
|
this.orientation = orientation;
|
|
91
100
|
|
|
101
|
+
/**
|
|
102
|
+
* Horizontal layer offset in tiles
|
|
103
|
+
* @default 0
|
|
104
|
+
* @type {number}
|
|
105
|
+
*/
|
|
106
|
+
this.x = 0;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Vertical layer offset in tiles
|
|
110
|
+
* @default 0
|
|
111
|
+
* @type {number}
|
|
112
|
+
*/
|
|
113
|
+
this.y = 0;
|
|
114
|
+
|
|
92
115
|
/**
|
|
93
116
|
* The Layer corresponding Tilesets
|
|
94
|
-
* @public
|
|
95
117
|
* @type {TMXTilesetGroup}
|
|
96
|
-
* @name TMXLayer#tilesets
|
|
97
118
|
*/
|
|
98
119
|
this.tilesets = tilesets;
|
|
99
120
|
|
|
@@ -114,36 +135,27 @@ function preRenderLayer(layer, renderer) {
|
|
|
114
135
|
|
|
115
136
|
/**
|
|
116
137
|
* All animated tilesets in this layer
|
|
117
|
-
* @ignore
|
|
118
138
|
* @type {TMXTileset[]}
|
|
119
|
-
* @name TMXLayer#animatedTilesets
|
|
120
139
|
*/
|
|
121
140
|
this.animatedTilesets = [];
|
|
122
141
|
|
|
123
142
|
/**
|
|
124
143
|
* Layer contains tileset animations
|
|
125
|
-
* @public
|
|
126
144
|
* @type {boolean}
|
|
127
|
-
* @name TMXLayer#isAnimated
|
|
128
145
|
*/
|
|
129
146
|
this.isAnimated = false;
|
|
130
147
|
|
|
131
148
|
/**
|
|
132
149
|
* the order in which tiles on orthogonal tile layers are rendered.
|
|
133
150
|
* (valid values are "left-down", "left-up", "right-down", "right-up")
|
|
134
|
-
* @public
|
|
135
151
|
* @type {string}
|
|
136
152
|
* @default "right-down"
|
|
137
|
-
* @name TMXLayer#renderorder
|
|
138
153
|
*/
|
|
139
154
|
this.renderorder = data.renderorder || "right-down";
|
|
140
155
|
|
|
141
156
|
/**
|
|
142
157
|
* the layer class
|
|
143
|
-
* @public
|
|
144
158
|
* @type {string}
|
|
145
|
-
* @name class
|
|
146
|
-
* @name TMXLayer#class
|
|
147
159
|
*/
|
|
148
160
|
this.class = data.class;
|
|
149
161
|
|
|
@@ -189,14 +201,36 @@ function preRenderLayer(layer, renderer) {
|
|
|
189
201
|
this.setRenderer(map.getRenderer());
|
|
190
202
|
|
|
191
203
|
|
|
192
|
-
// initialize
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
204
|
+
// initialize the data array
|
|
205
|
+
this.layerData = initArray(this.rows, this.cols);
|
|
206
|
+
|
|
207
|
+
if (map.infinite === 0) {
|
|
208
|
+
// initialize and set the layer data
|
|
209
|
+
setLayerData(
|
|
210
|
+
this,
|
|
211
|
+
this,
|
|
212
|
+
TMXUtils.decode(
|
|
213
|
+
data.data,
|
|
214
|
+
data.encoding,
|
|
215
|
+
data.compression
|
|
216
|
+
)
|
|
217
|
+
);
|
|
218
|
+
} else if (map.infinite === 1) {
|
|
219
|
+
// infinite map, initialize per chunk
|
|
220
|
+
data.chunks.forEach((chunk) => {
|
|
221
|
+
// initialize and set the layer data
|
|
222
|
+
setLayerData(
|
|
223
|
+
this,
|
|
224
|
+
chunk,
|
|
225
|
+
TMXUtils.decode(
|
|
226
|
+
chunk.data,
|
|
227
|
+
data.encoding,
|
|
228
|
+
data.compression
|
|
229
|
+
)
|
|
230
|
+
);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
|
|
200
234
|
}
|
|
201
235
|
|
|
202
236
|
|
|
@@ -248,9 +282,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
248
282
|
|
|
249
283
|
/**
|
|
250
284
|
* Set the TMX renderer for this layer object
|
|
251
|
-
* @name setRenderer
|
|
252
|
-
* @memberof TMXLayer
|
|
253
|
-
* @public
|
|
254
285
|
* @param {TMXRenderer} renderer
|
|
255
286
|
* @example
|
|
256
287
|
* // use the parent map default renderer
|
|
@@ -263,9 +294,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
263
294
|
|
|
264
295
|
/**
|
|
265
296
|
* Return the layer current renderer object
|
|
266
|
-
* @name getRenderer
|
|
267
|
-
* @memberof TMXLayer
|
|
268
|
-
* @public
|
|
269
297
|
* @returns {TMXRenderer} renderer
|
|
270
298
|
*/
|
|
271
299
|
getRenderer() {
|
|
@@ -275,9 +303,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
275
303
|
|
|
276
304
|
/**
|
|
277
305
|
* Return the TileId of the Tile at the specified position
|
|
278
|
-
* @name getTileId
|
|
279
|
-
* @memberof TMXLayer
|
|
280
|
-
* @public
|
|
281
306
|
* @param {number} x - X coordinate (in world/pixels coordinates)
|
|
282
307
|
* @param {number} y - Y coordinate (in world/pixels coordinates)
|
|
283
308
|
* @returns {number} TileId or null if there is no Tile at the given position
|
|
@@ -289,9 +314,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
289
314
|
|
|
290
315
|
/**
|
|
291
316
|
* Return the Tile object at the specified position
|
|
292
|
-
* @name getTile
|
|
293
|
-
* @memberof TMXLayer
|
|
294
|
-
* @public
|
|
295
317
|
* @param {number} x - X coordinate (in world/pixels coordinates)
|
|
296
318
|
* @param {number} y - Y coordinate (in world/pixels coordinates)
|
|
297
319
|
* @returns {Tile} corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds
|
|
@@ -314,9 +336,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
314
336
|
|
|
315
337
|
/**
|
|
316
338
|
* assign the given Tile object to the specified position
|
|
317
|
-
* @name getTile
|
|
318
|
-
* @memberof TMXLayer
|
|
319
|
-
* @public
|
|
320
339
|
* @param {Tile} tile - the tile object to be assigned
|
|
321
340
|
* @param {number} x - x coordinate (in world/pixels coordinates)
|
|
322
341
|
* @param {number} y - y coordinate (in world/pixels coordinates)
|
|
@@ -329,9 +348,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
329
348
|
|
|
330
349
|
/**
|
|
331
350
|
* return a new the Tile object corresponding to the given tile id
|
|
332
|
-
* @name setTile
|
|
333
|
-
* @memberof TMXLayer
|
|
334
|
-
* @public
|
|
335
351
|
* @param {number} tileId - tileId
|
|
336
352
|
* @param {number} x - X coordinate (in world/pixels coordinates)
|
|
337
353
|
* @param {number} y - Y coordinate (in world/pixels coordinates)
|
|
@@ -347,9 +363,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
347
363
|
|
|
348
364
|
/**
|
|
349
365
|
* Return the Tile object at the specified tile coordinates
|
|
350
|
-
* @name cellAt
|
|
351
|
-
* @memberof TMXLayer
|
|
352
|
-
* @public
|
|
353
366
|
* @param {number} x - x position of the tile (in Tile unit)
|
|
354
367
|
* @param {number} y - x position of the tile (in Tile unit)
|
|
355
368
|
* @param {number} [boundsCheck=true] - check first if within the layer bounds
|
|
@@ -373,9 +386,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
373
386
|
|
|
374
387
|
/**
|
|
375
388
|
* clear the tile at the specified position
|
|
376
|
-
* @name clearTile
|
|
377
|
-
* @memberof TMXLayer
|
|
378
|
-
* @public
|
|
379
389
|
* @param {number} x - X coordinate (in map coordinates: row/column)
|
|
380
390
|
* @param {number} y - Y coordinate (in map coordinates: row/column)
|
|
381
391
|
* @example
|
|
@@ -15,185 +15,125 @@ export default class TMXObject {
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* point list in JSON format
|
|
18
|
-
* @public
|
|
19
18
|
* @type {object[]}
|
|
20
|
-
* @name points
|
|
21
|
-
* @memberof TMXObject
|
|
22
19
|
*/
|
|
23
20
|
this.points = undefined;
|
|
24
21
|
|
|
25
22
|
/**
|
|
26
23
|
* object name
|
|
27
|
-
* @public
|
|
28
24
|
* @type {string}
|
|
29
|
-
* @name name
|
|
30
|
-
* @memberof TMXObject
|
|
31
25
|
*/
|
|
32
26
|
this.name = settings.name;
|
|
33
27
|
|
|
34
28
|
/**
|
|
35
29
|
* object x position
|
|
36
|
-
* @public
|
|
37
30
|
* @type {number}
|
|
38
|
-
* @name x
|
|
39
|
-
* @memberof TMXObject
|
|
40
31
|
*/
|
|
41
32
|
this.x = +settings.x;
|
|
42
33
|
|
|
43
34
|
/**
|
|
44
35
|
* object y position
|
|
45
|
-
* @public
|
|
46
36
|
* @type {number}
|
|
47
|
-
* @name y
|
|
48
|
-
* @memberof TMXObject
|
|
49
37
|
*/
|
|
50
38
|
this.y = +settings.y;
|
|
51
39
|
|
|
52
40
|
/**
|
|
53
41
|
* object z order
|
|
54
|
-
* @public
|
|
55
42
|
* @type {number}
|
|
56
|
-
* @name z
|
|
57
|
-
* @memberof TMXObject
|
|
58
43
|
*/
|
|
59
44
|
this.z = +z;
|
|
60
45
|
|
|
61
46
|
/**
|
|
62
47
|
* object width
|
|
63
|
-
* @public
|
|
64
48
|
* @type {number}
|
|
65
|
-
* @name width
|
|
66
|
-
* @memberof TMXObject
|
|
67
49
|
*/
|
|
68
50
|
this.width = +settings.width || 0;
|
|
69
51
|
|
|
70
52
|
/**
|
|
71
53
|
* object height
|
|
72
|
-
* @public
|
|
73
54
|
* @type {number}
|
|
74
|
-
* @name height
|
|
75
|
-
* @memberof TMXObject
|
|
76
55
|
*/
|
|
77
56
|
this.height = +settings.height || 0;
|
|
78
57
|
|
|
79
58
|
/**
|
|
80
59
|
* object gid value
|
|
81
60
|
* when defined the object is a tiled object
|
|
82
|
-
* @public
|
|
83
61
|
* @type {number}
|
|
84
|
-
* @name gid
|
|
85
|
-
* @memberof TMXObject
|
|
86
62
|
*/
|
|
87
63
|
this.gid = +settings.gid || null;
|
|
88
64
|
|
|
89
65
|
/**
|
|
90
66
|
* tint color
|
|
91
|
-
* @public
|
|
92
67
|
* @type {string}
|
|
93
|
-
* @name tintcolor
|
|
94
|
-
* @memberof TMXObject
|
|
95
68
|
*/
|
|
96
69
|
this.tintcolor = settings.tintcolor;
|
|
97
70
|
|
|
98
71
|
/**
|
|
99
72
|
* object type
|
|
100
|
-
* @public
|
|
101
73
|
* @type {string}
|
|
102
74
|
* @deprecated since Tiled 1.9
|
|
103
75
|
* @see https://docs.mapeditor.org/en/stable/reference/tmx-changelog/#tiled-1-9
|
|
104
|
-
* @name type
|
|
105
|
-
* @memberof TMXObject
|
|
106
76
|
*/
|
|
107
77
|
this.type = settings.type;
|
|
108
78
|
|
|
109
79
|
/**
|
|
110
80
|
* the object class
|
|
111
|
-
* @public
|
|
112
81
|
* @type {string}
|
|
113
|
-
* @name class
|
|
114
|
-
* @memberof TMXObject
|
|
115
82
|
*/
|
|
116
83
|
this.class = typeof settings.class !== "undefined" ? settings.class : settings.type;
|
|
117
84
|
|
|
118
85
|
/**
|
|
119
86
|
* object text
|
|
120
|
-
* @public
|
|
121
87
|
* @type {object}
|
|
122
88
|
* @see http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#text
|
|
123
|
-
* @name text
|
|
124
|
-
* @memberof TMXObject
|
|
125
89
|
*/
|
|
126
90
|
this.text = undefined;
|
|
127
91
|
|
|
128
92
|
/**
|
|
129
93
|
* The rotation of the object in radians clockwise (defaults to 0)
|
|
130
|
-
* @public
|
|
131
94
|
* @type {number}
|
|
132
|
-
* @name rotation
|
|
133
|
-
* @memberof TMXObject
|
|
134
95
|
*/
|
|
135
96
|
this.rotation = degToRad(+settings.rotation || 0);
|
|
136
97
|
|
|
137
98
|
/**
|
|
138
99
|
* object unique identifier per level (Tiled 0.11.x+)
|
|
139
|
-
* @public
|
|
140
100
|
* @type {number}
|
|
141
|
-
* @name id
|
|
142
|
-
* @memberof TMXObject
|
|
143
101
|
*/
|
|
144
102
|
this.id = +settings.id || undefined;
|
|
145
103
|
|
|
146
104
|
/**
|
|
147
105
|
* object orientation (orthogonal or isometric)
|
|
148
|
-
* @public
|
|
149
106
|
* @type {string}
|
|
150
|
-
* @name orientation
|
|
151
|
-
* @memberof TMXObject
|
|
152
107
|
*/
|
|
153
108
|
this.orientation = map.orientation;
|
|
154
109
|
|
|
155
110
|
/**
|
|
156
111
|
* the collision shapes defined for this object
|
|
157
|
-
* @public
|
|
158
112
|
* @type {object[]}
|
|
159
|
-
* @name shapes
|
|
160
|
-
* @memberof TMXObject
|
|
161
113
|
*/
|
|
162
114
|
this.shapes = undefined;
|
|
163
115
|
|
|
164
116
|
/**
|
|
165
117
|
* if true, the object is an Ellipse
|
|
166
|
-
* @public
|
|
167
118
|
* @type {boolean}
|
|
168
|
-
* @name isEllipse
|
|
169
|
-
* @memberof TMXObject
|
|
170
119
|
*/
|
|
171
120
|
this.isEllipse = false;
|
|
172
121
|
|
|
173
122
|
/**
|
|
174
123
|
* if true, the object is a Point
|
|
175
|
-
* @public
|
|
176
124
|
* @type {boolean}
|
|
177
|
-
* @name isPoint
|
|
178
|
-
* @memberof TMXObject
|
|
179
125
|
*/
|
|
180
126
|
this.isPoint = false;
|
|
181
127
|
|
|
182
128
|
/**
|
|
183
129
|
* if true, the object is a Polygon
|
|
184
|
-
* @public
|
|
185
130
|
* @type {boolean}
|
|
186
|
-
* @name isPolygon
|
|
187
|
-
* @memberof TMXObject
|
|
188
131
|
*/
|
|
189
132
|
this.isPolygon = false;
|
|
190
133
|
|
|
191
134
|
/**
|
|
192
135
|
* if true, the object is a PolyLine
|
|
193
|
-
* @public
|
|
194
136
|
* @type {boolean}
|
|
195
|
-
* @name isPolyLine
|
|
196
|
-
* @memberof TMXObject
|
|
197
137
|
*/
|
|
198
138
|
this.isPolyLine = false;
|
|
199
139
|
|
|
@@ -265,8 +205,6 @@ export default class TMXObject {
|
|
|
265
205
|
|
|
266
206
|
/**
|
|
267
207
|
* parses the TMX shape definition and returns a corresponding array of me.Shape object
|
|
268
|
-
* @name parseTMXShapes
|
|
269
|
-
* @memberof TMXObject
|
|
270
208
|
* @private
|
|
271
209
|
* @returns {Polygon[]|Line[]|Ellipse[]} an array of shape objects
|
|
272
210
|
*/
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import Matrix2d from "./../../math/matrix2.js";
|
|
2
2
|
import Sprite from "./../../renderable/sprite.js";
|
|
3
3
|
import Bounds from "./../../physics/bounds.js";
|
|
4
|
-
|
|
5
|
-
// bitmask constants to check for flipped & rotated tiles
|
|
6
|
-
const TMX_FLIP_H = 0x80000000,
|
|
7
|
-
TMX_FLIP_V = 0x40000000,
|
|
8
|
-
TMX_FLIP_AD = 0x20000000,
|
|
9
|
-
TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
|
|
4
|
+
import { TMX_FLIP_V, TMX_FLIP_H, TMX_FLIP_AD, TMX_CLEAR_BIT_MASK } from "./constants.js";
|
|
10
5
|
|
|
11
6
|
/**
|
|
12
7
|
* @classdesc
|
|
@@ -40,9 +35,7 @@ const TMX_FLIP_H = 0x80000000,
|
|
|
40
35
|
|
|
41
36
|
/**
|
|
42
37
|
* tileset
|
|
43
|
-
* @public
|
|
44
38
|
* @type {TMXTileset}
|
|
45
|
-
* @name Tile#tileset
|
|
46
39
|
*/
|
|
47
40
|
this.tileset = tileset;
|
|
48
41
|
|
|
@@ -58,38 +51,31 @@ const TMX_FLIP_H = 0x80000000,
|
|
|
58
51
|
|
|
59
52
|
/**
|
|
60
53
|
* tileId
|
|
61
|
-
* @public
|
|
62
54
|
* @type {number}
|
|
63
|
-
* @name Tile#tileId
|
|
64
55
|
*/
|
|
65
56
|
this.tileId = gid;
|
|
57
|
+
|
|
66
58
|
/**
|
|
67
|
-
* True if the tile is flipped horizontally
|
|
68
|
-
* @public
|
|
59
|
+
* True if the tile is flipped horizontally
|
|
69
60
|
* @type {boolean}
|
|
70
|
-
* @name Tile#flipX
|
|
71
61
|
*/
|
|
72
62
|
this.flippedX = (this.tileId & TMX_FLIP_H) !== 0;
|
|
63
|
+
|
|
73
64
|
/**
|
|
74
|
-
* True if the tile is flipped vertically
|
|
75
|
-
* @public
|
|
65
|
+
* True if the tile is flipped vertically
|
|
76
66
|
* @type {boolean}
|
|
77
|
-
* @name Tile#flippedY
|
|
78
67
|
*/
|
|
79
68
|
this.flippedY = (this.tileId & TMX_FLIP_V) !== 0;
|
|
69
|
+
|
|
80
70
|
/**
|
|
81
|
-
* True if the tile is flipped anti-diagonally
|
|
82
|
-
* @public
|
|
71
|
+
* True if the tile is flipped anti-diagonally
|
|
83
72
|
* @type {boolean}
|
|
84
|
-
* @name Tile#flippedAD
|
|
85
73
|
*/
|
|
86
74
|
this.flippedAD = (this.tileId & TMX_FLIP_AD) !== 0;
|
|
87
75
|
|
|
88
76
|
/**
|
|
89
|
-
* Global flag that indicates if the tile is flipped
|
|
90
|
-
* @public
|
|
77
|
+
* Global flag that indicates if the tile is flipped
|
|
91
78
|
* @type {boolean}
|
|
92
|
-
* @name Tile#flipped
|
|
93
79
|
*/
|
|
94
80
|
this.flipped = this.flippedX || this.flippedY || this.flippedAD;
|
|
95
81
|
|
|
@@ -130,8 +116,6 @@ const TMX_FLIP_H = 0x80000000,
|
|
|
130
116
|
|
|
131
117
|
/**
|
|
132
118
|
* return a renderable object for this Tile object
|
|
133
|
-
* @name Tile#getRenderable
|
|
134
|
-
* @public
|
|
135
119
|
* @param {object} [settings] - see {@link Sprite}
|
|
136
120
|
* @returns {Renderable} a me.Sprite object
|
|
137
121
|
*/
|