melonjs 15.13.0 → 15.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/application/application.js +1 -1
- package/dist/melonjs.mjs/application/header.js +1 -1
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.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 +1 -1
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +1 -1
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +2 -2
- 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 +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +1 -1
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +1 -1
- package/dist/melonjs.mjs/level/level.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
- 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 +1 -1
- 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/constants.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/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +55 -3
- package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/binary.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/fontface.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/image.js +6 -1
- package/dist/melonjs.mjs/loader/parsers/json.js +6 -1
- package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/tmx.js +6 -1
- package/dist/melonjs.mjs/loader/settings.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/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +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 +1 -1
- package/dist/melonjs.mjs/physics/detector.js +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- 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 +1 -1
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/entity/entity.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +12 -11
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +19 -1
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +3 -3
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/renderable/text/glyph.js +1 -1
- package/dist/melonjs.mjs/renderable/text/text.js +1 -1
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/renderable/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/state/state.js +1 -1
- package/dist/melonjs.mjs/system/device.js +1 -1
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +14 -2
- 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/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
- package/dist/melonjs.mjs/video/renderer.js +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +1 -1
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
- package/dist/melonjs.module.js +120 -18
- package/dist/types/loader/loader.d.ts +28 -0
- package/dist/types/renderable/imagelayer.d.ts +1 -1
- package/dist/types/renderable/renderable.d.ts +6 -0
- package/dist/types/system/event.d.ts +11 -0
- package/package.json +15 -15
- package/src/loader/loader.js +52 -0
- package/src/loader/parsers/image.js +5 -0
- package/src/loader/parsers/json.js +5 -0
- package/src/loader/parsers/tmx.js +5 -0
- package/src/renderable/imagelayer.js +10 -9
- package/src/renderable/renderable.js +18 -0
- package/src/renderable/text/bitmaptext.js +2 -2
- package/src/system/event.js +12 -0
package/dist/melonjs.module.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.15.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
|
|
@@ -61,8 +61,9 @@ var global$e =
|
|
|
61
61
|
// eslint-disable-next-line no-restricted-globals -- safe
|
|
62
62
|
check(typeof self == 'object' && self) ||
|
|
63
63
|
check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
|
|
64
|
+
check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
|
|
64
65
|
// eslint-disable-next-line no-new-func -- fallback
|
|
65
|
-
(function () { return this; })() ||
|
|
66
|
+
(function () { return this; })() || Function('return this')();
|
|
66
67
|
|
|
67
68
|
var global$f = /*@__PURE__*/getDefaultExportFromCjs(global$e);
|
|
68
69
|
|
|
@@ -473,10 +474,10 @@ var store$2 = sharedStore;
|
|
|
473
474
|
(shared$5.exports = function (key, value) {
|
|
474
475
|
return store$2[key] || (store$2[key] = value !== undefined ? value : {});
|
|
475
476
|
})('versions', []).push({
|
|
476
|
-
version: '3.33.
|
|
477
|
+
version: '3.33.3',
|
|
477
478
|
mode: IS_PURE ? 'pure' : 'global',
|
|
478
479
|
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
|
|
479
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.33.
|
|
480
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.33.3/LICENSE',
|
|
480
481
|
source: 'https://github.com/zloirock/core-js'
|
|
481
482
|
});
|
|
482
483
|
|
|
@@ -9407,6 +9408,18 @@ const LOADER_COMPLETE = "me.loader.onload";
|
|
|
9407
9408
|
*/
|
|
9408
9409
|
const LOADER_PROGRESS = "me.loader.onProgress";
|
|
9409
9410
|
|
|
9411
|
+
/**
|
|
9412
|
+
* Event for when an error occur during preloading <br>
|
|
9413
|
+
* Data passed : {Resource} resource object<br>
|
|
9414
|
+
* @public
|
|
9415
|
+
* @constant
|
|
9416
|
+
* @type {string}
|
|
9417
|
+
* @name LOADER_ERROR
|
|
9418
|
+
* @memberof event
|
|
9419
|
+
* @see event.on
|
|
9420
|
+
*/
|
|
9421
|
+
const LOADER_ERROR = "me.loader.onError";
|
|
9422
|
+
|
|
9410
9423
|
/**
|
|
9411
9424
|
* Event for pressing a binded key <br>
|
|
9412
9425
|
* Data passed : {string} user-defined action, {number} keyCode,
|
|
@@ -9735,6 +9748,7 @@ var event = {
|
|
|
9735
9748
|
KEYUP: KEYUP,
|
|
9736
9749
|
LEVEL_LOADED: LEVEL_LOADED,
|
|
9737
9750
|
LOADER_COMPLETE: LOADER_COMPLETE,
|
|
9751
|
+
LOADER_ERROR: LOADER_ERROR,
|
|
9738
9752
|
LOADER_PROGRESS: LOADER_PROGRESS,
|
|
9739
9753
|
ONCONTEXT_LOST: ONCONTEXT_LOST,
|
|
9740
9754
|
ONCONTEXT_RESTORED: ONCONTEXT_RESTORED,
|
|
@@ -17609,6 +17623,9 @@ class Renderable extends Rect {
|
|
|
17609
17623
|
// viewport flag
|
|
17610
17624
|
this._inViewport = false;
|
|
17611
17625
|
|
|
17626
|
+
// cache value for the parentApp
|
|
17627
|
+
this._parentApp = undefined;
|
|
17628
|
+
|
|
17612
17629
|
// renderable cache tint value used by the getter/setter
|
|
17613
17630
|
this._tint = pool.pull("Color", 255, 255, 255, 1.0);
|
|
17614
17631
|
|
|
@@ -17616,6 +17633,20 @@ class Renderable extends Rect {
|
|
|
17616
17633
|
this.setOpacity(1.0);
|
|
17617
17634
|
}
|
|
17618
17635
|
|
|
17636
|
+
/**
|
|
17637
|
+
* returns the parent application (or game) to which this renderable is attached to
|
|
17638
|
+
* @return {Application} the parent application or undefined if not attached to any container/app
|
|
17639
|
+
*/
|
|
17640
|
+
get parentApp() {
|
|
17641
|
+
if (typeof this._parentApp === "undefined") {
|
|
17642
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getRootAncestor === "function") {
|
|
17643
|
+
// the `app` property is only defined in the world "root" container
|
|
17644
|
+
this._parentApp = this.ancestor.getRootAncestor().app;
|
|
17645
|
+
}
|
|
17646
|
+
}
|
|
17647
|
+
return this._parentApp;
|
|
17648
|
+
}
|
|
17649
|
+
|
|
17619
17650
|
/**
|
|
17620
17651
|
* Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
|
|
17621
17652
|
* @see Renderable#floating
|
|
@@ -18141,6 +18172,7 @@ class Renderable extends Rect {
|
|
|
18141
18172
|
}
|
|
18142
18173
|
|
|
18143
18174
|
this.ancestor = undefined;
|
|
18175
|
+
this._parentApp = undefined;
|
|
18144
18176
|
|
|
18145
18177
|
// destroy the physic body if defined and is a builtin body object
|
|
18146
18178
|
if ((typeof this.body !== "undefined") && (typeof this.body.destroy === "function")) {
|
|
@@ -19188,6 +19220,11 @@ let jsonList = {};
|
|
|
19188
19220
|
* ]);
|
|
19189
19221
|
*/
|
|
19190
19222
|
function preloadImage(img, onload, onerror) {
|
|
19223
|
+
if (typeof imgList[img.name] !== "undefined") {
|
|
19224
|
+
// already loaded
|
|
19225
|
+
return 0;
|
|
19226
|
+
}
|
|
19227
|
+
|
|
19191
19228
|
// create new Image object and add to list
|
|
19192
19229
|
imgList[img.name] = new Image();
|
|
19193
19230
|
if (typeof onload === "function") {
|
|
@@ -26527,6 +26564,11 @@ let level = {
|
|
|
26527
26564
|
* @ignore
|
|
26528
26565
|
*/
|
|
26529
26566
|
function preloadTMX(tmxData, onload, onerror) {
|
|
26567
|
+
if (typeof tmxList[tmxData.name] !== "undefined") {
|
|
26568
|
+
// already loaded
|
|
26569
|
+
return 0;
|
|
26570
|
+
}
|
|
26571
|
+
|
|
26530
26572
|
/**
|
|
26531
26573
|
* @ignore
|
|
26532
26574
|
*/
|
|
@@ -26642,6 +26684,11 @@ function preloadTMX(tmxData, onload, onerror) {
|
|
|
26642
26684
|
* @ignore
|
|
26643
26685
|
*/
|
|
26644
26686
|
function preloadJSON(data, onload, onerror) {
|
|
26687
|
+
if (typeof jsonList[data.name] !== "undefined") {
|
|
26688
|
+
// already loaded
|
|
26689
|
+
return 0;
|
|
26690
|
+
}
|
|
26691
|
+
|
|
26645
26692
|
let xmlhttp = new XMLHttpRequest();
|
|
26646
26693
|
|
|
26647
26694
|
if (xmlhttp.overrideMimeType) {
|
|
@@ -26810,6 +26857,18 @@ let onload;
|
|
|
26810
26857
|
*/
|
|
26811
26858
|
let onProgress;
|
|
26812
26859
|
|
|
26860
|
+
/**
|
|
26861
|
+
* onError callback<br>
|
|
26862
|
+
* each time a resource loading is failed, the loader will fire the specified function giving the actual asset as argument.
|
|
26863
|
+
* @default undefined
|
|
26864
|
+
* @memberof loader
|
|
26865
|
+
* @type {function}
|
|
26866
|
+
* @example
|
|
26867
|
+
* // set a callback for error notification
|
|
26868
|
+
* me.loader.onError = this.loaderError.bind(this);
|
|
26869
|
+
*/
|
|
26870
|
+
let onError;
|
|
26871
|
+
|
|
26813
26872
|
/**
|
|
26814
26873
|
* list of parser function for supported format type
|
|
26815
26874
|
*/
|
|
@@ -26825,6 +26884,10 @@ let resourceCount = 0;
|
|
|
26825
26884
|
let loadCount = 0;
|
|
26826
26885
|
let timerId = 0;
|
|
26827
26886
|
|
|
26887
|
+
/**
|
|
26888
|
+
* Assets uploaded with an error
|
|
26889
|
+
*/
|
|
26890
|
+
const failureLoadedAssets = {};
|
|
26828
26891
|
|
|
26829
26892
|
/**
|
|
26830
26893
|
* init all supported parsers
|
|
@@ -26876,6 +26939,7 @@ function checkLoadStatus(onloadcb) {
|
|
|
26876
26939
|
* @ignore
|
|
26877
26940
|
*/
|
|
26878
26941
|
function onResourceLoaded(res) {
|
|
26942
|
+
delete failureLoadedAssets[res.src];
|
|
26879
26943
|
// increment the loading counter
|
|
26880
26944
|
loadCount++;
|
|
26881
26945
|
|
|
@@ -26892,9 +26956,15 @@ function onResourceLoaded(res) {
|
|
|
26892
26956
|
|
|
26893
26957
|
/**
|
|
26894
26958
|
* on error callback for image loading
|
|
26959
|
+
* @param {loader.Asset} asset - asset that loaded with failure
|
|
26895
26960
|
* @ignore
|
|
26896
26961
|
*/
|
|
26897
26962
|
function onLoadingError(res) {
|
|
26963
|
+
failureLoadedAssets[res.src] = res;
|
|
26964
|
+
if (this.onError) {
|
|
26965
|
+
this.onError(res);
|
|
26966
|
+
}
|
|
26967
|
+
emit(LOADER_ERROR, res);
|
|
26898
26968
|
throw new Error("Failed loading resource " + res.src);
|
|
26899
26969
|
}
|
|
26900
26970
|
|
|
@@ -27032,6 +27102,35 @@ function preload(assets, onloadcb, switchToLoadState = true) {
|
|
|
27032
27102
|
checkLoadStatus(onload);
|
|
27033
27103
|
}
|
|
27034
27104
|
|
|
27105
|
+
/**
|
|
27106
|
+
* retry loading assets after a loading failure
|
|
27107
|
+
* @memberof loader
|
|
27108
|
+
* @param {string} src - src of asset to reload
|
|
27109
|
+
* @example
|
|
27110
|
+
* event.on(
|
|
27111
|
+
* event.LOADER_ERROR,
|
|
27112
|
+
* (res) => {
|
|
27113
|
+
* // custom function
|
|
27114
|
+
* showErrorNotification({
|
|
27115
|
+
* text: `Error during loading content: ${res.name}`,
|
|
27116
|
+
* done: loader.reload(res.src);
|
|
27117
|
+
* })
|
|
27118
|
+
* }
|
|
27119
|
+
* );
|
|
27120
|
+
**/
|
|
27121
|
+
function reload(src) {
|
|
27122
|
+
const assetToReload = failureLoadedAssets[src];
|
|
27123
|
+
this.unload(assetToReload);
|
|
27124
|
+
resourceCount -= 1;
|
|
27125
|
+
resourceCount += this.load(
|
|
27126
|
+
assetToReload,
|
|
27127
|
+
this.onResourceLoaded.bind(this, assetToReload),
|
|
27128
|
+
this.onLoadingError.bind(this, assetToReload)
|
|
27129
|
+
);
|
|
27130
|
+
// check load status
|
|
27131
|
+
checkLoadStatus(this.onload);
|
|
27132
|
+
}
|
|
27133
|
+
|
|
27035
27134
|
/**
|
|
27036
27135
|
* Load a single asset (to be used if you need to load additional asset(s) during the game)
|
|
27037
27136
|
* @memberof loader
|
|
@@ -27255,9 +27354,11 @@ var loader = {
|
|
|
27255
27354
|
getTMX: getTMX,
|
|
27256
27355
|
load: load,
|
|
27257
27356
|
get nocache () { return nocache; },
|
|
27357
|
+
onError: onError,
|
|
27258
27358
|
onProgress: onProgress,
|
|
27259
27359
|
get onload () { return onload; },
|
|
27260
27360
|
preload: preload,
|
|
27361
|
+
reload: reload,
|
|
27261
27362
|
setBaseURL: setBaseURL,
|
|
27262
27363
|
setNocache: setNocache,
|
|
27263
27364
|
setParser: setParser,
|
|
@@ -32984,14 +33085,12 @@ class ImageLayer extends Sprite {
|
|
|
32984
33085
|
on(VIEWPORT_ONCHANGE, this.updateLayer, this);
|
|
32985
33086
|
on(VIEWPORT_ONRESIZE, this.resize, this);
|
|
32986
33087
|
// force a first refresh when the level is loaded
|
|
32987
|
-
|
|
32988
|
-
this.updateLayer(game.viewport.pos);
|
|
32989
|
-
});
|
|
33088
|
+
on(LEVEL_LOADED, this.updateLayer, this);
|
|
32990
33089
|
// in case the level is not added to the root container,
|
|
32991
33090
|
// the onActivateEvent call happens after the LEVEL_LOADED event
|
|
32992
33091
|
// so we need to force a first update
|
|
32993
33092
|
if (this.ancestor.root !== true) {
|
|
32994
|
-
this.updateLayer(
|
|
33093
|
+
this.updateLayer();
|
|
32995
33094
|
}
|
|
32996
33095
|
}
|
|
32997
33096
|
|
|
@@ -33019,10 +33118,12 @@ class ImageLayer extends Sprite {
|
|
|
33019
33118
|
* updateLayer function
|
|
33020
33119
|
* @ignore
|
|
33021
33120
|
*/
|
|
33022
|
-
updateLayer(
|
|
33121
|
+
updateLayer() {
|
|
33023
33122
|
const rx = this.ratio.x,
|
|
33024
33123
|
ry = this.ratio.y;
|
|
33025
33124
|
|
|
33125
|
+
const viewport = game.viewport;
|
|
33126
|
+
|
|
33026
33127
|
if (rx === 0 && ry === 0) {
|
|
33027
33128
|
// static image
|
|
33028
33129
|
return;
|
|
@@ -33030,8 +33131,8 @@ class ImageLayer extends Sprite {
|
|
|
33030
33131
|
|
|
33031
33132
|
const width = this.width,
|
|
33032
33133
|
height = this.height,
|
|
33033
|
-
bw =
|
|
33034
|
-
bh =
|
|
33134
|
+
bw = viewport.bounds.width,
|
|
33135
|
+
bh = viewport.bounds.height,
|
|
33035
33136
|
ax = this.anchorPoint.x,
|
|
33036
33137
|
ay = this.anchorPoint.y,
|
|
33037
33138
|
|
|
@@ -33041,8 +33142,8 @@ class ImageLayer extends Sprite {
|
|
|
33041
33142
|
* See https://github.com/melonjs/melonJS/issues/741#issuecomment-138431532
|
|
33042
33143
|
* for a thorough description of how this works.
|
|
33043
33144
|
*/
|
|
33044
|
-
x = ax * (rx - 1) * (bw -
|
|
33045
|
-
y = ay * (ry - 1) * (bh -
|
|
33145
|
+
x = ax * (rx - 1) * (bw - viewport.width) + this.offset.x - rx * viewport.pos.x,
|
|
33146
|
+
y = ay * (ry - 1) * (bh - viewport.height) + this.offset.y - ry * viewport.pos.y;
|
|
33046
33147
|
|
|
33047
33148
|
|
|
33048
33149
|
// Repeat horizontally; start drawing from left boundary
|
|
@@ -33123,6 +33224,7 @@ class ImageLayer extends Sprite {
|
|
|
33123
33224
|
// cancel all event subscriptions
|
|
33124
33225
|
off(VIEWPORT_ONCHANGE, this.updateLayer);
|
|
33125
33226
|
off(VIEWPORT_ONRESIZE, this.resize);
|
|
33227
|
+
off(LEVEL_LOADED, this.updateLayer);
|
|
33126
33228
|
}
|
|
33127
33229
|
|
|
33128
33230
|
/**
|
|
@@ -34432,7 +34534,7 @@ class BitmapText extends Renderable {
|
|
|
34432
34534
|
break;
|
|
34433
34535
|
|
|
34434
34536
|
default :
|
|
34435
|
-
ax = this.metrics.width * 0.0;
|
|
34537
|
+
ax = 0; //this.metrics.width * 0.0;
|
|
34436
34538
|
break;
|
|
34437
34539
|
}
|
|
34438
34540
|
|
|
@@ -34449,7 +34551,7 @@ class BitmapText extends Renderable {
|
|
|
34449
34551
|
break;
|
|
34450
34552
|
|
|
34451
34553
|
default :
|
|
34452
|
-
ay = this.metrics.height * 0.0;
|
|
34554
|
+
ay = 0; //this.metrics.height * 0.0;
|
|
34453
34555
|
break;
|
|
34454
34556
|
}
|
|
34455
34557
|
|
|
@@ -38354,9 +38456,9 @@ class BasePlugin {
|
|
|
38354
38456
|
* define the minimum required version of melonJS<br>
|
|
38355
38457
|
* this can be overridden by the plugin
|
|
38356
38458
|
* @type {string}
|
|
38357
|
-
* @default "15.
|
|
38459
|
+
* @default "15.15.0"
|
|
38358
38460
|
*/
|
|
38359
|
-
this.version = "15.
|
|
38461
|
+
this.version = "15.15.0";
|
|
38360
38462
|
|
|
38361
38463
|
/**
|
|
38362
38464
|
* a reference to the app/game that registered this plugin
|
|
@@ -38638,7 +38740,7 @@ Renderer.prototype.getHeight = function() {
|
|
|
38638
38740
|
* @name version
|
|
38639
38741
|
* @type {string}
|
|
38640
38742
|
*/
|
|
38641
|
-
const version = "15.
|
|
38743
|
+
const version = "15.15.0";
|
|
38642
38744
|
|
|
38643
38745
|
/**
|
|
38644
38746
|
* a flag indicating that melonJS is fully initialized
|
|
@@ -98,6 +98,23 @@ export function setParser(type: string, parserFn: Function): void;
|
|
|
98
98
|
* me.loader.preload(game.assets, () => this.loaded());
|
|
99
99
|
*/
|
|
100
100
|
export function preload(assets: loader.Asset[], onloadcb?: Function | undefined, switchToLoadState?: boolean | undefined): void;
|
|
101
|
+
/**
|
|
102
|
+
* retry loading assets after a loading failure
|
|
103
|
+
* @memberof loader
|
|
104
|
+
* @param {string} src - src of asset to reload
|
|
105
|
+
* @example
|
|
106
|
+
* event.on(
|
|
107
|
+
* event.LOADER_ERROR,
|
|
108
|
+
* (res) => {
|
|
109
|
+
* // custom function
|
|
110
|
+
* showErrorNotification({
|
|
111
|
+
* text: `Error during loading content: ${res.name}`,
|
|
112
|
+
* done: loader.reload(res.src);
|
|
113
|
+
* })
|
|
114
|
+
* }
|
|
115
|
+
* );
|
|
116
|
+
**/
|
|
117
|
+
export function reload(src: string): void;
|
|
101
118
|
/**
|
|
102
119
|
* Load a single asset (to be used if you need to load additional asset(s) during the game)
|
|
103
120
|
* @memberof loader
|
|
@@ -185,6 +202,17 @@ export let onload: Function;
|
|
|
185
202
|
* me.loader.onProgress = this.updateProgress.bind(this);
|
|
186
203
|
*/
|
|
187
204
|
export let onProgress: Function;
|
|
205
|
+
/**
|
|
206
|
+
* onError callback<br>
|
|
207
|
+
* each time a resource loading is failed, the loader will fire the specified function giving the actual asset as argument.
|
|
208
|
+
* @default undefined
|
|
209
|
+
* @memberof loader
|
|
210
|
+
* @type {function}
|
|
211
|
+
* @example
|
|
212
|
+
* // set a callback for error notification
|
|
213
|
+
* me.loader.onError = this.loaderError.bind(this);
|
|
214
|
+
*/
|
|
215
|
+
export let onError: Function;
|
|
188
216
|
export namespace loader {
|
|
189
217
|
/**
|
|
190
218
|
* an asset definition to be used with the loader
|
|
@@ -67,7 +67,7 @@ export default class ImageLayer extends Sprite {
|
|
|
67
67
|
* updateLayer function
|
|
68
68
|
* @ignore
|
|
69
69
|
*/
|
|
70
|
-
updateLayer(
|
|
70
|
+
updateLayer(): void;
|
|
71
71
|
/**
|
|
72
72
|
* override the default predraw function
|
|
73
73
|
* as repeat and anchor are managed directly in the draw method
|
|
@@ -199,7 +199,13 @@ export default class Renderable extends Rect {
|
|
|
199
199
|
y: boolean;
|
|
200
200
|
};
|
|
201
201
|
_inViewport: boolean;
|
|
202
|
+
_parentApp: any;
|
|
202
203
|
_tint: object;
|
|
204
|
+
/**
|
|
205
|
+
* returns the parent application (or game) to which this renderable is attached to
|
|
206
|
+
* @return {Application} the parent application or undefined if not attached to any container/app
|
|
207
|
+
*/
|
|
208
|
+
get parentApp(): Application;
|
|
203
209
|
/**
|
|
204
210
|
* Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
|
|
205
211
|
* @see Renderable#floating
|
|
@@ -290,6 +290,17 @@ export const LOADER_COMPLETE: string;
|
|
|
290
290
|
* @see event.on
|
|
291
291
|
*/
|
|
292
292
|
export const LOADER_PROGRESS: string;
|
|
293
|
+
/**
|
|
294
|
+
* Event for when an error occur during preloading <br>
|
|
295
|
+
* Data passed : {Resource} resource object<br>
|
|
296
|
+
* @public
|
|
297
|
+
* @constant
|
|
298
|
+
* @type {string}
|
|
299
|
+
* @name LOADER_ERROR
|
|
300
|
+
* @memberof event
|
|
301
|
+
* @see event.on
|
|
302
|
+
*/
|
|
303
|
+
export const LOADER_ERROR: string;
|
|
293
304
|
/**
|
|
294
305
|
* Event for pressing a binded key <br>
|
|
295
306
|
* Data passed : {string} user-defined action, {number} keyCode,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "melonjs",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.15.0",
|
|
4
4
|
"description": "melonJS Game Engine",
|
|
5
5
|
"homepage": "http://www.melonjs.org/",
|
|
6
6
|
"type": "module",
|
|
@@ -53,36 +53,36 @@
|
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@teppeis/multimaps": "^3.0.0",
|
|
56
|
-
"core-js": "^3.33.
|
|
56
|
+
"core-js": "^3.33.3",
|
|
57
57
|
"earcut": "2.2.4",
|
|
58
58
|
"eventemitter3": "^5.0.1",
|
|
59
59
|
"howler": "2.2.4"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@babel/eslint-parser": "^7.
|
|
63
|
-
"@babel/plugin-syntax-import-assertions": "^7.
|
|
64
|
-
"@fastify/static": "^6.
|
|
62
|
+
"@babel/eslint-parser": "^7.23.3",
|
|
63
|
+
"@babel/plugin-syntax-import-assertions": "^7.23.3",
|
|
64
|
+
"@fastify/static": "^6.12.0",
|
|
65
65
|
"@melonjs/webdoc-theme": "^1.1.1",
|
|
66
|
-
"@rollup/plugin-commonjs": "^25.0.
|
|
66
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
67
67
|
"@rollup/plugin-image": "^3.0.3",
|
|
68
|
-
"@rollup/plugin-node-resolve": "^15.2.
|
|
69
|
-
"@rollup/plugin-replace": "^5.0.
|
|
68
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
69
|
+
"@rollup/plugin-replace": "^5.0.5",
|
|
70
70
|
"@webdoc/cli": "^2.2.0",
|
|
71
|
-
"chromedriver": "^
|
|
71
|
+
"chromedriver": "^119.0.1",
|
|
72
72
|
"cross-env": "^7.0.3",
|
|
73
73
|
"del-cli": "^5.1.0",
|
|
74
|
-
"eslint": "^8.
|
|
75
|
-
"eslint-plugin-jsdoc": "^46.
|
|
74
|
+
"eslint": "^8.54.0",
|
|
75
|
+
"eslint-plugin-jsdoc": "^46.9.0",
|
|
76
76
|
"expect": "^29.7.0",
|
|
77
77
|
"expect-mocha-image-snapshot": "^3.0.15",
|
|
78
|
-
"fastify": "^4.
|
|
78
|
+
"fastify": "^4.24.3",
|
|
79
79
|
"mocha": "^10.2.0",
|
|
80
80
|
"npm-self-link": "^1.1.7",
|
|
81
|
-
"puppeteer": "^21.
|
|
82
|
-
"rollup": "^
|
|
81
|
+
"puppeteer": "^21.5.2",
|
|
82
|
+
"rollup": "^4.5.0",
|
|
83
83
|
"rollup-plugin-bundle-size": "^1.0.3",
|
|
84
84
|
"rollup-plugin-string": "^3.0.0",
|
|
85
|
-
"terser": "^5.
|
|
85
|
+
"terser": "^5.24.0",
|
|
86
86
|
"typescript": "^5.2.2"
|
|
87
87
|
},
|
|
88
88
|
"scripts": {
|