melonjs 14.4.0 → 14.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -55
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/arraymultimap.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/_virtual/index2.js +1 -1
- package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/setmultimap.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 +4 -4
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +43 -9
- package/dist/melonjs.mjs/geometries/ellipse.js +2 -3
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +18 -42
- package/dist/melonjs.mjs/geometries/point.js +1 -6
- package/dist/melonjs.mjs/geometries/poly.js +2 -5
- package/dist/melonjs.mjs/geometries/rectangle.js +13 -9
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +8 -6
- package/dist/melonjs.mjs/input/gamepad.js +10 -16
- 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 +2 -16
- 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 +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -8
- 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 +8 -4
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +5 -5
- 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 +24 -0
- package/dist/melonjs.mjs/loader/loader.js +331 -716
- package/dist/melonjs.mjs/loader/loadingscreen.js +4 -4
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parser.js +281 -0
- package/dist/melonjs.mjs/loader/settings.js +91 -0
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +7 -9
- package/dist/melonjs.mjs/math/matrix3.js +18 -21
- package/dist/melonjs.mjs/math/observable_vector2.js +3 -3
- package/dist/melonjs.mjs/math/observable_vector3.js +3 -4
- package/dist/melonjs.mjs/math/vector2.js +3 -3
- package/dist/melonjs.mjs/math/vector3.js +3 -4
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.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 +3 -3
- 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 +18 -14
- package/dist/melonjs.mjs/physics/bounds.js +18 -70
- 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 +25 -19
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +7 -1
- 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 +126 -105
- package/dist/melonjs.mjs/renderable/sprite.js +33 -54
- 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 +2 -2
- 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 +8 -18
- 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 +66 -8
- 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 +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 +2 -2
- package/dist/melonjs.mjs/utils/utils.js +2 -4
- 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 +10 -9
- package/dist/melonjs.mjs/video/texture/cache.js +3 -3
- 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 +2 -2
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +235 -0
- package/{src/video/webgl → dist/melonjs.mjs/video/webgl/compositors}/webgl_compositor.js +28 -205
- package/dist/melonjs.mjs/video/webgl/glshader.js +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_compositor.js +2 -2
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +2 -2
- package/dist/melonjs.module.js +17844 -17809
- package/dist/types/entity/entity.d.ts +2 -2
- package/dist/types/geometries/path2d.d.ts +5 -31
- package/dist/types/geometries/point.d.ts +2 -7
- package/dist/types/geometries/poly.d.ts +0 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/loader/cache.d.ts +7 -0
- package/dist/types/loader/loader.d.ts +166 -181
- package/dist/types/loader/parser.d.ts +41 -0
- package/dist/types/loader/settings.d.ts +57 -0
- package/dist/types/particles/emitter.d.ts +4 -4
- package/dist/types/physics/bounds.d.ts +29 -84
- package/dist/types/renderable/container.d.ts +0 -11
- package/dist/types/renderable/renderable.d.ts +37 -31
- package/dist/types/renderable/sprite.d.ts +3 -3
- package/dist/types/state/state.d.ts +1 -1
- package/dist/types/system/pooling.d.ts +2 -2
- package/dist/types/video/renderer.d.ts +1 -1
- package/dist/types/video/webgl/compositors/compositor.d.ts +101 -0
- package/dist/types/video/webgl/compositors/webgl_compositor.d.ts +86 -0
- package/dist/types/video/webgl/webgl_compositor.d.ts +2 -3
- package/dist/types/video/webgl/webgl_renderer.d.ts +1 -1
- package/package.json +16 -15
- package/src/audio/audio.js +3 -3
- package/src/entity/entity.js +42 -8
- package/src/geometries/ellipse.js +1 -2
- package/src/geometries/path2d.js +17 -41
- package/src/geometries/point.js +0 -5
- package/src/geometries/poly.js +1 -4
- package/src/geometries/rectangle.js +12 -8
- package/src/index.js +2 -2
- package/src/input/gamepad.js +9 -15
- package/src/input/pointerevent.js +1 -15
- package/src/level/level.js +2 -2
- package/src/level/tiled/TMXLayer.js +0 -7
- package/src/level/tiled/TMXTileMap.js +7 -3
- package/src/level/tiled/TMXTileset.js +4 -4
- package/src/loader/cache.js +16 -0
- package/src/loader/loader.js +339 -711
- package/src/loader/loadingscreen.js +3 -3
- package/src/loader/parser.js +279 -0
- package/src/loader/settings.js +85 -0
- package/src/math/matrix2.js +6 -8
- package/src/math/matrix3.js +17 -20
- package/src/math/observable_vector2.js +2 -2
- package/src/math/observable_vector3.js +2 -3
- package/src/math/vector2.js +2 -2
- package/src/math/vector3.js +2 -3
- package/src/particles/emitter.js +2 -2
- package/src/physics/body.js +17 -13
- package/src/physics/bounds.js +17 -69
- package/src/renderable/container.js +24 -18
- package/src/renderable/imagelayer.js +6 -0
- package/src/renderable/renderable.js +125 -104
- package/src/renderable/sprite.js +32 -53
- package/src/state/state.js +1 -1
- package/src/system/pooling.js +7 -17
- package/src/text/bitmaptext.js +65 -7
- package/src/utils/string.js +1 -1
- package/src/utils/utils.js +1 -3
- package/src/video/texture/atlas.js +9 -8
- package/src/video/texture/cache.js +2 -2
- package/src/video/video.js +1 -1
- package/src/video/webgl/compositors/compositor.js +227 -0
- package/src/video/webgl/compositors/webgl_compositor.js +300 -0
- package/src/video/webgl/webgl_renderer.js +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -35,14 +35,14 @@ class ObjectPool {
|
|
|
35
35
|
* @param {boolean} [recycling=false] - enables object recycling for the specified class
|
|
36
36
|
* @example
|
|
37
37
|
* // implement CherryEntity
|
|
38
|
-
* class
|
|
38
|
+
* class Cherry extends Sprite {
|
|
39
39
|
* onResetEvent() {
|
|
40
40
|
* // reset object mutable properties
|
|
41
41
|
* this.lifeBar = 100;
|
|
42
42
|
* }
|
|
43
43
|
* };
|
|
44
44
|
* // add our users defined entities in the object pool and enable object recycling
|
|
45
|
-
* me.pool.register("
|
|
45
|
+
* me.pool.register("cherrysprite", Cherry, true);
|
|
46
46
|
*/
|
|
47
47
|
register(className, classObj, recycling = false) {
|
|
48
48
|
if (typeof (classObj) !== "undefined") {
|
|
@@ -76,11 +76,7 @@ class ObjectPool {
|
|
|
76
76
|
* me.game.world.removeChild(enemy);
|
|
77
77
|
* me.game.world.removeChild(bullet);
|
|
78
78
|
*/
|
|
79
|
-
pull(name) {
|
|
80
|
-
var args = new Array(arguments.length);
|
|
81
|
-
for (var i = 0; i < arguments.length; i++) {
|
|
82
|
-
args[i] = arguments[i];
|
|
83
|
-
}
|
|
79
|
+
pull(name, ...args) {
|
|
84
80
|
var className = this.objectClass[name];
|
|
85
81
|
if (className) {
|
|
86
82
|
var proto = className["class"],
|
|
@@ -88,18 +84,12 @@ class ObjectPool {
|
|
|
88
84
|
obj;
|
|
89
85
|
|
|
90
86
|
if (poolArray && ((obj = poolArray.pop()))) {
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
// call the object onResetEvent function if defined
|
|
94
|
-
if (typeof(obj.onResetEvent) === "function") {
|
|
95
|
-
obj.onResetEvent.apply(obj, args);
|
|
96
|
-
}
|
|
87
|
+
// poolable object must implement a `onResetEvent` method
|
|
88
|
+
obj.onResetEvent.apply(obj, args);
|
|
97
89
|
this.instance_counter--;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
90
|
+
} else {
|
|
100
91
|
// create a new instance
|
|
101
|
-
|
|
102
|
-
obj = new (proto.bind.apply(proto, args))();
|
|
92
|
+
obj = new (proto.bind.apply(proto, [ proto, ...args ]))();
|
|
103
93
|
if (poolArray) {
|
|
104
94
|
obj.className = name;
|
|
105
95
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import Color from '../math/color.js';
|
|
9
9
|
import pool from '../system/pooling.js';
|
|
10
|
-
import
|
|
10
|
+
import { getImage, getBinary } from '../loader/loader.js';
|
|
11
11
|
import Renderable from '../renderable/renderable.js';
|
|
12
12
|
import TextMetrics from './textmetrics.js';
|
|
13
13
|
|
|
@@ -102,7 +102,7 @@ import TextMetrics from './textmetrics.js';
|
|
|
102
102
|
* font image
|
|
103
103
|
* @private
|
|
104
104
|
*/
|
|
105
|
-
this.fontImage = (typeof settings.font === "object") ? settings.font :
|
|
105
|
+
this.fontImage = (typeof settings.font === "object") ? settings.font : getImage(settings.font);
|
|
106
106
|
|
|
107
107
|
if (typeof settings.fontData !== "string") {
|
|
108
108
|
/**
|
|
@@ -110,11 +110,11 @@ import TextMetrics from './textmetrics.js';
|
|
|
110
110
|
* @private
|
|
111
111
|
*/
|
|
112
112
|
// use settings.font to retreive the data from the loader
|
|
113
|
-
this.fontData = pool.pull("BitmapTextData",
|
|
113
|
+
this.fontData = pool.pull("BitmapTextData", getBinary(settings.font));
|
|
114
114
|
} else {
|
|
115
115
|
this.fontData = pool.pull("BitmapTextData",
|
|
116
116
|
// if starting/includes "info face" the whole data string was passed as parameter
|
|
117
|
-
(settings.fontData.includes("info face")) ? settings.fontData :
|
|
117
|
+
(settings.fontData.includes("info face")) ? settings.fontData : getBinary(settings.fontData)
|
|
118
118
|
);
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -183,11 +183,70 @@ import TextMetrics from './textmetrics.js';
|
|
|
183
183
|
this._text = this.metrics.wordWrap(this._text, this.wordWrapWidth);
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
this.
|
|
186
|
+
this.updateBounds();
|
|
187
187
|
|
|
188
188
|
return this;
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
/**
|
|
192
|
+
* update the bounding box for this Bitmap Text.
|
|
193
|
+
* @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates
|
|
194
|
+
* @returns {Bounds} this Bitmap Text bounding box Rectangle object
|
|
195
|
+
*/
|
|
196
|
+
updateBounds(absolute = true) {
|
|
197
|
+
var bounds = this.getBounds();
|
|
198
|
+
|
|
199
|
+
bounds.clear();
|
|
200
|
+
|
|
201
|
+
if (typeof this.metrics !== "undefined") {
|
|
202
|
+
var ax, ay;
|
|
203
|
+
|
|
204
|
+
bounds.addBounds(this.metrics.measureText(this._text));
|
|
205
|
+
|
|
206
|
+
switch (this.textAlign) {
|
|
207
|
+
case "right":
|
|
208
|
+
ax = this.metrics.width * 1.0;
|
|
209
|
+
break;
|
|
210
|
+
|
|
211
|
+
case "center":
|
|
212
|
+
ax = this.metrics.width * 0.5;
|
|
213
|
+
break;
|
|
214
|
+
|
|
215
|
+
default :
|
|
216
|
+
ax = this.metrics.width * 0.0;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// adjust y pos based on alignment value
|
|
221
|
+
switch (this.textBaseline) {
|
|
222
|
+
case "middle":
|
|
223
|
+
ay = this.metrics.height * 0.5;
|
|
224
|
+
break;
|
|
225
|
+
|
|
226
|
+
case "ideographic":
|
|
227
|
+
case "alphabetic":
|
|
228
|
+
case "bottom":
|
|
229
|
+
ay = this.metrics.height * 1.0;
|
|
230
|
+
break;
|
|
231
|
+
|
|
232
|
+
default :
|
|
233
|
+
ay = this.metrics.height * 0.0;
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// translate the bounds accordingly
|
|
238
|
+
bounds.translate(ax, ay);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (absolute === true) {
|
|
242
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.addChild === "function" && this.floating !== true) {
|
|
243
|
+
bounds.translate(this.ancestor.getAbsolutePosition());
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
return bounds;
|
|
248
|
+
}
|
|
249
|
+
|
|
191
250
|
/**
|
|
192
251
|
* defines the color used to tint the bitmap text
|
|
193
252
|
* @public
|
|
@@ -214,9 +273,8 @@ import TextMetrics from './textmetrics.js';
|
|
|
214
273
|
resize(scale) {
|
|
215
274
|
this.fontScale.set(scale, scale);
|
|
216
275
|
|
|
217
|
-
this.
|
|
276
|
+
this.updateBounds();
|
|
218
277
|
|
|
219
|
-
// clear the cache text to recalculate bounds
|
|
220
278
|
this.isDirty = true;
|
|
221
279
|
|
|
222
280
|
return this;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -34,7 +34,7 @@ function isNumeric(str) {
|
|
|
34
34
|
if (typeof str === "string") {
|
|
35
35
|
str = str.trim();
|
|
36
36
|
}
|
|
37
|
-
return !isNaN(str) &&
|
|
37
|
+
return !isNaN(str) && /^[+-]?(\d+(\.\d+)?|\.\d+)$/.test(str);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -107,9 +107,7 @@ var utils = {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
// parse the url
|
|
110
|
-
url.slice(1).split("&").filter((value) => {
|
|
111
|
-
return (value !== "");
|
|
112
|
-
}).forEach((value) => {
|
|
110
|
+
url.slice(1).split("&").filter((value) => value !== "").forEach((value) => {
|
|
113
111
|
var kv = value.split("=");
|
|
114
112
|
var k = kv.shift();
|
|
115
113
|
var v = kv.join("=");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -11,7 +11,7 @@ import TextureCache from './cache.js';
|
|
|
11
11
|
import Sprite from '../../renderable/sprite.js';
|
|
12
12
|
import { renderer } from '../video.js';
|
|
13
13
|
import pool from '../../system/pooling.js';
|
|
14
|
-
import
|
|
14
|
+
import { getImage } from '../../loader/loader.js';
|
|
15
15
|
import { ETA } from '../../math/math.js';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -105,7 +105,7 @@ class TextureAtlas {
|
|
|
105
105
|
// set the texture
|
|
106
106
|
if (typeof(src) === "undefined") {
|
|
107
107
|
// get the texture name from the atlas meta data
|
|
108
|
-
var image =
|
|
108
|
+
var image = getImage(atlas.meta.image);
|
|
109
109
|
if (!image) {
|
|
110
110
|
throw new Error(
|
|
111
111
|
"Atlas texture '" + image + "' not found"
|
|
@@ -113,7 +113,7 @@ class TextureAtlas {
|
|
|
113
113
|
}
|
|
114
114
|
this.sources.set(atlas.meta.image, image);
|
|
115
115
|
} else {
|
|
116
|
-
this.sources.set(atlas.meta.image || "default", typeof src === "string" ?
|
|
116
|
+
this.sources.set(atlas.meta.image || "default", typeof src === "string" ? getImage(src) : src);
|
|
117
117
|
}
|
|
118
118
|
this.repeat = "no-repeat";
|
|
119
119
|
}
|
|
@@ -127,13 +127,13 @@ class TextureAtlas {
|
|
|
127
127
|
}
|
|
128
128
|
this.format = "ShoeBox";
|
|
129
129
|
this.repeat = "no-repeat";
|
|
130
|
-
this.sources.set("default", typeof src === "string" ?
|
|
130
|
+
this.sources.set("default", typeof src === "string" ? getImage(src) : src);
|
|
131
131
|
}
|
|
132
132
|
// Internal texture atlas
|
|
133
133
|
else if (atlas.meta.app.includes("melonJS")) {
|
|
134
134
|
this.format = "melonJS";
|
|
135
135
|
this.repeat = atlas.meta.repeat || "no-repeat";
|
|
136
|
-
this.sources.set("default", typeof src === "string" ?
|
|
136
|
+
this.sources.set("default", typeof src === "string" ? getImage(src) : src);
|
|
137
137
|
}
|
|
138
138
|
// initialize the atlas
|
|
139
139
|
this.atlases.set(atlas.meta.image || "default", this.parse(atlas));
|
|
@@ -147,7 +147,7 @@ class TextureAtlas {
|
|
|
147
147
|
|
|
148
148
|
if (typeof(src) !== "undefined") {
|
|
149
149
|
// overwrite if specified
|
|
150
|
-
atlas.image = typeof src === "string" ?
|
|
150
|
+
atlas.image = typeof src === "string" ? getImage(src) : src;
|
|
151
151
|
}
|
|
152
152
|
// initialize the atlas
|
|
153
153
|
this.atlases.set("default", this.parseFromSpriteSheet(atlas));
|
|
@@ -353,12 +353,13 @@ class TextureAtlas {
|
|
|
353
353
|
region = this.getAtlas(atlas)[name];
|
|
354
354
|
} else {
|
|
355
355
|
// look for the given region in each existing atlas
|
|
356
|
-
this.atlases.
|
|
356
|
+
for (let atlas of this.atlases.values()) {
|
|
357
357
|
if (typeof atlas[name] !== "undefined") {
|
|
358
358
|
// there should be only one
|
|
359
359
|
region = atlas[name];
|
|
360
|
+
break;
|
|
360
361
|
}
|
|
361
|
-
}
|
|
362
|
+
}
|
|
362
363
|
}
|
|
363
364
|
return region;
|
|
364
365
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -64,8 +64,8 @@ class TextureCache {
|
|
|
64
64
|
} else {
|
|
65
65
|
// manage cases where a specific atlas is specified
|
|
66
66
|
this.cache.forEach((value, key) => {
|
|
67
|
-
var _atlas = value.getAtlas();
|
|
68
|
-
if (key === image && _atlas
|
|
67
|
+
var _atlas = value.getAtlas()[0];
|
|
68
|
+
if (key === image && _atlas.width === atlas.framewidth && _atlas.height === atlas.frameheight) {
|
|
69
69
|
entry = value;
|
|
70
70
|
}
|
|
71
71
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.5.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -94,7 +94,7 @@ function init(width, height, options) {
|
|
|
94
94
|
// initialize the default game Application with the given options
|
|
95
95
|
game.init(width, height, options);
|
|
96
96
|
} catch (e) {
|
|
97
|
-
console(e.message);
|
|
97
|
+
console.log(e.message);
|
|
98
98
|
// me.video.init() historically returns false if failing at creating/using a HTML5 canvas
|
|
99
99
|
return false;
|
|
100
100
|
}
|