melonjs 14.1.2 → 14.3.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 +3 -4
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +7 -3
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/_virtual/index2.js +7 -3
- package/dist/melonjs.mjs/_virtual/make-built-in.js +10 -0
- package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/object-define-property.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-get-own-property-descriptor.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-get-own-property-names.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-get-own-property-symbols.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-property-is-enumerable.js +10 -0
- package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/shared.js +10 -0
- package/dist/melonjs.mjs/application/application.js +173 -22
- package/dist/melonjs.mjs/application/header.js +34 -0
- package/dist/melonjs.mjs/application/resize.js +119 -0
- package/dist/melonjs.mjs/application/settings.js +28 -0
- package/dist/melonjs.mjs/audio/audio.js +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +2 -2
- package/dist/melonjs.mjs/entity/entity.js +1 -1
- package/dist/melonjs.mjs/game.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +3 -3
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +3 -3
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +41 -61
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +2 -2
- package/dist/melonjs.mjs/input/pointerevent.js +7 -8
- package/dist/melonjs.mjs/lang/deprecated.js +1 -1
- package/dist/melonjs.mjs/level/level.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +1 -1
- package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +1 -1
- package/dist/melonjs.mjs/math/matrix3.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
- package/dist/melonjs.mjs/math/vector2.js +1 -1
- package/dist/melonjs.mjs/math/vector3.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +3 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +3 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +3 -2
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +13 -0
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +13 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +45 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +43 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +32 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +17 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +43 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +14 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +39 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +72 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +16 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +29 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +25 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +10 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +28 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +27 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +88 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +34 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +14 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +27 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +68 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +58 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +41 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +12 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +14 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +35 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +28 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +31 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +28 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +45 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +26 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +41 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +41 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +12 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +22 -0
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +4 -5
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +3 -3
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +9 -0
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +5 -2
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +3 -2
- package/dist/melonjs.mjs/particles/emitter.js +1 -1
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +1 -1
- package/dist/melonjs.mjs/physics/bounds.js +1 -1
- package/dist/melonjs.mjs/physics/collision.js +3 -3
- package/dist/melonjs.mjs/physics/detector.js +174 -146
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +1 -1
- package/dist/melonjs.mjs/physics/world.js +10 -30
- package/dist/melonjs.mjs/plugin/plugin.js +4 -4
- package/dist/melonjs.mjs/polyfill/console.js +18 -0
- package/dist/melonjs.mjs/polyfill/performance.js +27 -0
- package/dist/melonjs.mjs/polyfill/requestAnimationFrame.js +46 -0
- package/dist/melonjs.mjs/polyfill/roundrect.js +242 -0
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +3 -87
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/re_container.js +1016 -0
- package/dist/melonjs.mjs/renderable/renderable.js +1 -1
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
- 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 +9 -29
- package/dist/melonjs.mjs/system/dom.js +3 -2
- package/dist/melonjs.mjs/system/event.js +1 -1
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +1 -1
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/text/glyph.js +1 -1
- package/dist/melonjs.mjs/text/text.js +1 -1
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +2 -2
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +4 -29
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +4 -1
- package/dist/melonjs.mjs/video/renderer.js +26 -6
- package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +21 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +27 -0
- package/dist/melonjs.mjs/video/utils/resize.js +116 -0
- package/dist/melonjs.mjs/video/video.js +20 -294
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +2 -3
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +20 -2
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +4 -1
- package/dist/melonjs.module.js +28551 -26959
- package/dist/types/application/application.d.ts +144 -0
- package/dist/types/application/header.d.ts +5 -0
- package/dist/types/application/resize.d.ts +5 -0
- package/dist/types/application/settings.d.ts +18 -0
- package/dist/types/audio/audio.d.ts +267 -0
- package/dist/types/camera/camera2d.d.ts +289 -0
- package/dist/types/entity/entity.d.ts +98 -0
- package/{src/game.js → dist/types/game.d.ts} +3 -14
- package/dist/types/geometries/ellipse.d.ts +154 -0
- package/dist/types/geometries/line.d.ts +11 -0
- package/dist/types/geometries/path2d.d.ts +121 -0
- package/dist/types/geometries/point.d.ts +53 -0
- package/dist/types/geometries/poly.d.ts +222 -0
- package/dist/types/geometries/rectangle.d.ts +176 -0
- package/dist/types/geometries/roundrect.d.ts +52 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/input/gamepad.d.ts +95 -0
- package/dist/types/input/input.d.ts +15 -0
- package/dist/types/input/keyboard.d.ts +205 -0
- package/dist/types/input/pointer.d.ts +270 -0
- package/dist/types/input/pointerevent.d.ts +181 -0
- package/dist/types/lang/deprecated.d.ts +53 -0
- package/dist/types/level/level.d.ts +134 -0
- package/dist/types/level/tiled/TMXGroup.d.ts +82 -0
- package/dist/types/level/tiled/TMXLayer.d.ts +180 -0
- package/dist/types/level/tiled/TMXObject.d.ts +195 -0
- package/dist/types/level/tiled/TMXTile.d.ts +78 -0
- package/dist/types/level/tiled/TMXTileMap.d.ts +180 -0
- package/dist/types/level/tiled/TMXTileset.d.ts +94 -0
- package/dist/types/level/tiled/TMXTilesetGroup.d.ts +32 -0
- package/dist/types/level/tiled/TMXUtils.d.ts +47 -0
- package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +87 -0
- package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +55 -0
- package/dist/types/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +43 -0
- package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +75 -0
- package/dist/types/level/tiled/renderer/TMXStaggeredRenderer.d.ts +8 -0
- package/dist/types/loader/loader.d.ts +181 -0
- package/dist/types/loader/loadingscreen.d.ts +18 -0
- package/dist/types/math/color.d.ts +170 -0
- package/dist/types/math/math.d.ts +165 -0
- package/dist/types/math/matrix2.d.ts +209 -0
- package/dist/types/math/matrix3.d.ts +236 -0
- package/dist/types/math/observable_vector2.d.ts +278 -0
- package/dist/types/math/observable_vector3.d.ts +277 -0
- package/dist/types/math/vector2.d.ts +327 -0
- package/dist/types/math/vector3.d.ts +332 -0
- package/dist/types/particles/emitter.d.ts +188 -0
- package/dist/types/particles/particle.d.ts +32 -0
- package/dist/types/particles/settings.d.ts +32 -0
- package/dist/types/physics/body.d.ts +330 -0
- package/dist/types/physics/bounds.d.ts +250 -0
- package/dist/types/physics/collision.d.ts +44 -0
- package/dist/types/physics/detector.d.ts +64 -0
- package/dist/types/physics/quadtree.d.ts +79 -0
- package/dist/types/physics/response.d.ts +37 -0
- package/dist/types/physics/sat.d.ts +48 -0
- package/dist/types/physics/world.d.ts +83 -0
- package/dist/types/plugin/plugin.d.ts +10 -0
- package/dist/types/polyfill/console.d.ts +0 -0
- package/dist/types/polyfill/index.d.ts +1 -0
- package/dist/types/polyfill/performance.d.ts +0 -0
- package/dist/types/polyfill/requestAnimationFrame.d.ts +1 -0
- package/dist/types/polyfill/roundrect.d.ts +0 -0
- package/dist/types/renderable/collectable.d.ts +19 -0
- package/dist/types/renderable/colorlayer.d.ts +28 -0
- package/dist/types/renderable/container.d.ts +302 -0
- package/dist/types/renderable/dragndrop.d.ts +118 -0
- package/dist/types/renderable/imagelayer.d.ts +106 -0
- package/dist/types/renderable/light2d.d.ts +58 -0
- package/dist/types/renderable/nineslicesprite.d.ts +59 -0
- package/dist/types/renderable/renderable.d.ts +402 -0
- package/dist/types/renderable/sprite.d.ts +268 -0
- package/dist/types/renderable/trigger.d.ts +61 -0
- package/dist/types/renderable/ui/uibaseelement.d.ts +95 -0
- package/dist/types/renderable/ui/uispriteelement.d.ts +127 -0
- package/dist/types/renderable/ui/uitextbutton.d.ts +54 -0
- package/dist/types/state/stage.d.ts +116 -0
- package/dist/types/state/state.d.ts +170 -0
- package/dist/types/system/device.d.ts +579 -0
- package/dist/types/system/dom.d.ts +1 -0
- package/dist/types/system/event.d.ts +473 -0
- package/dist/types/system/platform.d.ts +31 -0
- package/dist/types/system/pooling.d.ts +101 -0
- package/dist/types/system/save.d.ts +25 -0
- package/dist/types/system/timer.d.ts +126 -0
- package/dist/types/text/bitmaptext.d.ts +151 -0
- package/dist/types/text/bitmaptextdata.d.ts +35 -0
- package/dist/types/text/glyph.d.ts +28 -0
- package/dist/types/text/text.d.ts +173 -0
- package/dist/types/text/textmetrics.d.ts +47 -0
- package/dist/types/text/textstyle.d.ts +5 -0
- package/dist/types/tweens/easing.d.ts +46 -0
- package/dist/types/tweens/interpolation.d.ts +18 -0
- package/dist/types/tweens/tween.d.ts +195 -0
- package/dist/types/utils/agent.d.ts +21 -0
- package/dist/types/utils/array.d.ts +39 -0
- package/dist/types/utils/file.d.ts +18 -0
- package/dist/types/utils/function.d.ts +32 -0
- package/dist/types/utils/string.d.ts +50 -0
- package/dist/types/utils/utils.d.ts +17 -0
- package/dist/types/video/canvas/canvas_renderer.d.ts +380 -0
- package/dist/types/video/renderer.d.ts +222 -0
- package/dist/types/video/texture/atlas.d.ts +201 -0
- package/dist/types/video/texture/cache.d.ts +45 -0
- package/dist/types/video/texture/canvas_texture.d.ts +78 -0
- package/dist/types/video/utils/autodetect.d.ts +7 -0
- package/dist/types/video/utils/resize.d.ts +4 -0
- package/dist/types/video/video.d.ts +92 -0
- package/dist/types/video/webgl/buffer/vertex.d.ts +56 -0
- package/dist/types/video/webgl/glshader.d.ts +93 -0
- package/dist/types/video/webgl/utils/attributes.d.ts +4 -0
- package/dist/types/video/webgl/utils/precision.d.ts +13 -0
- package/dist/types/video/webgl/utils/program.d.ts +5 -0
- package/dist/types/video/webgl/utils/string.d.ts +5 -0
- package/dist/types/video/webgl/utils/uniforms.d.ts +4 -0
- package/dist/types/video/webgl/webgl_compositor.d.ts +174 -0
- package/dist/types/video/webgl/webgl_renderer.d.ts +429 -0
- package/package.json +14 -14
- package/src/application/application.js +171 -20
- package/src/application/header.js +25 -0
- package/src/application/resize.js +110 -0
- package/src/application/settings.js +19 -0
- package/src/camera/camera2d.js +1 -1
- package/src/index.js +34 -23
- package/src/input/pointer.js +1 -1
- package/src/input/pointerevent.js +6 -7
- package/src/level/level.js +1 -1
- package/src/level/tiled/TMXLayer.js +1 -1
- package/src/level/tiled/TMXTileMap.js +2 -2
- package/src/loader/loadingscreen.js +1 -1
- package/src/physics/collision.js +2 -2
- package/src/physics/detector.js +172 -145
- package/src/physics/world.js +10 -30
- package/src/plugin/plugin.js +1 -1
- package/src/renderable/container.js +7 -91
- package/src/renderable/imagelayer.js +1 -1
- package/src/renderable/trigger.js +1 -1
- package/src/renderable/ui/uibaseelement.js +1 -1
- package/src/state/stage.js +1 -1
- package/src/state/state.js +1 -1
- package/src/system/device.js +7 -27
- package/src/system/dom.js +2 -1
- package/src/tweens/tween.js +1 -1
- package/src/utils/utils.js +3 -28
- package/src/video/canvas/canvas_renderer.js +3 -0
- package/src/video/renderer.js +27 -7
- package/src/video/texture/canvas_texture.js +20 -0
- package/src/video/utils/autodetect.js +18 -0
- package/src/video/video.js +17 -291
- package/src/video/webgl/glshader.js +3 -4
- package/src/video/webgl/utils/precision.js +18 -0
- package/src/video/webgl/webgl_renderer.js +3 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* Container represents a collection of child objects
|
|
4
|
+
* @augments Renderable
|
|
5
|
+
*/
|
|
6
|
+
export default class Container extends Renderable {
|
|
7
|
+
/**
|
|
8
|
+
* @param {number} [x=0] - position of the container (accessible via the inherited pos.x property)
|
|
9
|
+
* @param {number} [y=0] - position of the container (accessible via the inherited pos.y property)
|
|
10
|
+
* @param {number} [width=game.viewport.width] - width of the container
|
|
11
|
+
* @param {number} [height=game.viewport.height] - height of the container
|
|
12
|
+
*/
|
|
13
|
+
constructor(x?: number | undefined, y?: number | undefined, width?: number | undefined, height?: number | undefined, root?: boolean);
|
|
14
|
+
/**
|
|
15
|
+
* keep track of pending sort
|
|
16
|
+
* @ignore
|
|
17
|
+
*/
|
|
18
|
+
pendingSort: any;
|
|
19
|
+
/**
|
|
20
|
+
* whether the container is the root of the scene
|
|
21
|
+
* @type {boolean}
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
root: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The array of children of this container.
|
|
27
|
+
* @ignore
|
|
28
|
+
*/
|
|
29
|
+
children: any[] | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* The property of the child object that should be used to sort on <br>
|
|
32
|
+
* value : "x", "y", "z"
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @default me.game.sortOn
|
|
35
|
+
*/
|
|
36
|
+
sortOn: string;
|
|
37
|
+
/**
|
|
38
|
+
* Specify if the children list should be automatically sorted when adding a new child
|
|
39
|
+
* @type {boolean}
|
|
40
|
+
* @default true
|
|
41
|
+
*/
|
|
42
|
+
autoSort: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Specify if the children z index should automatically be managed by the parent container
|
|
45
|
+
* @type {boolean}
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
autoDepth: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Specify if the container draw operation should clip his children to its own bounds
|
|
51
|
+
* @type {boolean}
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
clipping: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* a callback to be extended, triggered after a child has been added or removed
|
|
57
|
+
* @param {number} index - added or removed child index
|
|
58
|
+
*/
|
|
59
|
+
onChildChange: (index: number) => void;
|
|
60
|
+
/**
|
|
61
|
+
* Specify if the container bounds should automatically take in account
|
|
62
|
+
* all child bounds when updated (this is expensive and disabled by default,
|
|
63
|
+
* only enable if necessary)
|
|
64
|
+
* @type {boolean}
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
enableChildBoundsUpdate: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* define a background color for this container
|
|
70
|
+
* @type {Color}
|
|
71
|
+
* @default (0, 0, 0, 0.0)
|
|
72
|
+
* @example
|
|
73
|
+
* // add a red background color to this container
|
|
74
|
+
* this.backgroundColor.setColor(255, 0, 0);
|
|
75
|
+
*/
|
|
76
|
+
backgroundColor: Color;
|
|
77
|
+
/**
|
|
78
|
+
* Used by the debug panel plugin
|
|
79
|
+
* @ignore
|
|
80
|
+
*/
|
|
81
|
+
drawCount: number;
|
|
82
|
+
/**
|
|
83
|
+
* reset the container, removing all childrens, and reseting transforms.
|
|
84
|
+
*/
|
|
85
|
+
reset(): void;
|
|
86
|
+
/**
|
|
87
|
+
* Add a child to the container <br>
|
|
88
|
+
* if auto-sort is disable, the object will be appended at the bottom of the list.
|
|
89
|
+
* Adding a child to the container will automatically remove it from its other container.
|
|
90
|
+
* Meaning a child can only have one parent. This is important if you add a renderable
|
|
91
|
+
* to a container then add it to the me.game.world container it will move it out of the
|
|
92
|
+
* orginal container. Then when the me.game.world.reset() is called the renderable
|
|
93
|
+
* will not be in any container. <br>
|
|
94
|
+
* if the given child implements a onActivateEvent method, that method will be called
|
|
95
|
+
* once the child is added to this container.
|
|
96
|
+
* @param {Renderable} child
|
|
97
|
+
* @param {number} [z] - forces the z index of the child to the specified value
|
|
98
|
+
* @returns {Renderable} the added child
|
|
99
|
+
*/
|
|
100
|
+
addChild(child: Renderable, z?: number | undefined): Renderable;
|
|
101
|
+
/**
|
|
102
|
+
* Add a child to the container at the specified index<br>
|
|
103
|
+
* (the list won't be sorted after insertion)
|
|
104
|
+
* @param {Renderable} child
|
|
105
|
+
* @param {number} index
|
|
106
|
+
* @returns {Renderable} the added child
|
|
107
|
+
*/
|
|
108
|
+
addChildAt(child: Renderable, index: number): Renderable;
|
|
109
|
+
/**
|
|
110
|
+
* The forEach() method executes a provided function once per child element. <br>
|
|
111
|
+
* the callback function is invoked with three arguments: <br>
|
|
112
|
+
* - The current element being processed in the array <br>
|
|
113
|
+
* - The index of element in the array. <br>
|
|
114
|
+
* - The array forEach() was called upon. <br>
|
|
115
|
+
* @param {Function} callback - fnction to execute on each element
|
|
116
|
+
* @param {object} [thisArg] - value to use as this(i.e reference Object) when executing callback.
|
|
117
|
+
* @example
|
|
118
|
+
* // iterate through all children of the root container
|
|
119
|
+
* me.game.world.forEach((child) => {
|
|
120
|
+
* // do something with the child
|
|
121
|
+
* child.doSomething();
|
|
122
|
+
* });
|
|
123
|
+
* me.game.world.forEach((child, index) => { ... });
|
|
124
|
+
* me.game.world.forEach((child, index, array) => { ... });
|
|
125
|
+
* me.game.world.forEach((child, index, array) => { ... }, thisArg);
|
|
126
|
+
*/
|
|
127
|
+
forEach(callback: Function, thisArg?: object | undefined, ...args: any[]): void;
|
|
128
|
+
/**
|
|
129
|
+
* Swaps the position (z-index) of 2 children
|
|
130
|
+
* @param {Renderable} child
|
|
131
|
+
* @param {Renderable} child2
|
|
132
|
+
*/
|
|
133
|
+
swapChildren(child: Renderable, child2: Renderable): void;
|
|
134
|
+
/**
|
|
135
|
+
* Returns the Child at the specified index
|
|
136
|
+
* @param {number} index
|
|
137
|
+
* @returns {Renderable} the child at the specified index
|
|
138
|
+
*/
|
|
139
|
+
getChildAt(index: number): Renderable;
|
|
140
|
+
/**
|
|
141
|
+
* Returns the index of the given Child
|
|
142
|
+
* @param {Renderable} child
|
|
143
|
+
* @returns {number} index
|
|
144
|
+
*/
|
|
145
|
+
getChildIndex(child: Renderable): number;
|
|
146
|
+
/**
|
|
147
|
+
* Returns the next child within the container or undefined if none
|
|
148
|
+
* @param {Renderable} child
|
|
149
|
+
* @returns {Renderable} child
|
|
150
|
+
*/
|
|
151
|
+
getNextChild(child: Renderable): Renderable;
|
|
152
|
+
/**
|
|
153
|
+
* Returns true if contains the specified Child
|
|
154
|
+
* @param {Renderable} child
|
|
155
|
+
* @returns {boolean}
|
|
156
|
+
*/
|
|
157
|
+
hasChild(child: Renderable): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* return the child corresponding to the given property and value.<br>
|
|
160
|
+
* note : avoid calling this function every frame since
|
|
161
|
+
* it parses the whole object tree each time
|
|
162
|
+
* @param {string} prop - Property name
|
|
163
|
+
* @param {string|RegExp|number|boolean} value - Value of the property
|
|
164
|
+
* @returns {Renderable[]} Array of childs
|
|
165
|
+
* @example
|
|
166
|
+
* // get the first child object called "mainPlayer" in a specific container :
|
|
167
|
+
* var ent = myContainer.getChildByProp("name", "mainPlayer");
|
|
168
|
+
*
|
|
169
|
+
* // or query the whole world :
|
|
170
|
+
* var ent = me.game.world.getChildByProp("name", "mainPlayer");
|
|
171
|
+
*
|
|
172
|
+
* // partial property matches are also allowed by using a RegExp.
|
|
173
|
+
* // the following matches "redCOIN", "bluecoin", "bagOfCoins", etc :
|
|
174
|
+
* var allCoins = me.game.world.getChildByProp("name", /coin/i);
|
|
175
|
+
*
|
|
176
|
+
* // searching for numbers or other data types :
|
|
177
|
+
* var zIndex10 = me.game.world.getChildByProp("z", 10);
|
|
178
|
+
* var inViewport = me.game.world.getChildByProp("inViewport", true);
|
|
179
|
+
*/
|
|
180
|
+
getChildByProp(prop: string, value: string | RegExp | number | boolean): Renderable[];
|
|
181
|
+
/**
|
|
182
|
+
* returns the list of childs with the specified class type
|
|
183
|
+
* @param {object} classType
|
|
184
|
+
* @returns {Renderable[]} Array of children
|
|
185
|
+
*/
|
|
186
|
+
getChildByType(classType: object): Renderable[];
|
|
187
|
+
/**
|
|
188
|
+
* returns the list of childs with the specified name<br>
|
|
189
|
+
* as defined in Tiled (Name field of the Object Properties)<br>
|
|
190
|
+
* note : avoid calling this function every frame since
|
|
191
|
+
* it parses the whole object list each time
|
|
192
|
+
* @param {string|RegExp|number|boolean} name - child name
|
|
193
|
+
* @returns {Renderable[]} Array of children
|
|
194
|
+
*/
|
|
195
|
+
getChildByName(name: string | RegExp | number | boolean): Renderable[];
|
|
196
|
+
/**
|
|
197
|
+
* return the child corresponding to the specified GUID<br>
|
|
198
|
+
* note : avoid calling this function every frame since
|
|
199
|
+
* it parses the whole object list each time
|
|
200
|
+
* @param {string|RegExp|number|boolean} guid - child GUID
|
|
201
|
+
* @returns {Renderable} corresponding child or null
|
|
202
|
+
*/
|
|
203
|
+
getChildByGUID(guid: string | RegExp | number | boolean): Renderable;
|
|
204
|
+
/**
|
|
205
|
+
* return all child in this container
|
|
206
|
+
* @returns {Renderable[]} an array of renderable object
|
|
207
|
+
*/
|
|
208
|
+
getChildren(): Renderable[];
|
|
209
|
+
/**
|
|
210
|
+
* update the bounding box for this shape.
|
|
211
|
+
* @ignore
|
|
212
|
+
* @returns {Bounds} this shape bounding box Rectangle object
|
|
213
|
+
*/
|
|
214
|
+
updateBounds(forceUpdateChildBounds?: boolean): Bounds;
|
|
215
|
+
/**
|
|
216
|
+
* Checks if this container is root or if it's attached to the root container.
|
|
217
|
+
* @private
|
|
218
|
+
* @returns {boolean}
|
|
219
|
+
*/
|
|
220
|
+
private isAttachedToRoot;
|
|
221
|
+
/**
|
|
222
|
+
* update the cointainer's bounding rect (private)
|
|
223
|
+
* @ignore
|
|
224
|
+
*/
|
|
225
|
+
updateBoundsPos(newX: any, newY: any): Bounds;
|
|
226
|
+
/**
|
|
227
|
+
* @ignore
|
|
228
|
+
*/
|
|
229
|
+
onActivateEvent(): void;
|
|
230
|
+
/**
|
|
231
|
+
* Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
|
|
232
|
+
* if the given child implements a onDeactivateEvent() method, that method will be called once the child is removed from this container.
|
|
233
|
+
* @param {Renderable} child
|
|
234
|
+
* @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
|
|
235
|
+
*/
|
|
236
|
+
removeChild(child: Renderable, keepalive?: boolean | undefined): void;
|
|
237
|
+
/**
|
|
238
|
+
* Removes (and optionally destroys) a child from the container.<br>
|
|
239
|
+
* (removal is immediate and unconditional)<br>
|
|
240
|
+
* Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
|
|
241
|
+
* @param {Renderable} child
|
|
242
|
+
* @param {boolean} [keepalive=False] - True to prevent calling child.destroy()
|
|
243
|
+
*/
|
|
244
|
+
removeChildNow(child: Renderable, keepalive?: boolean | undefined): void;
|
|
245
|
+
/**
|
|
246
|
+
* Automatically set the specified property of all childs to the given value
|
|
247
|
+
* @param {string} prop - property name
|
|
248
|
+
* @param {object} value - property value
|
|
249
|
+
* @param {boolean} [recursive=false] - recursively apply the value to child containers if true
|
|
250
|
+
*/
|
|
251
|
+
setChildsProperty(prop: string, value: object, recursive?: boolean | undefined): void;
|
|
252
|
+
/**
|
|
253
|
+
* Move the child in the group one step forward (z depth).
|
|
254
|
+
* @param {Renderable} child
|
|
255
|
+
*/
|
|
256
|
+
moveUp(child: Renderable): void;
|
|
257
|
+
/**
|
|
258
|
+
* Move the child in the group one step backward (z depth).
|
|
259
|
+
* @param {Renderable} child
|
|
260
|
+
*/
|
|
261
|
+
moveDown(child: Renderable): void;
|
|
262
|
+
/**
|
|
263
|
+
* Move the specified child to the top(z depth).
|
|
264
|
+
* @param {Renderable} child
|
|
265
|
+
*/
|
|
266
|
+
moveToTop(child: Renderable): void;
|
|
267
|
+
/**
|
|
268
|
+
* Move the specified child the bottom (z depth).
|
|
269
|
+
* @param {Renderable} child
|
|
270
|
+
*/
|
|
271
|
+
moveToBottom(child: Renderable): void;
|
|
272
|
+
/**
|
|
273
|
+
* Manually trigger the sort of all the childs in the container</p>
|
|
274
|
+
* @param {boolean} [recursive=false] - recursively sort all containers if true
|
|
275
|
+
*/
|
|
276
|
+
sort(recursive?: boolean | undefined): void;
|
|
277
|
+
/**
|
|
278
|
+
* @ignore
|
|
279
|
+
*/
|
|
280
|
+
onDeactivateEvent(): void;
|
|
281
|
+
/**
|
|
282
|
+
* Z Sorting function
|
|
283
|
+
* @ignore
|
|
284
|
+
*/
|
|
285
|
+
_sortZ(a: any, b: any): number;
|
|
286
|
+
/**
|
|
287
|
+
* Reverse Z Sorting function
|
|
288
|
+
* @ignore
|
|
289
|
+
*/
|
|
290
|
+
_sortReverseZ(a: any, b: any): number;
|
|
291
|
+
/**
|
|
292
|
+
* X Sorting function
|
|
293
|
+
* @ignore
|
|
294
|
+
*/
|
|
295
|
+
_sortX(a: any, b: any): number;
|
|
296
|
+
/**
|
|
297
|
+
* Y Sorting function
|
|
298
|
+
* @ignore
|
|
299
|
+
*/
|
|
300
|
+
_sortY(a: any, b: any): number;
|
|
301
|
+
}
|
|
302
|
+
import Renderable from "./renderable";
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* A Draggable base object
|
|
4
|
+
* @see DropTarget
|
|
5
|
+
* @augments Renderable
|
|
6
|
+
*/
|
|
7
|
+
export class Draggable extends Renderable {
|
|
8
|
+
dragging: boolean;
|
|
9
|
+
dragId: any;
|
|
10
|
+
grabOffset: Vector2d;
|
|
11
|
+
/**
|
|
12
|
+
* Initializes the events the modules needs to listen to
|
|
13
|
+
* It translates the pointer events to me.events
|
|
14
|
+
* in order to make them pass through the system and to make
|
|
15
|
+
* this module testable. Then we subscribe this module to the
|
|
16
|
+
* transformed events.
|
|
17
|
+
* @name initEvents
|
|
18
|
+
* @memberof Draggable
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
private initEvents;
|
|
22
|
+
/**
|
|
23
|
+
* Gets called when the user starts dragging the entity
|
|
24
|
+
* @name dragStart
|
|
25
|
+
* @memberof Draggable
|
|
26
|
+
* @param {object} e - the pointer event
|
|
27
|
+
* @returns {boolean} false if the object is being dragged
|
|
28
|
+
*/
|
|
29
|
+
dragStart(e: object): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Gets called when the user drags this entity around
|
|
32
|
+
* @name dragMove
|
|
33
|
+
* @memberof Draggable
|
|
34
|
+
* @param {object} e - the pointer event
|
|
35
|
+
*/
|
|
36
|
+
dragMove(e: object): void;
|
|
37
|
+
/**
|
|
38
|
+
* Gets called when the user stops dragging the entity
|
|
39
|
+
* @name dragEnd
|
|
40
|
+
* @memberof Draggable
|
|
41
|
+
* @returns {boolean} false if the object stopped being dragged
|
|
42
|
+
*/
|
|
43
|
+
dragEnd(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Destructor
|
|
46
|
+
* @name destroy
|
|
47
|
+
* @memberof Draggable
|
|
48
|
+
* @ignore
|
|
49
|
+
*/
|
|
50
|
+
destroy(): void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @classdesc
|
|
54
|
+
* a base drop target object
|
|
55
|
+
* @see Draggable
|
|
56
|
+
* @augments Renderable
|
|
57
|
+
*/
|
|
58
|
+
export class DropTarget extends Renderable {
|
|
59
|
+
/**
|
|
60
|
+
* constant for the overlaps method
|
|
61
|
+
* @public
|
|
62
|
+
* @constant
|
|
63
|
+
* @type {string}
|
|
64
|
+
* @name CHECKMETHOD_OVERLAP
|
|
65
|
+
* @memberof DropTarget
|
|
66
|
+
*/
|
|
67
|
+
public CHECKMETHOD_OVERLAP: string;
|
|
68
|
+
/**
|
|
69
|
+
* constant for the contains method
|
|
70
|
+
* @public
|
|
71
|
+
* @constant
|
|
72
|
+
* @type {string}
|
|
73
|
+
* @name CHECKMETHOD_CONTAINS
|
|
74
|
+
* @memberof DropTarget
|
|
75
|
+
*/
|
|
76
|
+
public CHECKMETHOD_CONTAINS: string;
|
|
77
|
+
/**
|
|
78
|
+
* the checkmethod we want to use
|
|
79
|
+
* @public
|
|
80
|
+
* @constant
|
|
81
|
+
* @type {string}
|
|
82
|
+
* @name checkMethod
|
|
83
|
+
* @default "overlaps"
|
|
84
|
+
* @memberof DropTarget
|
|
85
|
+
*/
|
|
86
|
+
public checkMethod: string;
|
|
87
|
+
/**
|
|
88
|
+
* Sets the collision method which is going to be used to check a valid drop
|
|
89
|
+
* @name setCheckMethod
|
|
90
|
+
* @memberof DropTarget
|
|
91
|
+
* @param {string} checkMethod - the checkmethod (defaults to CHECKMETHOD_OVERLAP)
|
|
92
|
+
*/
|
|
93
|
+
setCheckMethod(checkMethod: string): void;
|
|
94
|
+
/**
|
|
95
|
+
* Checks if a dropped entity is dropped on the current entity
|
|
96
|
+
* @name checkOnMe
|
|
97
|
+
* @memberof DropTarget
|
|
98
|
+
* @param {object} e - the triggering event
|
|
99
|
+
* @param {Draggable} draggable - the draggable object that is dropped
|
|
100
|
+
*/
|
|
101
|
+
checkOnMe(e: object, draggable: Draggable): void;
|
|
102
|
+
/**
|
|
103
|
+
* Gets called when a draggable entity is dropped on the current entity
|
|
104
|
+
* @name drop
|
|
105
|
+
* @memberof DropTarget
|
|
106
|
+
* @param {Draggable} draggable - the draggable object that is dropped
|
|
107
|
+
*/
|
|
108
|
+
drop(draggable: Draggable): void;
|
|
109
|
+
/**
|
|
110
|
+
* Destructor
|
|
111
|
+
* @name destroy
|
|
112
|
+
* @memberof DropTarget
|
|
113
|
+
* @ignore
|
|
114
|
+
*/
|
|
115
|
+
destroy(): void;
|
|
116
|
+
}
|
|
117
|
+
import Renderable from "./../renderable/renderable.js";
|
|
118
|
+
import Vector2d from "./../math/vector2.js";
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* a generic Image Layer Object
|
|
4
|
+
* @augments Renderable
|
|
5
|
+
*/
|
|
6
|
+
export default class ImageLayer {
|
|
7
|
+
/**
|
|
8
|
+
* @param {number} x - x coordinate
|
|
9
|
+
* @param {number} y - y coordinate
|
|
10
|
+
* @param {object} settings - ImageLayer properties
|
|
11
|
+
* @param {HTMLImageElement|HTMLCanvasElement|string} settings.image - Image reference. See {@link loader.getImage}
|
|
12
|
+
* @param {string} [settings.name="me.ImageLayer"] - layer name
|
|
13
|
+
* @param {number} [settings.z=0] - z-index position
|
|
14
|
+
* @param {number|Vector2d} [settings.ratio=1.0] - Scrolling ratio to be applied. See {@link ImageLayer#ratio}
|
|
15
|
+
* @param {string} [settings.repeat='repeat'] - define if and how an Image Layer should be repeated (accepted values are 'repeat', 'repeat-x', 'repeat-y', 'no-repeat'). See {@link ImageLayer#repeat}
|
|
16
|
+
* @param {number|Vector2d} [settings.anchorPoint=0.0] - Image origin. See {@link ImageLayer#anchorPoint}
|
|
17
|
+
* @example
|
|
18
|
+
* // create a repetitive background pattern on the X axis using the citycloud image asset
|
|
19
|
+
* me.game.world.addChild(new me.ImageLayer(0, 0, {
|
|
20
|
+
* image:"citycloud",
|
|
21
|
+
* repeat :"repeat-x"
|
|
22
|
+
* }), 1);
|
|
23
|
+
*/
|
|
24
|
+
constructor(x: number, y: number, settings: {
|
|
25
|
+
image: HTMLImageElement | HTMLCanvasElement | string;
|
|
26
|
+
name?: string | undefined;
|
|
27
|
+
z?: number | undefined;
|
|
28
|
+
ratio?: number | Vector2d;
|
|
29
|
+
repeat?: string | undefined;
|
|
30
|
+
anchorPoint?: number | Vector2d;
|
|
31
|
+
});
|
|
32
|
+
floating: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Define the image scrolling ratio<br>
|
|
35
|
+
* Scrolling speed is defined by multiplying the viewport delta position by the specified ratio.
|
|
36
|
+
* Setting this vector to <0.0,0.0> will disable automatic scrolling.<br>
|
|
37
|
+
* To specify a value through Tiled, use one of the following format : <br>
|
|
38
|
+
* - a number, to change the value for both axis <br>
|
|
39
|
+
* - a json expression like `json:{"x":0.5,"y":0.5}` if you wish to specify a different value for both x and y
|
|
40
|
+
* @public
|
|
41
|
+
* @type {Vector2d}
|
|
42
|
+
* @default <1.0,1.0>
|
|
43
|
+
* @name ImageLayer#ratio
|
|
44
|
+
*/
|
|
45
|
+
public ratio: Vector2d;
|
|
46
|
+
public set repeat(arg: string);
|
|
47
|
+
/**
|
|
48
|
+
* Define if and how an Image Layer should be repeated.<br>
|
|
49
|
+
* By default, an Image Layer is repeated both vertically and horizontally.<br>
|
|
50
|
+
* Acceptable values : <br>
|
|
51
|
+
* - 'repeat' - The background image will be repeated both vertically and horizontally <br>
|
|
52
|
+
* - 'repeat-x' - The background image will be repeated only horizontally.<br>
|
|
53
|
+
* - 'repeat-y' - The background image will be repeated only vertically.<br>
|
|
54
|
+
* - 'no-repeat' - The background-image will not be repeated.<br>
|
|
55
|
+
* @public
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @default 'repeat'
|
|
58
|
+
* @name ImageLayer#repeat
|
|
59
|
+
*/
|
|
60
|
+
public get repeat(): string;
|
|
61
|
+
_repeat: string | undefined;
|
|
62
|
+
repeatX: boolean | undefined;
|
|
63
|
+
repeatY: boolean | undefined;
|
|
64
|
+
onActivateEvent(): void;
|
|
65
|
+
/**
|
|
66
|
+
* resize the Image Layer to match the given size
|
|
67
|
+
* @name resize
|
|
68
|
+
* @memberof ImageLayer
|
|
69
|
+
* @param {number} w - new width
|
|
70
|
+
* @param {number} h - new height
|
|
71
|
+
*/
|
|
72
|
+
resize(w: number, h: number): any;
|
|
73
|
+
/**
|
|
74
|
+
* createPattern function
|
|
75
|
+
* @ignore
|
|
76
|
+
*/
|
|
77
|
+
createPattern(): void;
|
|
78
|
+
_pattern: any;
|
|
79
|
+
/**
|
|
80
|
+
* updateLayer function
|
|
81
|
+
* @ignore
|
|
82
|
+
*/
|
|
83
|
+
updateLayer(vpos: any): void;
|
|
84
|
+
isDirty: boolean | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* override the default predraw function
|
|
87
|
+
* as repeat and anchor are managed directly in the draw method
|
|
88
|
+
* @ignore
|
|
89
|
+
*/
|
|
90
|
+
preDraw(renderer: any): void;
|
|
91
|
+
/**
|
|
92
|
+
* draw this ImageLayer (automatically called by melonJS)
|
|
93
|
+
* @name draw
|
|
94
|
+
* @memberof ImageLayer
|
|
95
|
+
* @protected
|
|
96
|
+
* @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
|
|
97
|
+
* @param {Camera2d} [viewport] - the viewport to (re)draw
|
|
98
|
+
*/
|
|
99
|
+
protected draw(renderer: CanvasRenderer | WebGLRenderer, viewport?: any): void;
|
|
100
|
+
onDeactivateEvent(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Destroy function<br>
|
|
103
|
+
* @ignore
|
|
104
|
+
*/
|
|
105
|
+
destroy(): void;
|
|
106
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* A 2D point light.
|
|
4
|
+
* Note: this is a very experimental and work in progress feature, that provides a simple spot light effect.
|
|
5
|
+
* The light effect is best rendered in WebGL, as they are few limitations when using the Canvas Renderer
|
|
6
|
+
* (multiple lights are not supported, alpha component of the ambient light is ignored)
|
|
7
|
+
* @see stage.lights
|
|
8
|
+
*/
|
|
9
|
+
export default class Light2d extends Renderable {
|
|
10
|
+
/**
|
|
11
|
+
* @param {number} x - The horizontal position of the light.
|
|
12
|
+
* @param {number} y - The vertical position of the light.
|
|
13
|
+
* @param {number} radiusX - The horizontal radius of the light.
|
|
14
|
+
* @param {number} [radiusY=radiusX] - The vertical radius of the light.
|
|
15
|
+
* @param {Color|string} [color="#FFF"] - the color of the light
|
|
16
|
+
* @param {number} [intensity=0.7] - The intensity of the light.
|
|
17
|
+
*/
|
|
18
|
+
constructor(x: number, y: number, radiusX: number, radiusY?: number | undefined, color?: Color | string, intensity?: number | undefined);
|
|
19
|
+
/**
|
|
20
|
+
* the color of the light
|
|
21
|
+
* @type {Color}
|
|
22
|
+
* @default "#FFF"
|
|
23
|
+
*/
|
|
24
|
+
color: Color;
|
|
25
|
+
/**
|
|
26
|
+
* The horizontal radius of the light
|
|
27
|
+
* @type {number}
|
|
28
|
+
*/
|
|
29
|
+
radiusX: number;
|
|
30
|
+
/**
|
|
31
|
+
* The vertical radius of the light
|
|
32
|
+
* @type {number}
|
|
33
|
+
*/
|
|
34
|
+
radiusY: number;
|
|
35
|
+
/**
|
|
36
|
+
* The intensity of the light
|
|
37
|
+
* @type {number}
|
|
38
|
+
* @default 0.7
|
|
39
|
+
*/
|
|
40
|
+
intensity: number;
|
|
41
|
+
/** @ignore */
|
|
42
|
+
visibleArea: object;
|
|
43
|
+
/** @ignore */
|
|
44
|
+
texture: object;
|
|
45
|
+
/**
|
|
46
|
+
* returns a geometry representing the visible area of this light
|
|
47
|
+
* @name getVisibleArea
|
|
48
|
+
* @memberof Light2d
|
|
49
|
+
* @returns {Ellipse} the light visible mask
|
|
50
|
+
*/
|
|
51
|
+
getVisibleArea(): Ellipse;
|
|
52
|
+
/**
|
|
53
|
+
* Destroy function<br>
|
|
54
|
+
* @ignore
|
|
55
|
+
*/
|
|
56
|
+
destroy(): void;
|
|
57
|
+
}
|
|
58
|
+
import Renderable from "./renderable.js";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* A NineSliceSprite is similar to a Sprite, but it uses 9-slice scaling to strech its inner area to fit the size of the Renderable,
|
|
4
|
+
* by proportionally scaling a sprite by splitting it in a grid of nine parts (with only parts 1, 3, 7, 9 not being scaled). <br>
|
|
5
|
+
* <img src="images/9-slice-scaling.png"/><br>
|
|
6
|
+
* @see https://en.wikipedia.org/wiki/9-slice_scaling
|
|
7
|
+
* @augments Sprite
|
|
8
|
+
*/
|
|
9
|
+
export default class NineSliceSprite extends Sprite {
|
|
10
|
+
/**
|
|
11
|
+
* @param {number} x - the x coordinates of the sprite object
|
|
12
|
+
* @param {number} y - the y coordinates of the sprite object
|
|
13
|
+
* @param {object} settings - Configuration parameters for the Sprite object
|
|
14
|
+
* @param {number} settings.width - the width of the Renderable over which the sprite needs to be stretched
|
|
15
|
+
* @param {number} settings.height - the height of the Renderable over which the sprite needs to be stretched
|
|
16
|
+
* @param {number} [settings.insetx] - the width of a corner over which the sprite is unscaled (default is a quarter of the sprite width)
|
|
17
|
+
* @param {number} [settings.insety] - the height of a corner over which the sprite is unscaled (default is a quarter of the sprite height)
|
|
18
|
+
* @param {HTMLImageElement|HTMLCanvasElement|TextureAtlas|string} settings.image - reference to spritesheet image, a texture atlas or to a texture atlas
|
|
19
|
+
* @param {string} [settings.name=""] - name of this object
|
|
20
|
+
* @param {string} [settings.region] - region name of a specific region to use when using a texture atlas, see {@link TextureAtlas}
|
|
21
|
+
* @param {number} [settings.framewidth] - Width of a single frame within the spritesheet
|
|
22
|
+
* @param {number} [settings.frameheight] - Height of a single frame within the spritesheet
|
|
23
|
+
* @param {string|Color} [settings.tint] - a tint to be applied to this sprite
|
|
24
|
+
* @param {number} [settings.flipX] - flip the sprite on the horizontal axis
|
|
25
|
+
* @param {number} [settings.flipY] - flip the sprite on the vertical axis
|
|
26
|
+
* @param {Vector2d} [settings.anchorPoint={x:0.5, y:0.5}] - Anchor point to draw the frame at (defaults to the center of the frame).
|
|
27
|
+
* @example
|
|
28
|
+
* this.panelSprite = new me.NineSliceSprite(0, 0, {
|
|
29
|
+
* image : game.texture,
|
|
30
|
+
* region : "grey_panel",
|
|
31
|
+
* width : this.width,
|
|
32
|
+
* height : this.height
|
|
33
|
+
* });
|
|
34
|
+
*/
|
|
35
|
+
constructor(x: number, y: number, settings: {
|
|
36
|
+
width: number;
|
|
37
|
+
height: number;
|
|
38
|
+
insetx?: number | undefined;
|
|
39
|
+
insety?: number | undefined;
|
|
40
|
+
image: HTMLImageElement | HTMLCanvasElement | TextureAtlas | string;
|
|
41
|
+
name?: string | undefined;
|
|
42
|
+
region?: string | undefined;
|
|
43
|
+
framewidth?: number | undefined;
|
|
44
|
+
frameheight?: number | undefined;
|
|
45
|
+
tint?: string | Color;
|
|
46
|
+
flipX?: number | undefined;
|
|
47
|
+
flipY?: number | undefined;
|
|
48
|
+
anchorPoint?: any;
|
|
49
|
+
});
|
|
50
|
+
nss_width: number;
|
|
51
|
+
nss_height: number;
|
|
52
|
+
insetx: number | undefined;
|
|
53
|
+
insety: number | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* @ignore
|
|
56
|
+
*/
|
|
57
|
+
draw(renderer: any): void;
|
|
58
|
+
}
|
|
59
|
+
import Sprite from "./sprite.js";
|