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
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { renderer } from '../video/video.js';
|
|
9
9
|
import pool from '../system/pooling.js';
|
|
10
|
-
import
|
|
10
|
+
import { getImage } from '../loader/loader.js';
|
|
11
11
|
import { TextureAtlas } from '../video/texture/atlas.js';
|
|
12
12
|
import Renderable from './renderable.js';
|
|
13
13
|
import Color from '../math/color.js';
|
|
@@ -102,7 +102,7 @@ import Color from '../math/color.js';
|
|
|
102
102
|
// (reusing current, any better/cleaner place?)
|
|
103
103
|
this.current = {
|
|
104
104
|
// the current animation name
|
|
105
|
-
name :
|
|
105
|
+
name : undefined,
|
|
106
106
|
// length of the current animation name
|
|
107
107
|
length : 0,
|
|
108
108
|
//current frame texture offset
|
|
@@ -139,9 +139,6 @@ import Color from '../math/color.js';
|
|
|
139
139
|
if (region) {
|
|
140
140
|
// set the sprite region within the texture
|
|
141
141
|
this.setRegion(region);
|
|
142
|
-
// update the default "current" frame size
|
|
143
|
-
this.current.width = settings.framewidth || region.width;
|
|
144
|
-
this.current.height = settings.frameheight || region.height;
|
|
145
142
|
} else {
|
|
146
143
|
// throw an error
|
|
147
144
|
throw new Error("Texture - region for " + settings.region + " not found");
|
|
@@ -149,14 +146,14 @@ import Color from '../math/color.js';
|
|
|
149
146
|
}
|
|
150
147
|
} else {
|
|
151
148
|
// HTMLImageElement/Canvas or {string}
|
|
152
|
-
this.image = (typeof settings.image === "object") ? settings.image :
|
|
149
|
+
this.image = (typeof settings.image === "object") ? settings.image : getImage(settings.image);
|
|
153
150
|
// throw an error if image ends up being null/undefined
|
|
154
151
|
if (!this.image) {
|
|
155
152
|
throw new Error("me.Sprite: '" + settings.image + "' image/texture not found!");
|
|
156
153
|
}
|
|
157
154
|
// update the default "current" frame size
|
|
158
|
-
this.current.width = settings.framewidth = settings.framewidth || this.image.width;
|
|
159
|
-
this.current.height = settings.frameheight = settings.frameheight || this.image.height;
|
|
155
|
+
this.width = this.current.width = settings.framewidth = settings.framewidth || this.image.width;
|
|
156
|
+
this.height = this.current.height = settings.frameheight = settings.frameheight || this.image.height;
|
|
160
157
|
this.source = renderer.cache.get(this.image, settings);
|
|
161
158
|
this.textureAtlas = this.source.getAtlas();
|
|
162
159
|
}
|
|
@@ -167,10 +164,6 @@ import Color from '../math/color.js';
|
|
|
167
164
|
this.atlasIndices = settings.atlasIndices;
|
|
168
165
|
}
|
|
169
166
|
|
|
170
|
-
// resize based on the active frame
|
|
171
|
-
this.width = this.current.width;
|
|
172
|
-
this.height = this.current.height;
|
|
173
|
-
|
|
174
167
|
// apply flip flags if specified
|
|
175
168
|
if (typeof (settings.flipX) !== "undefined") {
|
|
176
169
|
this.flipX(!!settings.flipX);
|
|
@@ -209,14 +202,11 @@ import Color from '../math/color.js';
|
|
|
209
202
|
this.pos.z = settings.z;
|
|
210
203
|
}
|
|
211
204
|
|
|
212
|
-
//
|
|
205
|
+
// addAnimation will return 0 if no texture atlas is defined
|
|
213
206
|
if (this.addAnimation("default", null) !== 0) {
|
|
214
207
|
// set as default
|
|
215
208
|
this.setCurrentAnimation("default");
|
|
216
209
|
}
|
|
217
|
-
|
|
218
|
-
// enable currentTransform for me.Sprite based objects
|
|
219
|
-
this.autoTransform = true;
|
|
220
210
|
}
|
|
221
211
|
|
|
222
212
|
/**
|
|
@@ -396,22 +386,24 @@ import Color from '../math/color.js';
|
|
|
396
386
|
* return false; // do not reset to first frame
|
|
397
387
|
* }).bind(this));
|
|
398
388
|
*/
|
|
399
|
-
setCurrentAnimation(name, resetAnim, preserve_dt) {
|
|
400
|
-
if (this.anim[name]) {
|
|
401
|
-
this.
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
389
|
+
setCurrentAnimation(name, resetAnim, preserve_dt = false) {
|
|
390
|
+
if (typeof this.anim[name] !== "undefined") {
|
|
391
|
+
if (!this.isCurrentAnimation(name)) {
|
|
392
|
+
this.current.name = name;
|
|
393
|
+
this.current.length = this.anim[this.current.name].length;
|
|
394
|
+
if (typeof resetAnim === "string") {
|
|
395
|
+
this.resetAnim = this.setCurrentAnimation.bind(this, resetAnim, null, true);
|
|
396
|
+
} else if (typeof resetAnim === "function") {
|
|
397
|
+
this.resetAnim = resetAnim;
|
|
398
|
+
} else {
|
|
399
|
+
this.resetAnim = undefined;
|
|
400
|
+
}
|
|
401
|
+
this.setAnimationFrame(0);
|
|
402
|
+
if (!preserve_dt) {
|
|
403
|
+
this.dt = 0;
|
|
404
|
+
}
|
|
405
|
+
this.isDirty = true;
|
|
413
406
|
}
|
|
414
|
-
this.isDirty = true;
|
|
415
407
|
} else {
|
|
416
408
|
throw new Error("animation id '" + name + "' not defined");
|
|
417
409
|
}
|
|
@@ -468,17 +460,19 @@ import Color from '../math/color.js';
|
|
|
468
460
|
// set the sprite offset within the texture
|
|
469
461
|
this.current.offset.setV(region.offset);
|
|
470
462
|
// set angle if defined
|
|
471
|
-
this.current.angle = region.angle;
|
|
463
|
+
this.current.angle = typeof region.angle === "number" ? region.angle : 0;
|
|
472
464
|
// update the default "current" size
|
|
473
465
|
this.width = this.current.width = region.width;
|
|
474
466
|
this.height = this.current.height = region.height;
|
|
475
467
|
// set global anchortPoint if defined
|
|
476
468
|
if (region.anchorPoint) {
|
|
477
|
-
this.anchorPoint.
|
|
469
|
+
this.anchorPoint.setMuted(
|
|
478
470
|
this._flip.x && region.trimmed === true ? 1 - region.anchorPoint.x : region.anchorPoint.x,
|
|
479
471
|
this._flip.y && region.trimmed === true ? 1 - region.anchorPoint.y : region.anchorPoint.y
|
|
480
472
|
);
|
|
481
473
|
}
|
|
474
|
+
// update the sprite bounding box
|
|
475
|
+
this.updateBounds();
|
|
482
476
|
this.isDirty = true;
|
|
483
477
|
return this;
|
|
484
478
|
}
|
|
@@ -487,14 +481,14 @@ import Color from '../math/color.js';
|
|
|
487
481
|
* force the current animation frame index.
|
|
488
482
|
* @name setAnimationFrame
|
|
489
483
|
* @memberof Sprite
|
|
490
|
-
* @param {number} [
|
|
484
|
+
* @param {number} [index=0] - animation frame index
|
|
491
485
|
* @returns {Sprite} Reference to this object for method chaining
|
|
492
486
|
* @example
|
|
493
487
|
* // reset the current animation to the first frame
|
|
494
488
|
* this.setAnimationFrame();
|
|
495
489
|
*/
|
|
496
|
-
setAnimationFrame(
|
|
497
|
-
this.current.idx =
|
|
490
|
+
setAnimationFrame(index = 0) {
|
|
491
|
+
this.current.idx = index % this.current.length;
|
|
498
492
|
return this.setRegion(this.getAnimationFrameObjectByIndex(this.current.idx));
|
|
499
493
|
}
|
|
500
494
|
|
|
@@ -531,14 +525,14 @@ import Color from '../math/color.js';
|
|
|
531
525
|
*/
|
|
532
526
|
update(dt) {
|
|
533
527
|
// Update animation if necessary
|
|
534
|
-
if (!this.animationpause && this.current
|
|
528
|
+
if (!this.animationpause && this.current.length > 1) {
|
|
535
529
|
var duration = this.getAnimationFrameObjectByIndex(this.current.idx).delay;
|
|
536
530
|
this.dt += dt;
|
|
537
531
|
while (this.dt >= duration) {
|
|
538
532
|
this.isDirty = true;
|
|
539
533
|
this.dt -= duration;
|
|
540
534
|
|
|
541
|
-
var nextFrame = (this.current.length > 1? this.current.idx+1: this.current.idx);
|
|
535
|
+
var nextFrame = (this.current.length > 1 ? this.current.idx + 1 : this.current.idx);
|
|
542
536
|
this.setAnimationFrame(nextFrame);
|
|
543
537
|
|
|
544
538
|
// Switch animation if we reach the end of the strip and a callback is defined
|
|
@@ -558,21 +552,6 @@ import Color from '../math/color.js';
|
|
|
558
552
|
}
|
|
559
553
|
}
|
|
560
554
|
|
|
561
|
-
// update the sprite bounding box
|
|
562
|
-
/*
|
|
563
|
-
if (this.isDirty === true && !this.currentTransform.isIdentity()) {
|
|
564
|
-
this.getBounds().clear();
|
|
565
|
-
this.getBounds().addFrame(
|
|
566
|
-
0,
|
|
567
|
-
0,
|
|
568
|
-
this.current.width,
|
|
569
|
-
this.current.height,
|
|
570
|
-
this.currentTransform
|
|
571
|
-
);
|
|
572
|
-
this.updateBoundsPos(this.pos.x, this.pos.y);
|
|
573
|
-
}
|
|
574
|
-
*/
|
|
575
|
-
|
|
576
555
|
//update the "flickering" state if necessary
|
|
577
556
|
if (this._flicker.isFlickering) {
|
|
578
557
|
this._flicker.duration -= dt;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Renderable from './renderable.js';
|
|
9
9
|
import collision from '../physics/collision.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Container from '../container.js';
|
|
9
9
|
import timer from '../../system/timer.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import timer from '../../system/timer.js';
|
|
9
9
|
import Sprite from '../sprite.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Vector2d from '../../math/vector2.js';
|
|
9
9
|
import BitmapText from '../../text/bitmaptext.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { renderer } from '../video/video.js';
|
|
9
9
|
import { game } from '../index.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { pauseTrack, resumeTrack } from '../audio/audio.js';
|
|
9
9
|
import { defer } from '../utils/function.js';
|
|
@@ -514,7 +514,7 @@ var state = {
|
|
|
514
514
|
},
|
|
515
515
|
|
|
516
516
|
/**
|
|
517
|
-
* enable/disable transition
|
|
517
|
+
* enable/disable the transition to a particular state (by default enabled for all)
|
|
518
518
|
* @name setTransition
|
|
519
519
|
* @memberof state
|
|
520
520
|
* @public
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { getParent } from '../video/video.js';
|
|
9
9
|
import save from './save.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { once, DOM_READY, emit } from './event.js';
|
|
9
9
|
import { nodeJS } from './platform.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import EventEmitter from '../node_modules/eventemitter3/index.js';
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* The device platform type
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* @classdesc
|
|
@@ -35,14 +35,14 @@ class ObjectPool {
|
|
|
35
35
|
* @param {boolean} [recycling=false] - enables object recycling for the specified class
|
|
36
36
|
* @example
|
|
37
37
|
* // implement CherryEntity
|
|
38
|
-
* class
|
|
38
|
+
* class Cherry extends Sprite {
|
|
39
39
|
* onResetEvent() {
|
|
40
40
|
* // reset object mutable properties
|
|
41
41
|
* this.lifeBar = 100;
|
|
42
42
|
* }
|
|
43
43
|
* };
|
|
44
44
|
* // add our users defined entities in the object pool and enable object recycling
|
|
45
|
-
* me.pool.register("
|
|
45
|
+
* me.pool.register("cherrysprite", Cherry, true);
|
|
46
46
|
*/
|
|
47
47
|
register(className, classObj, recycling = false) {
|
|
48
48
|
if (typeof (classObj) !== "undefined") {
|
|
@@ -76,11 +76,7 @@ class ObjectPool {
|
|
|
76
76
|
* me.game.world.removeChild(enemy);
|
|
77
77
|
* me.game.world.removeChild(bullet);
|
|
78
78
|
*/
|
|
79
|
-
pull(name) {
|
|
80
|
-
var args = new Array(arguments.length);
|
|
81
|
-
for (var i = 0; i < arguments.length; i++) {
|
|
82
|
-
args[i] = arguments[i];
|
|
83
|
-
}
|
|
79
|
+
pull(name, ...args) {
|
|
84
80
|
var className = this.objectClass[name];
|
|
85
81
|
if (className) {
|
|
86
82
|
var proto = className["class"],
|
|
@@ -88,18 +84,12 @@ class ObjectPool {
|
|
|
88
84
|
obj;
|
|
89
85
|
|
|
90
86
|
if (poolArray && ((obj = poolArray.pop()))) {
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
// call the object onResetEvent function if defined
|
|
94
|
-
if (typeof(obj.onResetEvent) === "function") {
|
|
95
|
-
obj.onResetEvent.apply(obj, args);
|
|
96
|
-
}
|
|
87
|
+
// poolable object must implement a `onResetEvent` method
|
|
88
|
+
obj.onResetEvent.apply(obj, args);
|
|
97
89
|
this.instance_counter--;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
90
|
+
} else {
|
|
100
91
|
// create a new instance
|
|
101
|
-
|
|
102
|
-
obj = new (proto.bind.apply(proto, args))();
|
|
92
|
+
obj = new (proto.bind.apply(proto, [ proto, ...args ]))();
|
|
103
93
|
if (poolArray) {
|
|
104
94
|
obj.className = name;
|
|
105
95
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { on, BOOT } from './event.js';
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import utils from '../utils/utils.js';
|
|
9
9
|
import { on, GAME_BEFORE_UPDATE, BOOT, STATE_RESUME, STATE_RESTART, STATE_CHANGE } from './event.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Color from '../math/color.js';
|
|
9
9
|
import pool from '../system/pooling.js';
|
|
10
|
-
import
|
|
10
|
+
import { getImage, getBinary } from '../loader/loader.js';
|
|
11
11
|
import Renderable from '../renderable/renderable.js';
|
|
12
12
|
import TextMetrics from './textmetrics.js';
|
|
13
13
|
|
|
@@ -102,7 +102,7 @@ import TextMetrics from './textmetrics.js';
|
|
|
102
102
|
* font image
|
|
103
103
|
* @private
|
|
104
104
|
*/
|
|
105
|
-
this.fontImage = (typeof settings.font === "object") ? settings.font :
|
|
105
|
+
this.fontImage = (typeof settings.font === "object") ? settings.font : getImage(settings.font);
|
|
106
106
|
|
|
107
107
|
if (typeof settings.fontData !== "string") {
|
|
108
108
|
/**
|
|
@@ -110,11 +110,11 @@ import TextMetrics from './textmetrics.js';
|
|
|
110
110
|
* @private
|
|
111
111
|
*/
|
|
112
112
|
// use settings.font to retreive the data from the loader
|
|
113
|
-
this.fontData = pool.pull("BitmapTextData",
|
|
113
|
+
this.fontData = pool.pull("BitmapTextData", getBinary(settings.font));
|
|
114
114
|
} else {
|
|
115
115
|
this.fontData = pool.pull("BitmapTextData",
|
|
116
116
|
// if starting/includes "info face" the whole data string was passed as parameter
|
|
117
|
-
(settings.fontData.includes("info face")) ? settings.fontData :
|
|
117
|
+
(settings.fontData.includes("info face")) ? settings.fontData : getBinary(settings.fontData)
|
|
118
118
|
);
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -183,11 +183,70 @@ import TextMetrics from './textmetrics.js';
|
|
|
183
183
|
this._text = this.metrics.wordWrap(this._text, this.wordWrapWidth);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
this.
|
|
186
|
+
this.updateBounds();
|
|
187
187
|
|
|
188
188
|
return this;
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
/**
|
|
192
|
+
* update the bounding box for this Bitmap Text.
|
|
193
|
+
* @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates
|
|
194
|
+
* @returns {Bounds} this Bitmap Text bounding box Rectangle object
|
|
195
|
+
*/
|
|
196
|
+
updateBounds(absolute = true) {
|
|
197
|
+
var bounds = this.getBounds();
|
|
198
|
+
|
|
199
|
+
bounds.clear();
|
|
200
|
+
|
|
201
|
+
if (typeof this.metrics !== "undefined") {
|
|
202
|
+
var ax, ay;
|
|
203
|
+
|
|
204
|
+
bounds.addBounds(this.metrics.measureText(this._text));
|
|
205
|
+
|
|
206
|
+
switch (this.textAlign) {
|
|
207
|
+
case "right":
|
|
208
|
+
ax = this.metrics.width * 1.0;
|
|
209
|
+
break;
|
|
210
|
+
|
|
211
|
+
case "center":
|
|
212
|
+
ax = this.metrics.width * 0.5;
|
|
213
|
+
break;
|
|
214
|
+
|
|
215
|
+
default :
|
|
216
|
+
ax = this.metrics.width * 0.0;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// adjust y pos based on alignment value
|
|
221
|
+
switch (this.textBaseline) {
|
|
222
|
+
case "middle":
|
|
223
|
+
ay = this.metrics.height * 0.5;
|
|
224
|
+
break;
|
|
225
|
+
|
|
226
|
+
case "ideographic":
|
|
227
|
+
case "alphabetic":
|
|
228
|
+
case "bottom":
|
|
229
|
+
ay = this.metrics.height * 1.0;
|
|
230
|
+
break;
|
|
231
|
+
|
|
232
|
+
default :
|
|
233
|
+
ay = this.metrics.height * 0.0;
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// translate the bounds accordingly
|
|
238
|
+
bounds.translate(ax, ay);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (absolute === true) {
|
|
242
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.addChild === "function" && this.floating !== true) {
|
|
243
|
+
bounds.translate(this.ancestor.getAbsolutePosition());
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
return bounds;
|
|
248
|
+
}
|
|
249
|
+
|
|
191
250
|
/**
|
|
192
251
|
* defines the color used to tint the bitmap text
|
|
193
252
|
* @public
|
|
@@ -214,9 +273,8 @@ import TextMetrics from './textmetrics.js';
|
|
|
214
273
|
resize(scale) {
|
|
215
274
|
this.fontScale.set(scale, scale);
|
|
216
275
|
|
|
217
|
-
this.
|
|
276
|
+
this.updateBounds();
|
|
218
277
|
|
|
219
|
-
// clear the cache text to recalculate bounds
|
|
220
278
|
this.isDirty = true;
|
|
221
279
|
|
|
222
280
|
return this;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Glyph from './glyph.js';
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
// bitmap constants
|
|
9
9
|
const LOG2_PAGE_SIZE = 9;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Color from '../math/color.js';
|
|
9
9
|
import WebGLRenderer from '../video/webgl/webgl_renderer.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import Bounds from '../physics/bounds.js';
|
|
9
9
|
import Text from './text.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* apply the current text style to the given context
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
/*
|
|
9
9
|
* Tween.js - Licensed under the MIT license
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
/*
|
|
9
9
|
* Tween.js - Licensed under the MIT license
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.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
|
|
6
|
-
* @copyright (C) 2011 -
|
|
6
|
+
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import timer from '../system/timer.js';
|
|
9
9
|
import { on, STATE_RESUME, off } from '../system/event.js';
|