melonjs 15.14.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/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 +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/loader/parsers/json.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/tmx.js +1 -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 +1 -1
- 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 +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/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 +36 -16
- package/dist/types/renderable/imagelayer.d.ts +1 -1
- package/dist/types/renderable/renderable.d.ts +6 -0
- package/package.json +13 -13
- package/src/renderable/imagelayer.js +10 -9
- package/src/renderable/renderable.js +18 -0
|
@@ -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
|
|
@@ -37,9 +37,9 @@ class BasePlugin {
|
|
|
37
37
|
* define the minimum required version of melonJS<br>
|
|
38
38
|
* this can be overridden by the plugin
|
|
39
39
|
* @type {string}
|
|
40
|
-
* @default "15.
|
|
40
|
+
* @default "15.15.0"
|
|
41
41
|
*/
|
|
42
|
-
this.version = "15.
|
|
42
|
+
this.version = "15.15.0";
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* a reference to the app/game that registered this plugin
|
|
@@ -1,12 +1,12 @@
|
|
|
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
|
|
6
6
|
* @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
8
|
import { renderer } from '../video/video.js';
|
|
9
|
-
import { on, ONCONTEXT_RESTORED, VIEWPORT_ONCHANGE, VIEWPORT_ONRESIZE,
|
|
9
|
+
import { on, ONCONTEXT_RESTORED, VIEWPORT_ONCHANGE, VIEWPORT_ONRESIZE, LEVEL_LOADED, off } from '../system/event.js';
|
|
10
10
|
import pool from '../system/pooling.js';
|
|
11
11
|
import { game } from '../index.js';
|
|
12
12
|
import Sprite from './sprite.js';
|
|
@@ -130,14 +130,12 @@ class ImageLayer extends Sprite {
|
|
|
130
130
|
on(VIEWPORT_ONCHANGE, this.updateLayer, this);
|
|
131
131
|
on(VIEWPORT_ONRESIZE, this.resize, this);
|
|
132
132
|
// force a first refresh when the level is loaded
|
|
133
|
-
|
|
134
|
-
this.updateLayer(game.viewport.pos);
|
|
135
|
-
});
|
|
133
|
+
on(LEVEL_LOADED, this.updateLayer, this);
|
|
136
134
|
// in case the level is not added to the root container,
|
|
137
135
|
// the onActivateEvent call happens after the LEVEL_LOADED event
|
|
138
136
|
// so we need to force a first update
|
|
139
137
|
if (this.ancestor.root !== true) {
|
|
140
|
-
this.updateLayer(
|
|
138
|
+
this.updateLayer();
|
|
141
139
|
}
|
|
142
140
|
}
|
|
143
141
|
|
|
@@ -165,10 +163,12 @@ class ImageLayer extends Sprite {
|
|
|
165
163
|
* updateLayer function
|
|
166
164
|
* @ignore
|
|
167
165
|
*/
|
|
168
|
-
updateLayer(
|
|
166
|
+
updateLayer() {
|
|
169
167
|
const rx = this.ratio.x,
|
|
170
168
|
ry = this.ratio.y;
|
|
171
169
|
|
|
170
|
+
const viewport = game.viewport;
|
|
171
|
+
|
|
172
172
|
if (rx === 0 && ry === 0) {
|
|
173
173
|
// static image
|
|
174
174
|
return;
|
|
@@ -176,8 +176,8 @@ class ImageLayer extends Sprite {
|
|
|
176
176
|
|
|
177
177
|
const width = this.width,
|
|
178
178
|
height = this.height,
|
|
179
|
-
bw =
|
|
180
|
-
bh =
|
|
179
|
+
bw = viewport.bounds.width,
|
|
180
|
+
bh = viewport.bounds.height,
|
|
181
181
|
ax = this.anchorPoint.x,
|
|
182
182
|
ay = this.anchorPoint.y,
|
|
183
183
|
|
|
@@ -187,8 +187,8 @@ class ImageLayer extends Sprite {
|
|
|
187
187
|
* See https://github.com/melonjs/melonJS/issues/741#issuecomment-138431532
|
|
188
188
|
* for a thorough description of how this works.
|
|
189
189
|
*/
|
|
190
|
-
x = ax * (rx - 1) * (bw -
|
|
191
|
-
y = ay * (ry - 1) * (bh -
|
|
190
|
+
x = ax * (rx - 1) * (bw - viewport.width) + this.offset.x - rx * viewport.pos.x,
|
|
191
|
+
y = ay * (ry - 1) * (bh - viewport.height) + this.offset.y - ry * viewport.pos.y;
|
|
192
192
|
|
|
193
193
|
|
|
194
194
|
// Repeat horizontally; start drawing from left boundary
|
|
@@ -269,6 +269,7 @@ class ImageLayer extends Sprite {
|
|
|
269
269
|
// cancel all event subscriptions
|
|
270
270
|
off(VIEWPORT_ONCHANGE, this.updateLayer);
|
|
271
271
|
off(VIEWPORT_ONRESIZE, this.resize);
|
|
272
|
+
off(LEVEL_LOADED, this.updateLayer);
|
|
272
273
|
}
|
|
273
274
|
|
|
274
275
|
/**
|
|
@@ -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
|
|
@@ -265,6 +265,9 @@ class Renderable extends Rect {
|
|
|
265
265
|
// viewport flag
|
|
266
266
|
this._inViewport = false;
|
|
267
267
|
|
|
268
|
+
// cache value for the parentApp
|
|
269
|
+
this._parentApp = undefined;
|
|
270
|
+
|
|
268
271
|
// renderable cache tint value used by the getter/setter
|
|
269
272
|
this._tint = pool.pull("Color", 255, 255, 255, 1.0);
|
|
270
273
|
|
|
@@ -272,6 +275,20 @@ class Renderable extends Rect {
|
|
|
272
275
|
this.setOpacity(1.0);
|
|
273
276
|
}
|
|
274
277
|
|
|
278
|
+
/**
|
|
279
|
+
* returns the parent application (or game) to which this renderable is attached to
|
|
280
|
+
* @return {Application} the parent application or undefined if not attached to any container/app
|
|
281
|
+
*/
|
|
282
|
+
get parentApp() {
|
|
283
|
+
if (typeof this._parentApp === "undefined") {
|
|
284
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getRootAncestor === "function") {
|
|
285
|
+
// the `app` property is only defined in the world "root" container
|
|
286
|
+
this._parentApp = this.ancestor.getRootAncestor().app;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return this._parentApp;
|
|
290
|
+
}
|
|
291
|
+
|
|
275
292
|
/**
|
|
276
293
|
* Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
|
|
277
294
|
* @see Renderable#floating
|
|
@@ -797,6 +814,7 @@ class Renderable extends Rect {
|
|
|
797
814
|
}
|
|
798
815
|
|
|
799
816
|
this.ancestor = undefined;
|
|
817
|
+
this._parentApp = undefined;
|
|
800
818
|
|
|
801
819
|
// destroy the physic body if defined and is a builtin body object
|
|
802
820
|
if ((typeof this.body !== "undefined") && (typeof this.body.destroy === "function")) {
|