melonjs 14.3.0 → 14.5.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 +11 -55
- 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 +5 -5
- package/dist/melonjs.mjs/camera/camera2d.js +2 -2
- package/dist/melonjs.mjs/const.js +32 -0
- package/dist/melonjs.mjs/entity/entity.js +44 -10
- package/dist/melonjs.mjs/geometries/ellipse.js +3 -4
- package/dist/melonjs.mjs/geometries/line.js +2 -2
- package/dist/melonjs.mjs/geometries/path2d.js +19 -43
- package/dist/melonjs.mjs/geometries/point.js +2 -7
- package/dist/melonjs.mjs/geometries/poly.js +3 -6
- package/dist/melonjs.mjs/geometries/rectangle.js +14 -10
- package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
- package/dist/melonjs.mjs/index.js +11 -9
- package/dist/melonjs.mjs/input/gamepad.js +11 -17
- 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 +3 -17
- 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 +4 -4
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +67 -64
- 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 +21 -83
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +6 -20
- 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/cache.js +24 -0
- package/dist/melonjs.mjs/loader/loader.js +332 -715
- package/dist/melonjs.mjs/loader/loadingscreen.js +5 -5
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
- package/dist/melonjs.mjs/loader/parser.js +281 -0
- package/dist/melonjs.mjs/loader/settings.js +91 -0
- 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 +8 -10
- package/dist/melonjs.mjs/math/matrix3.js +19 -22
- package/dist/melonjs.mjs/math/observable_vector2.js +4 -4
- package/dist/melonjs.mjs/math/observable_vector3.js +4 -5
- package/dist/melonjs.mjs/math/vector2.js +4 -4
- package/dist/melonjs.mjs/math/vector3.js +4 -5
- 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 +4 -4
- 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 +19 -15
- package/dist/melonjs.mjs/physics/bounds.js +19 -71
- 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 +26 -20
- package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
- package/dist/melonjs.mjs/renderable/imagelayer.js +8 -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 +127 -106
- package/dist/melonjs.mjs/renderable/sprite.js +34 -55
- 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 +3 -3
- 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 +9 -19
- 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 +67 -9
- 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 +3 -3
- package/dist/melonjs.mjs/utils/utils.js +3 -5
- 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 +11 -10
- package/dist/melonjs.mjs/video/texture/cache.js +4 -4
- 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 +17 -14
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +235 -0
- package/{src/video/webgl → dist/melonjs.mjs/video/webgl/compositors}/webgl_compositor.js +28 -205
- 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 +3 -3
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +3 -3
- package/dist/melonjs.module.js +19807 -19896
- 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/entity/entity.d.ts +2 -2
- package/dist/types/geometries/path2d.d.ts +5 -31
- package/dist/types/geometries/point.d.ts +2 -7
- package/dist/types/geometries/poly.d.ts +0 -1
- package/dist/types/index.d.ts +3 -2
- 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/loader/cache.d.ts +7 -0
- package/dist/types/loader/loader.d.ts +166 -181
- package/dist/types/loader/parser.d.ts +41 -0
- package/dist/types/loader/settings.d.ts +57 -0
- package/dist/types/particles/emitter.d.ts +4 -4
- package/dist/types/physics/bounds.d.ts +29 -84
- package/dist/types/renderable/container.d.ts +0 -11
- package/dist/types/renderable/renderable.d.ts +37 -31
- package/dist/types/renderable/sprite.d.ts +3 -3
- package/dist/types/state/state.d.ts +1 -1
- package/dist/types/system/pooling.d.ts +2 -2
- package/dist/types/video/renderer.d.ts +1 -1
- package/dist/types/video/video.d.ts +7 -6
- package/dist/types/video/webgl/compositors/compositor.d.ts +101 -0
- package/dist/types/video/webgl/compositors/webgl_compositor.d.ts +86 -0
- package/dist/types/video/webgl/webgl_compositor.d.ts +2 -3
- package/dist/types/video/webgl/webgl_renderer.d.ts +1 -1
- package/package.json +17 -16
- package/src/application/application.js +6 -19
- package/src/application/resize.js +2 -0
- package/src/audio/audio.js +3 -3
- package/src/const.js +23 -0
- package/src/entity/entity.js +42 -8
- package/src/geometries/ellipse.js +1 -2
- package/src/geometries/path2d.js +17 -41
- package/src/geometries/point.js +0 -5
- package/src/geometries/poly.js +1 -4
- package/src/geometries/rectangle.js +12 -8
- package/src/index.js +4 -2
- package/src/input/gamepad.js +9 -15
- package/src/input/pointerevent.js +1 -15
- package/src/lang/console.js +36 -0
- package/src/lang/deprecated.js +2 -37
- package/src/level/level.js +2 -2
- package/src/level/tiled/TMXGroup.js +0 -21
- package/src/level/tiled/TMXLayer.js +65 -62
- package/src/level/tiled/TMXObject.js +0 -62
- package/src/level/tiled/TMXTile.js +8 -24
- package/src/level/tiled/TMXTileMap.js +19 -81
- package/src/level/tiled/TMXTileset.js +4 -18
- 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/cache.js +16 -0
- package/src/loader/loader.js +339 -709
- package/src/loader/loadingscreen.js +3 -3
- package/src/loader/parser.js +279 -0
- package/src/loader/settings.js +85 -0
- package/src/math/matrix2.js +6 -8
- package/src/math/matrix3.js +17 -20
- package/src/math/observable_vector2.js +2 -2
- package/src/math/observable_vector3.js +2 -3
- package/src/math/vector2.js +2 -2
- package/src/math/vector3.js +2 -3
- package/src/particles/emitter.js +2 -2
- package/src/physics/body.js +17 -13
- package/src/physics/bounds.js +17 -69
- package/src/physics/collision.js +1 -1
- package/src/renderable/container.js +24 -18
- package/src/renderable/imagelayer.js +6 -0
- package/src/renderable/renderable.js +125 -104
- package/src/renderable/sprite.js +32 -53
- package/src/state/state.js +1 -1
- package/src/system/pooling.js +7 -17
- package/src/text/bitmaptext.js +65 -7
- package/src/utils/string.js +1 -1
- package/src/utils/utils.js +1 -3
- package/src/video/texture/atlas.js +9 -8
- package/src/video/texture/cache.js +2 -2
- package/src/video/video.js +15 -12
- package/src/video/webgl/compositors/compositor.js +227 -0
- package/src/video/webgl/compositors/webgl_compositor.js +300 -0
- package/src/video/webgl/webgl_renderer.js +1 -1
- 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
package/src/input/gamepad.js
CHANGED
|
@@ -55,23 +55,17 @@ var leadingZeroRE = /^0+/;
|
|
|
55
55
|
* @ignore
|
|
56
56
|
*/
|
|
57
57
|
function addMapping(id, mapping) {
|
|
58
|
-
var expanded_id = id.replace(vendorProductRE, (_, a, b) =>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
a.replace(leadingZeroRE, "") + "-" +
|
|
67
|
-
b.replace(leadingZeroRE, "") + "-"
|
|
68
|
-
);
|
|
69
|
-
});
|
|
58
|
+
var expanded_id = id.replace(vendorProductRE, (_, a, b) =>
|
|
59
|
+
"000".slice(a.length - 1) + a + "-" +
|
|
60
|
+
"000".slice(b.length - 1) + b + "-"
|
|
61
|
+
);
|
|
62
|
+
var sparse_id = id.replace(vendorProductRE, (_, a, b) =>
|
|
63
|
+
a.replace(leadingZeroRE, "") + "-" +
|
|
64
|
+
b.replace(leadingZeroRE, "") + "-"
|
|
65
|
+
);
|
|
70
66
|
|
|
71
67
|
// Normalize optional parameters
|
|
72
|
-
mapping.analog = mapping.analog || mapping.buttons.map(() =>
|
|
73
|
-
return -1;
|
|
74
|
-
});
|
|
68
|
+
mapping.analog = mapping.analog || mapping.buttons.map(() => -1);
|
|
75
69
|
mapping.normalize_fn = mapping.normalize_fn || function (value) { return value; };
|
|
76
70
|
|
|
77
71
|
remap.set(expanded_id, mapping);
|
|
@@ -315,21 +315,7 @@ function dispatchEvent(normalizedEvents) {
|
|
|
315
315
|
pointer.gameLocalY = pointer.gameY - parentBounds.y;
|
|
316
316
|
}
|
|
317
317
|
|
|
318
|
-
|
|
319
|
-
var gameY = pointer.gameY;
|
|
320
|
-
|
|
321
|
-
// apply inverse transformation for renderable
|
|
322
|
-
if (typeof region.currentTransform !== "undefined") {
|
|
323
|
-
if (!region.currentTransform.isIdentity()) {
|
|
324
|
-
var invV = region.currentTransform.applyInverse(
|
|
325
|
-
pool.pull("Vector2d", gameX, gameY)
|
|
326
|
-
);
|
|
327
|
-
gameX = invV.x;
|
|
328
|
-
gameY = invV.y;
|
|
329
|
-
pool.push(invV);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
eventInBounds = bounds.contains(gameX, gameY);
|
|
318
|
+
eventInBounds = bounds.contains(pointer.gameX, pointer.gameY);
|
|
333
319
|
|
|
334
320
|
switch (pointer.type) {
|
|
335
321
|
case POINTER_MOVE[0]:
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* display a deprecation warning in the console
|
|
4
|
+
* @param {string} deprecated - deprecated class,function or property name
|
|
5
|
+
* @param {string} replacement - the replacement class, function, or property name
|
|
6
|
+
* @param {string} version - the version since when the lass,function or property is deprecated
|
|
7
|
+
*/
|
|
8
|
+
export function warning(deprecated, replacement, version) {
|
|
9
|
+
var msg = "melonJS: %s is deprecated since version %s, please use %s";
|
|
10
|
+
var stack = new Error().stack;
|
|
11
|
+
|
|
12
|
+
if (console.groupCollapsed) {
|
|
13
|
+
console.groupCollapsed(
|
|
14
|
+
"%c" + msg,
|
|
15
|
+
"font-weight:normal;color:yellow;",
|
|
16
|
+
deprecated,
|
|
17
|
+
version,
|
|
18
|
+
replacement
|
|
19
|
+
);
|
|
20
|
+
} else {
|
|
21
|
+
console.warn(
|
|
22
|
+
msg,
|
|
23
|
+
deprecated,
|
|
24
|
+
version,
|
|
25
|
+
replacement
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (typeof stack !== "undefined") {
|
|
30
|
+
console.warn(stack);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (console.groupCollapsed) {
|
|
34
|
+
console.groupEnd();
|
|
35
|
+
}
|
|
36
|
+
}
|
package/src/lang/deprecated.js
CHANGED
|
@@ -2,47 +2,12 @@ import { TextureAtlas } from "./../video/texture/atlas.js";
|
|
|
2
2
|
import Renderer from "./../video/renderer.js";
|
|
3
3
|
import { Draggable, DropTarget } from "./../renderable/dragndrop.js";
|
|
4
4
|
import UISpriteElement from "./../renderable/ui/uispriteelement.js";
|
|
5
|
+
import { warning } from "./console.js";
|
|
6
|
+
|
|
5
7
|
/*
|
|
6
8
|
* placeholder for all deprecated classes and corresponding alias for backward compatibility
|
|
7
9
|
*/
|
|
8
10
|
|
|
9
|
-
/**
|
|
10
|
-
* display a deprecation warning in the console
|
|
11
|
-
* @ignore
|
|
12
|
-
* @param {string} deprecated - deprecated class,function or property name
|
|
13
|
-
* @param {string} replacement - the replacement class, function, or property name
|
|
14
|
-
* @param {string} version - the version since when the lass,function or property is deprecated
|
|
15
|
-
*/
|
|
16
|
-
export function warning(deprecated, replacement, version) {
|
|
17
|
-
var msg = "melonJS: %s is deprecated since version %s, please use %s";
|
|
18
|
-
var stack = new Error().stack;
|
|
19
|
-
|
|
20
|
-
if (console.groupCollapsed) {
|
|
21
|
-
console.groupCollapsed(
|
|
22
|
-
"%c" + msg,
|
|
23
|
-
"font-weight:normal;color:yellow;",
|
|
24
|
-
deprecated,
|
|
25
|
-
version,
|
|
26
|
-
replacement
|
|
27
|
-
);
|
|
28
|
-
} else {
|
|
29
|
-
console.warn(
|
|
30
|
-
msg,
|
|
31
|
-
deprecated,
|
|
32
|
-
version,
|
|
33
|
-
replacement
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (typeof stack !== "undefined") {
|
|
38
|
-
console.warn(stack);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (console.groupCollapsed) {
|
|
42
|
-
console.groupEnd();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
11
|
/**
|
|
47
12
|
* Alias of {@link TextureAtlas}
|
|
48
13
|
* @public
|
package/src/level/level.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import utils from "./../utils/utils.js";
|
|
2
2
|
import * as event from "./../system/event.js";
|
|
3
3
|
import state from "./../state/state.js";
|
|
4
|
-
import
|
|
4
|
+
import { getTMX } from "./../loader/loader.js";
|
|
5
5
|
import { game } from "../index.js";
|
|
6
6
|
import TMXTileMap from "./tiled/TMXTileMap.js";
|
|
7
7
|
|
|
@@ -95,7 +95,7 @@ var level = {
|
|
|
95
95
|
// just load the level with the XML stuff
|
|
96
96
|
if (levels[levelId] == null) {
|
|
97
97
|
//console.log("loading "+ levelId);
|
|
98
|
-
levels[levelId] = new TMXTileMap(levelId,
|
|
98
|
+
levels[levelId] = new TMXTileMap(levelId, getTMX(levelId));
|
|
99
99
|
// level index
|
|
100
100
|
levelIdx.push(levelId);
|
|
101
101
|
}
|
|
@@ -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,16 +201,37 @@ function preRenderLayer(layer, renderer) {
|
|
|
189
201
|
this.setRenderer(map.getRenderer());
|
|
190
202
|
|
|
191
203
|
|
|
192
|
-
// initialize
|
|
193
|
-
|
|
194
|
-
TMXUtils.decode(
|
|
195
|
-
data.data,
|
|
196
|
-
data.encoding,
|
|
197
|
-
data.compression
|
|
198
|
-
)
|
|
199
|
-
);
|
|
200
|
-
}
|
|
204
|
+
// initialize the data array
|
|
205
|
+
this.layerData = initArray(this.rows, this.cols);
|
|
201
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
|
+
|
|
234
|
+
}
|
|
202
235
|
|
|
203
236
|
// called when the layer is added to the game world or a container
|
|
204
237
|
onActivateEvent() {
|
|
@@ -223,10 +256,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
223
256
|
this.preRender = false;
|
|
224
257
|
}
|
|
225
258
|
|
|
226
|
-
// Resize the bounding rect
|
|
227
|
-
this.getBounds().addBounds(this.getRenderer().getBounds(), true);
|
|
228
|
-
this.getBounds().shift(this.pos);
|
|
229
|
-
|
|
230
259
|
// if pre-rendering method is use, create an offline canvas/renderer
|
|
231
260
|
if ((this.preRender === true) && (!this.canvasRenderer)) {
|
|
232
261
|
this.canvasRenderer = new CanvasRenderer({
|
|
@@ -248,9 +277,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
248
277
|
|
|
249
278
|
/**
|
|
250
279
|
* Set the TMX renderer for this layer object
|
|
251
|
-
* @name setRenderer
|
|
252
|
-
* @memberof TMXLayer
|
|
253
|
-
* @public
|
|
254
280
|
* @param {TMXRenderer} renderer
|
|
255
281
|
* @example
|
|
256
282
|
* // use the parent map default renderer
|
|
@@ -263,21 +289,14 @@ function preRenderLayer(layer, renderer) {
|
|
|
263
289
|
|
|
264
290
|
/**
|
|
265
291
|
* Return the layer current renderer object
|
|
266
|
-
* @name getRenderer
|
|
267
|
-
* @memberof TMXLayer
|
|
268
|
-
* @public
|
|
269
292
|
* @returns {TMXRenderer} renderer
|
|
270
293
|
*/
|
|
271
294
|
getRenderer() {
|
|
272
295
|
return this.renderer;
|
|
273
296
|
}
|
|
274
297
|
|
|
275
|
-
|
|
276
298
|
/**
|
|
277
299
|
* Return the TileId of the Tile at the specified position
|
|
278
|
-
* @name getTileId
|
|
279
|
-
* @memberof TMXLayer
|
|
280
|
-
* @public
|
|
281
300
|
* @param {number} x - X coordinate (in world/pixels coordinates)
|
|
282
301
|
* @param {number} y - Y coordinate (in world/pixels coordinates)
|
|
283
302
|
* @returns {number} TileId or null if there is no Tile at the given position
|
|
@@ -289,9 +308,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
289
308
|
|
|
290
309
|
/**
|
|
291
310
|
* Return the Tile object at the specified position
|
|
292
|
-
* @name getTile
|
|
293
|
-
* @memberof TMXLayer
|
|
294
|
-
* @public
|
|
295
311
|
* @param {number} x - X coordinate (in world/pixels coordinates)
|
|
296
312
|
* @param {number} y - Y coordinate (in world/pixels coordinates)
|
|
297
313
|
* @returns {Tile} corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds
|
|
@@ -314,9 +330,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
314
330
|
|
|
315
331
|
/**
|
|
316
332
|
* assign the given Tile object to the specified position
|
|
317
|
-
* @name getTile
|
|
318
|
-
* @memberof TMXLayer
|
|
319
|
-
* @public
|
|
320
333
|
* @param {Tile} tile - the tile object to be assigned
|
|
321
334
|
* @param {number} x - x coordinate (in world/pixels coordinates)
|
|
322
335
|
* @param {number} y - y coordinate (in world/pixels coordinates)
|
|
@@ -329,9 +342,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
329
342
|
|
|
330
343
|
/**
|
|
331
344
|
* return a new the Tile object corresponding to the given tile id
|
|
332
|
-
* @name setTile
|
|
333
|
-
* @memberof TMXLayer
|
|
334
|
-
* @public
|
|
335
345
|
* @param {number} tileId - tileId
|
|
336
346
|
* @param {number} x - X coordinate (in world/pixels coordinates)
|
|
337
347
|
* @param {number} y - Y coordinate (in world/pixels coordinates)
|
|
@@ -347,9 +357,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
347
357
|
|
|
348
358
|
/**
|
|
349
359
|
* Return the Tile object at the specified tile coordinates
|
|
350
|
-
* @name cellAt
|
|
351
|
-
* @memberof TMXLayer
|
|
352
|
-
* @public
|
|
353
360
|
* @param {number} x - x position of the tile (in Tile unit)
|
|
354
361
|
* @param {number} y - x position of the tile (in Tile unit)
|
|
355
362
|
* @param {number} [boundsCheck=true] - check first if within the layer bounds
|
|
@@ -373,9 +380,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
373
380
|
|
|
374
381
|
/**
|
|
375
382
|
* clear the tile at the specified position
|
|
376
|
-
* @name clearTile
|
|
377
|
-
* @memberof TMXLayer
|
|
378
|
-
* @public
|
|
379
383
|
* @param {number} x - X coordinate (in map coordinates: row/column)
|
|
380
384
|
* @param {number} y - Y coordinate (in map coordinates: row/column)
|
|
381
385
|
* @example
|
|
@@ -405,7 +409,6 @@ function preRenderLayer(layer, renderer) {
|
|
|
405
409
|
}
|
|
406
410
|
return result;
|
|
407
411
|
}
|
|
408
|
-
|
|
409
412
|
return false;
|
|
410
413
|
}
|
|
411
414
|
|
|
@@ -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
|
*/
|